smock 0.1.217 → 0.1.218
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Gemfile.lock +1 -1
- data/app/assets/javascripts/modules/category_dropdown.coffee +0 -1
- data/examples/pages/homepage.html +1 -0
- data/node_modules/exports-loader/.npmignore +1 -0
- data/node_modules/exports-loader/README.md +18 -0
- data/node_modules/exports-loader/index.js +36 -0
- data/node_modules/exports-loader/node_modules/loader-utils/.npmignore +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/README.md +129 -0
- data/node_modules/exports-loader/node_modules/loader-utils/index.js +229 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/.bin/json5 +41 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/.npmignore +0 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/LICENCE +23 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/README.md +214 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/big.js +1026 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/big.min.js +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/doc/bigAPI.html +1026 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/package.json +61 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/perf/big-vs-bigdecimal.html +678 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/perf/bigtime.js +324 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/perf/lib/bigdecimal_GWT/BigDecTest.class +0 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/perf/lib/bigdecimal_GWT/BigDecTest.java +60 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/perf/lib/bigdecimal_GWT/LICENCE.txt +205 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/perf/lib/bigdecimal_GWT/bigdecimal.js +592 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/perf/lib/bigdecimal_GWT/bugs.js +53 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/perf/lib/bigdecimal_ICU4J/BigDecimal-all-last.js +5724 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/perf/lib/bigdecimal_ICU4J/BigDecimal-all-last.min.js +61 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/perf/lib/bigdecimal_ICU4J/LICENCE.txt +30 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/test/abs.js +555 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/test/browser/big-vs-number.html +249 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/test/browser/every-test.html +66 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/test/browser/single-test.html +26 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/test/cmp.js +4305 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/test/div.js +9978 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/test/every-test.js +31 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/test/minus.js +1793 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/test/mod.js +1838 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/test/plus.js +1916 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/test/pow.js +1233 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/test/round.js +5173 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/test/sqrt.js +788 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/test/times.js +2159 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/test/toExponential.js +472 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/test/toFixed.js +1030 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/test/toPrecision.js +508 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/test/toString.js +1068 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/.npmignore +4 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/CHANGELOG.md +56 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/Makefile +27 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/README.md +173 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/lib/cli.js +41 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/lib/json5.js +462 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/lib/require.js +18 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/package.json +66 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/package.json5 +24 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/arrays/empty-array.json +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/arrays/leading-comma-array.js +3 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/arrays/lone-trailing-comma-array.js +3 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/arrays/no-comma-array.txt +4 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/arrays/regular-array.json +5 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/arrays/trailing-comma-array.json5 +3 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/block-comment-following-array-element.json5 +6 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/block-comment-following-top-level-value.json5 +5 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/block-comment-in-string.json +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/block-comment-preceding-top-level-value.json5 +5 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/block-comment-with-asterisks.json5 +7 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/inline-comment-following-array-element.json5 +3 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/inline-comment-following-top-level-value.json5 +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/inline-comment-in-string.json +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/inline-comment-preceding-top-level-value.json5 +2 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/top-level-block-comment.txt +4 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/top-level-inline-comment.txt +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/unterminated-block-comment.txt +5 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/misc/empty.txt +0 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/misc/npm-package.json +106 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/misc/npm-package.json5 +106 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/misc/readme-example.json5 +23 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/decimal-literal-with-exponent.json +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/decimal-literal-with-negative-exponent.json +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/decimal-literal.json +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/hexadecimal-literal-with-lowercase-letter.json5 +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/hexadecimal-literal-with-no-digits.txt +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/hexadecimal-literal-with-uppercase-x.json5 +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/hexadecimal-literal.json5 +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/leading-decimal-point.json5 +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/negative-decimal-literal.json +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/negative-hexadecimal-literal.json5 +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/negative-leading-decimal-point.json5 +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/noctal-literal-with-octal-digit-after-leading-zero.js +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/noctal-literal.js +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/octal-literal.txt +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/trailing-decimal-point-with-exponent.js +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/trailing-decimal-point.js +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/zero-literal.json +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/objects/empty-object.json +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/objects/illegal-unquoted-key-number.txt +3 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/objects/illegal-unquoted-key-symbol.txt +3 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/objects/leading-comma-object.txt +3 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/objects/lone-trailing-comma-object.txt +3 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/objects/no-comma-object.txt +4 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/objects/reserved-unquoted-key.json5 +3 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/objects/single-quoted-key.json5 +3 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/objects/trailing-comma-object.json5 +3 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/objects/unquoted-keys.json5 +8 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/strings/escaped-single-quoted-string.json5 +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/strings/multi-line-string.json5 +2 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/strings/single-quoted-string.json5 +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/todo/unicode-escaped-unquoted-key.json5 +3 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/todo/unicode-unquoted-key.json5 +3 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse.js +74 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/readme.md +23 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/require.js +18 -0
- data/node_modules/exports-loader/node_modules/loader-utils/package.json +54 -0
- data/node_modules/exports-loader/node_modules/loader-utils/test/index.js +62 -0
- data/node_modules/exports-loader/node_modules/source-map/.npmignore +2 -0
- data/node_modules/exports-loader/node_modules/source-map/.travis.yml +4 -0
- data/node_modules/exports-loader/node_modules/source-map/CHANGELOG.md +194 -0
- data/node_modules/exports-loader/node_modules/source-map/LICENSE +28 -0
- data/node_modules/exports-loader/node_modules/source-map/Makefile.dryice.js +166 -0
- data/node_modules/exports-loader/node_modules/source-map/README.md +475 -0
- data/node_modules/exports-loader/node_modules/source-map/build/assert-shim.js +56 -0
- data/node_modules/exports-loader/node_modules/source-map/build/mini-require.js +152 -0
- data/node_modules/exports-loader/node_modules/source-map/build/prefix-source-map.jsm +20 -0
- data/node_modules/exports-loader/node_modules/source-map/build/prefix-utils.jsm +18 -0
- data/node_modules/exports-loader/node_modules/source-map/build/suffix-browser.js +8 -0
- data/node_modules/exports-loader/node_modules/source-map/build/suffix-source-map.jsm +6 -0
- data/node_modules/exports-loader/node_modules/source-map/build/suffix-utils.jsm +21 -0
- data/node_modules/exports-loader/node_modules/source-map/build/test-prefix.js +8 -0
- data/node_modules/exports-loader/node_modules/source-map/build/test-suffix.js +3 -0
- data/node_modules/exports-loader/node_modules/source-map/lib/source-map.js +8 -0
- data/node_modules/exports-loader/node_modules/source-map/lib/source-map/array-set.js +97 -0
- data/node_modules/exports-loader/node_modules/source-map/lib/source-map/base64-vlq.js +142 -0
- data/node_modules/exports-loader/node_modules/source-map/lib/source-map/base64.js +42 -0
- data/node_modules/exports-loader/node_modules/source-map/lib/source-map/binary-search.js +80 -0
- data/node_modules/exports-loader/node_modules/source-map/lib/source-map/mapping-list.js +86 -0
- data/node_modules/exports-loader/node_modules/source-map/lib/source-map/source-map-consumer.js +575 -0
- data/node_modules/exports-loader/node_modules/source-map/lib/source-map/source-map-generator.js +400 -0
- data/node_modules/exports-loader/node_modules/source-map/lib/source-map/source-node.js +414 -0
- data/node_modules/exports-loader/node_modules/source-map/lib/source-map/util.js +319 -0
- data/node_modules/exports-loader/node_modules/source-map/node_modules/amdefine/LICENSE +58 -0
- data/node_modules/exports-loader/node_modules/source-map/node_modules/amdefine/README.md +171 -0
- data/node_modules/exports-loader/node_modules/source-map/node_modules/amdefine/amdefine.js +299 -0
- data/node_modules/exports-loader/node_modules/source-map/node_modules/amdefine/intercept.js +36 -0
- data/node_modules/exports-loader/node_modules/source-map/node_modules/amdefine/package.json +37 -0
- data/node_modules/exports-loader/node_modules/source-map/package.json +186 -0
- data/node_modules/exports-loader/node_modules/source-map/test/run-tests.js +62 -0
- data/node_modules/exports-loader/node_modules/source-map/test/source-map/test-api.js +26 -0
- data/node_modules/exports-loader/node_modules/source-map/test/source-map/test-array-set.js +104 -0
- data/node_modules/exports-loader/node_modules/source-map/test/source-map/test-base64-vlq.js +23 -0
- data/node_modules/exports-loader/node_modules/source-map/test/source-map/test-base64.js +35 -0
- data/node_modules/exports-loader/node_modules/source-map/test/source-map/test-binary-search.js +54 -0
- data/node_modules/exports-loader/node_modules/source-map/test/source-map/test-dog-fooding.js +84 -0
- data/node_modules/exports-loader/node_modules/source-map/test/source-map/test-source-map-consumer.js +702 -0
- data/node_modules/exports-loader/node_modules/source-map/test/source-map/test-source-map-generator.js +679 -0
- data/node_modules/exports-loader/node_modules/source-map/test/source-map/test-source-node.js +612 -0
- data/node_modules/exports-loader/node_modules/source-map/test/source-map/test-util.js +216 -0
- data/node_modules/exports-loader/node_modules/source-map/test/source-map/util.js +192 -0
- data/node_modules/exports-loader/package.json +46 -0
- data/node_modules/imports-loader/.npmignore +1 -0
- data/node_modules/imports-loader/README.md +17 -0
- data/node_modules/imports-loader/index.js +46 -0
- data/node_modules/imports-loader/node_modules/loader-utils/.npmignore +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/README.md +129 -0
- data/node_modules/imports-loader/node_modules/loader-utils/index.js +229 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/.bin/json5 +41 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/.npmignore +0 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/LICENCE +23 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/README.md +214 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/big.js +1026 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/big.min.js +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/doc/bigAPI.html +1026 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/package.json +61 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/perf/big-vs-bigdecimal.html +678 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/perf/bigtime.js +324 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/perf/lib/bigdecimal_GWT/BigDecTest.class +0 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/perf/lib/bigdecimal_GWT/BigDecTest.java +60 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/perf/lib/bigdecimal_GWT/LICENCE.txt +205 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/perf/lib/bigdecimal_GWT/bigdecimal.js +592 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/perf/lib/bigdecimal_GWT/bugs.js +53 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/perf/lib/bigdecimal_ICU4J/BigDecimal-all-last.js +5724 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/perf/lib/bigdecimal_ICU4J/BigDecimal-all-last.min.js +61 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/perf/lib/bigdecimal_ICU4J/LICENCE.txt +30 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/test/abs.js +555 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/test/browser/big-vs-number.html +249 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/test/browser/every-test.html +66 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/test/browser/single-test.html +26 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/test/cmp.js +4305 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/test/div.js +9978 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/test/every-test.js +31 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/test/minus.js +1793 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/test/mod.js +1838 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/test/plus.js +1916 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/test/pow.js +1233 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/test/round.js +5173 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/test/sqrt.js +788 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/test/times.js +2159 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/test/toExponential.js +472 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/test/toFixed.js +1030 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/test/toPrecision.js +508 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/test/toString.js +1068 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/.npmignore +4 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/CHANGELOG.md +56 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/Makefile +27 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/README.md +173 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/lib/cli.js +41 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/lib/json5.js +462 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/lib/require.js +18 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/package.json +66 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/package.json5 +24 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/arrays/empty-array.json +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/arrays/leading-comma-array.js +3 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/arrays/lone-trailing-comma-array.js +3 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/arrays/no-comma-array.txt +4 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/arrays/regular-array.json +5 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/arrays/trailing-comma-array.json5 +3 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/block-comment-following-array-element.json5 +6 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/block-comment-following-top-level-value.json5 +5 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/block-comment-in-string.json +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/block-comment-preceding-top-level-value.json5 +5 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/block-comment-with-asterisks.json5 +7 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/inline-comment-following-array-element.json5 +3 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/inline-comment-following-top-level-value.json5 +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/inline-comment-in-string.json +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/inline-comment-preceding-top-level-value.json5 +2 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/top-level-block-comment.txt +4 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/top-level-inline-comment.txt +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/unterminated-block-comment.txt +5 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/misc/empty.txt +0 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/misc/npm-package.json +106 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/misc/npm-package.json5 +106 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/misc/readme-example.json5 +23 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/decimal-literal-with-exponent.json +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/decimal-literal-with-negative-exponent.json +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/decimal-literal.json +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/hexadecimal-literal-with-lowercase-letter.json5 +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/hexadecimal-literal-with-no-digits.txt +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/hexadecimal-literal-with-uppercase-x.json5 +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/hexadecimal-literal.json5 +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/leading-decimal-point.json5 +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/negative-decimal-literal.json +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/negative-hexadecimal-literal.json5 +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/negative-leading-decimal-point.json5 +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/noctal-literal-with-octal-digit-after-leading-zero.js +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/noctal-literal.js +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/octal-literal.txt +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/trailing-decimal-point-with-exponent.js +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/trailing-decimal-point.js +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/zero-literal.json +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/objects/empty-object.json +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/objects/illegal-unquoted-key-number.txt +3 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/objects/illegal-unquoted-key-symbol.txt +3 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/objects/leading-comma-object.txt +3 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/objects/lone-trailing-comma-object.txt +3 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/objects/no-comma-object.txt +4 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/objects/reserved-unquoted-key.json5 +3 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/objects/single-quoted-key.json5 +3 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/objects/trailing-comma-object.json5 +3 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/objects/unquoted-keys.json5 +8 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/strings/escaped-single-quoted-string.json5 +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/strings/multi-line-string.json5 +2 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/strings/single-quoted-string.json5 +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/todo/unicode-escaped-unquoted-key.json5 +3 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/todo/unicode-unquoted-key.json5 +3 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse.js +74 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/readme.md +23 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/require.js +18 -0
- data/node_modules/imports-loader/node_modules/loader-utils/package.json +53 -0
- data/node_modules/imports-loader/node_modules/loader-utils/test/index.js +62 -0
- data/node_modules/imports-loader/node_modules/source-map/.npmignore +2 -0
- data/node_modules/imports-loader/node_modules/source-map/.travis.yml +4 -0
- data/node_modules/imports-loader/node_modules/source-map/CHANGELOG.md +194 -0
- data/node_modules/imports-loader/node_modules/source-map/LICENSE +28 -0
- data/node_modules/imports-loader/node_modules/source-map/Makefile.dryice.js +166 -0
- data/node_modules/imports-loader/node_modules/source-map/README.md +475 -0
- data/node_modules/imports-loader/node_modules/source-map/build/assert-shim.js +56 -0
- data/node_modules/imports-loader/node_modules/source-map/build/mini-require.js +152 -0
- data/node_modules/imports-loader/node_modules/source-map/build/prefix-source-map.jsm +20 -0
- data/node_modules/imports-loader/node_modules/source-map/build/prefix-utils.jsm +18 -0
- data/node_modules/imports-loader/node_modules/source-map/build/suffix-browser.js +8 -0
- data/node_modules/imports-loader/node_modules/source-map/build/suffix-source-map.jsm +6 -0
- data/node_modules/imports-loader/node_modules/source-map/build/suffix-utils.jsm +21 -0
- data/node_modules/imports-loader/node_modules/source-map/build/test-prefix.js +8 -0
- data/node_modules/imports-loader/node_modules/source-map/build/test-suffix.js +3 -0
- data/node_modules/imports-loader/node_modules/source-map/lib/source-map.js +8 -0
- data/node_modules/imports-loader/node_modules/source-map/lib/source-map/array-set.js +97 -0
- data/node_modules/imports-loader/node_modules/source-map/lib/source-map/base64-vlq.js +142 -0
- data/node_modules/imports-loader/node_modules/source-map/lib/source-map/base64.js +42 -0
- data/node_modules/imports-loader/node_modules/source-map/lib/source-map/binary-search.js +80 -0
- data/node_modules/imports-loader/node_modules/source-map/lib/source-map/mapping-list.js +86 -0
- data/node_modules/imports-loader/node_modules/source-map/lib/source-map/source-map-consumer.js +575 -0
- data/node_modules/imports-loader/node_modules/source-map/lib/source-map/source-map-generator.js +400 -0
- data/node_modules/imports-loader/node_modules/source-map/lib/source-map/source-node.js +414 -0
- data/node_modules/imports-loader/node_modules/source-map/lib/source-map/util.js +319 -0
- data/node_modules/imports-loader/node_modules/source-map/node_modules/amdefine/LICENSE +58 -0
- data/node_modules/imports-loader/node_modules/source-map/node_modules/amdefine/README.md +171 -0
- data/node_modules/imports-loader/node_modules/source-map/node_modules/amdefine/amdefine.js +299 -0
- data/node_modules/imports-loader/node_modules/source-map/node_modules/amdefine/intercept.js +36 -0
- data/node_modules/imports-loader/node_modules/source-map/node_modules/amdefine/package.json +37 -0
- data/node_modules/imports-loader/node_modules/source-map/package.json +186 -0
- data/node_modules/imports-loader/node_modules/source-map/test/run-tests.js +62 -0
- data/node_modules/imports-loader/node_modules/source-map/test/source-map/test-api.js +26 -0
- data/node_modules/imports-loader/node_modules/source-map/test/source-map/test-array-set.js +104 -0
- data/node_modules/imports-loader/node_modules/source-map/test/source-map/test-base64-vlq.js +23 -0
- data/node_modules/imports-loader/node_modules/source-map/test/source-map/test-base64.js +35 -0
- data/node_modules/imports-loader/node_modules/source-map/test/source-map/test-binary-search.js +54 -0
- data/node_modules/imports-loader/node_modules/source-map/test/source-map/test-dog-fooding.js +84 -0
- data/node_modules/imports-loader/node_modules/source-map/test/source-map/test-source-map-consumer.js +702 -0
- data/node_modules/imports-loader/node_modules/source-map/test/source-map/test-source-map-generator.js +679 -0
- data/node_modules/imports-loader/node_modules/source-map/test/source-map/test-source-node.js +612 -0
- data/node_modules/imports-loader/node_modules/source-map/test/source-map/test-util.js +216 -0
- data/node_modules/imports-loader/node_modules/source-map/test/source-map/util.js +192 -0
- data/node_modules/imports-loader/package.json +46 -0
- data/package.json +4 -2
- data/webpack.config.js +3 -6
- metadata +312 -5
- data/app/assets/javascripts/vendor/jquery.js +0 -10346
@@ -0,0 +1,61 @@
|
|
1
|
+
{
|
2
|
+
"name": "big.js",
|
3
|
+
"description": "A small, fast, easy-to-use library for arbitrary-precision decimal arithmetic",
|
4
|
+
"version": "2.5.1",
|
5
|
+
"keywords": [
|
6
|
+
"arbitrary",
|
7
|
+
"precision",
|
8
|
+
"arithmetic",
|
9
|
+
"big",
|
10
|
+
"number",
|
11
|
+
"decimal",
|
12
|
+
"float",
|
13
|
+
"biginteger",
|
14
|
+
"bigdecimal",
|
15
|
+
"bignumber",
|
16
|
+
"bigint",
|
17
|
+
"bignum"
|
18
|
+
],
|
19
|
+
"repository": {
|
20
|
+
"type": "git",
|
21
|
+
"url": "https://github.com/MikeMcl/big.js.git"
|
22
|
+
},
|
23
|
+
"main": "./big",
|
24
|
+
"author": {
|
25
|
+
"name": "Michael Mclaughlin",
|
26
|
+
"email": "M8ch88l@gmail.com"
|
27
|
+
},
|
28
|
+
"bugs": {
|
29
|
+
"url": "https://github.com/MikeMcl/big.js/issues"
|
30
|
+
},
|
31
|
+
"engines": {
|
32
|
+
"node": "*"
|
33
|
+
},
|
34
|
+
"license": "MIT",
|
35
|
+
"scripts": {
|
36
|
+
"test": "node ./test/every-test.js",
|
37
|
+
"build": "uglifyjs -o ./big.min.js ./big.js"
|
38
|
+
},
|
39
|
+
"homepage": "https://github.com/MikeMcl/big.js",
|
40
|
+
"_id": "big.js@2.5.1",
|
41
|
+
"dist": {
|
42
|
+
"shasum": "f3dbff02b6f561edb130925bf6d5f47163b061da",
|
43
|
+
"tarball": "http://registry.npmjs.org/big.js/-/big.js-2.5.1.tgz"
|
44
|
+
},
|
45
|
+
"_from": "big.js@~2.5.1",
|
46
|
+
"_npmVersion": "1.4.6",
|
47
|
+
"_npmUser": {
|
48
|
+
"name": "mikemcl",
|
49
|
+
"email": "M8ch88l@gmail.com"
|
50
|
+
},
|
51
|
+
"maintainers": [
|
52
|
+
{
|
53
|
+
"name": "mikemcl",
|
54
|
+
"email": "M8ch88l@gmail.com"
|
55
|
+
}
|
56
|
+
],
|
57
|
+
"directories": {},
|
58
|
+
"_shasum": "f3dbff02b6f561edb130925bf6d5f47163b061da",
|
59
|
+
"_resolved": "https://registry.npmjs.org/big.js/-/big.js-2.5.1.tgz",
|
60
|
+
"readme": "ERROR: No README data found!"
|
61
|
+
}
|
@@ -0,0 +1,678 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang='en'>
|
3
|
+
<head>
|
4
|
+
<meta charset='utf-8' />
|
5
|
+
<meta name="Author" content="M Mclaughlin">
|
6
|
+
<title>Testing Big against BigDecimal</title>
|
7
|
+
<style>
|
8
|
+
body {margin: 0; padding: 0; font-family: Calibri, Arial, Sans-Serif;}
|
9
|
+
div {margin: 1em 0;}
|
10
|
+
h1, #counter {text-align: center; background-color: rgb(225, 225, 225);
|
11
|
+
margin-top: 1em; padding: 0.2em; font-size: 1.2em;}
|
12
|
+
a {color: rgb(0, 153, 255); margin: 0 0.6em;}
|
13
|
+
.links {position: fixed; bottom: 1em; right: 2em; font-size: 0.8em;}
|
14
|
+
.form, #time {width: 36em; margin: 0 auto;}
|
15
|
+
.form {text-align: left; margin-top: 1.4em;}
|
16
|
+
.random input {margin-left: 1em;}
|
17
|
+
.small {font-size: 0.9em;}
|
18
|
+
.iterations input, .left {margin-left: 1.6em;}
|
19
|
+
.info span {margin-left: 1.6em; font-size: 0.9em;}
|
20
|
+
.info {margin-top: 1.6em;}
|
21
|
+
.random input, .iterations input {margin-right: 0.3em;}
|
22
|
+
.random label, .iterations label, .bigd label {font-size: 0.9em;
|
23
|
+
margin-left: 0.1em;}
|
24
|
+
.methods label {width: 3.25em; margin-left: 0.2em; display: inline-block;}
|
25
|
+
.red {color: red; font-size: 1.1em; font-weight: bold;}
|
26
|
+
button {width: 10em; height: 2em;}
|
27
|
+
#dp, #r, #digits, #reps {margin-left: 0.8em;}
|
28
|
+
#bigint {font-style: italic; display: none;}
|
29
|
+
#gwt, #icu4j, #bd, #bigint {margin-left: 1.5em;}
|
30
|
+
#division {display: none;}
|
31
|
+
#counter {font-size: 2em; background-color: rgb(235, 235, 235);}
|
32
|
+
#time {text-align: center;}
|
33
|
+
#results {margin: 0 1.4em;}
|
34
|
+
</style>
|
35
|
+
<script src='../big.js'></script>
|
36
|
+
<script src='./lib/bigdecimal_GWT/bigdecimal.js'></script>
|
37
|
+
</head>
|
38
|
+
<body>
|
39
|
+
<h1>Testing Big against BigDecimal</h1>
|
40
|
+
|
41
|
+
<div class='form'>
|
42
|
+
|
43
|
+
<div class='methods'>
|
44
|
+
<input type='radio' id=0 name=1/><label for=0>plus</label>
|
45
|
+
<input type='radio' id=1 name=1/><label for=1>minus</label>
|
46
|
+
<input type='radio' id=2 name=1/><label for=2>times</label>
|
47
|
+
<input type='radio' id=3 name=1/><label for=3>div</label>
|
48
|
+
<input type='radio' id=4 name=1/><label for=4>mod</label>
|
49
|
+
<input type='radio' id=5 name=1/><label for=5>pow</label>
|
50
|
+
<input type='radio' id=6 name=1/><label for=6>cmp</label>
|
51
|
+
</div>
|
52
|
+
|
53
|
+
<div class='bigd'>
|
54
|
+
<span>BigDecimal:</span>
|
55
|
+
<input type='radio' name=2 id='gwt' /><label for='gwt'>GWT</label>
|
56
|
+
<input type='radio' name=2 id='icu4j' /><label for='icu4j'>ICU4J</label>
|
57
|
+
<span id='bigint'>BigInteger</span>
|
58
|
+
<span id='bd'>add</span>
|
59
|
+
</div>
|
60
|
+
|
61
|
+
<div class='random'>
|
62
|
+
Random number digits:<input type='text' id='digits' size=12 />
|
63
|
+
<input type='radio' name=3 id='fix' /><label for='fix'>Fixed</label>
|
64
|
+
<input type='radio' name=3 id='max' /><label for='max'>Max</label>
|
65
|
+
<input type='checkbox' id='int' /><label for='int'>Integers only</label>
|
66
|
+
</div>
|
67
|
+
|
68
|
+
<div id='division'>
|
69
|
+
<span>Decimal places:<input type='text' id='dp' size=9 /></span>
|
70
|
+
<span class='left'>Rounding:<select id='r'>
|
71
|
+
<option>DOWN</option>
|
72
|
+
<option>HALF_UP</option>
|
73
|
+
<option>HALF_EVEN</option>
|
74
|
+
<option>UP</option>
|
75
|
+
</select></span>
|
76
|
+
</div>
|
77
|
+
|
78
|
+
<div class='iterations'>
|
79
|
+
Iterations:<input type='text' id='reps' size=11 />
|
80
|
+
<input type='checkbox' id='show'/><label for='show'>Show all (no timing)</label>
|
81
|
+
</div>
|
82
|
+
|
83
|
+
<div class='info'>
|
84
|
+
<button id='start'>Start</button>
|
85
|
+
<span>Click a method to stop</span>
|
86
|
+
<span>Press space bar to pause/unpause</span>
|
87
|
+
</div>
|
88
|
+
|
89
|
+
</div>
|
90
|
+
|
91
|
+
<div id='counter'>0</div>
|
92
|
+
<div id='time'></div>
|
93
|
+
<div id='results'></div>
|
94
|
+
|
95
|
+
<div class='links'>
|
96
|
+
<a href='https://github.com/MikeMcl/big.js' target='_blank'>Big</a>
|
97
|
+
<a href='https://github.com/iriscouch/bigdecimal.js' target='_blank'>GWT</a>
|
98
|
+
<a href='https://github.com/dtrebbien/BigDecimal.js/tree/' target='_blank'>ICU4J</a>
|
99
|
+
</div>
|
100
|
+
|
101
|
+
<script>
|
102
|
+
|
103
|
+
var i, complete, target, reps, time, prev, limit,
|
104
|
+
maxDigits, isFixed, isIntOnly, decimalPlaces, rounding, calcTimeout,
|
105
|
+
counterTimeout, script, isGWT, BigDecimal_GWT, BigDecimal_ICU4J,
|
106
|
+
bdM, bdTotal, bnM, bnTotal,
|
107
|
+
bdMs = ['add', 'subtract', 'multiply', 'divide', 'remainder', 'pow', 'compareTo'],
|
108
|
+
bnMs = ['plus', 'minus', 'times', 'div', 'mod', 'pow', 'cmp'],
|
109
|
+
numberOfMethods = bdMs.length,
|
110
|
+
rnd = [1, 4, 6, 0],
|
111
|
+
lastRounding = 1,
|
112
|
+
pause = false,
|
113
|
+
up = true,
|
114
|
+
timingVisible = false,
|
115
|
+
showAll = false,
|
116
|
+
|
117
|
+
// EDIT DEFAULTS HERE
|
118
|
+
|
119
|
+
DEFAULT_REPS = 10000,
|
120
|
+
DEFAULT_DIGITS = 20,
|
121
|
+
DEFAULT_DECIMAL_PLACES = 20,
|
122
|
+
DEFAULT_ROUNDING = 1,
|
123
|
+
MAX_POWER = 20,
|
124
|
+
CHANCE_NEGATIVE = 0.5, // 0 (never) to 1 (always)
|
125
|
+
CHANCE_INTEGER = 0.2, // 0 (never) to 1 (always)
|
126
|
+
MAX_RANDOM_EXPONENT = 100,
|
127
|
+
PAUSE_KEY = 32, // Space-bar
|
128
|
+
ICU4J_URL = './lib/bigdecimal_ICU4J/BigDecimal-all-last.js',
|
129
|
+
|
130
|
+
//////////////////////
|
131
|
+
|
132
|
+
$ = function (id) {return document.getElementById(id)},
|
133
|
+
$INPUTS = document.getElementsByTagName('input'),
|
134
|
+
$BD = $('bd'),
|
135
|
+
$BIGINT = $('bigint'),
|
136
|
+
$DIGITS = $('digits'),
|
137
|
+
$GWT = $('gwt'),
|
138
|
+
$ICU4J = $('icu4j'),
|
139
|
+
$FIX = $('fix'),
|
140
|
+
$MAX = $('max'),
|
141
|
+
$INT = $('int'),
|
142
|
+
$DIV = $('division'),
|
143
|
+
$DP = $('dp'),
|
144
|
+
$R = $('r'),
|
145
|
+
$REPS = $('reps'),
|
146
|
+
$SHOW = $('show'),
|
147
|
+
$START = $('start'),
|
148
|
+
$COUNTER = $('counter'),
|
149
|
+
$TIME = $('time'),
|
150
|
+
$RESULTS = $('results'),
|
151
|
+
|
152
|
+
// Get random number in normal notation.
|
153
|
+
getRandom = function () {
|
154
|
+
var z,
|
155
|
+
i = 0,
|
156
|
+
// n is the number of digits - 1
|
157
|
+
n = isFixed ? maxDigits - 1 : Math.random() * (maxDigits || 1) | 0,
|
158
|
+
r = ( Math.random() * 10 | 0 ) + '';
|
159
|
+
|
160
|
+
if (n) {
|
161
|
+
|
162
|
+
if (r == '0')
|
163
|
+
r = isIntOnly ? ( ( Math.random() * 9 | 0 ) + 1 ) + '' : (z = r + '.');
|
164
|
+
|
165
|
+
for ( ; i++ < n; r += Math.random() * 10 | 0 ){}
|
166
|
+
|
167
|
+
if (!z && !isIntOnly && Math.random() > CHANCE_INTEGER) {
|
168
|
+
r = r.slice( 0, i = (Math.random() * n | 0) + 1 ) +
|
169
|
+
'.' + r.slice(i);
|
170
|
+
}
|
171
|
+
}
|
172
|
+
|
173
|
+
// Avoid division by zero error with division and modulo
|
174
|
+
if ((bdM == 'divide' || bdM == 'remainder') && parseFloat(r) === 0)
|
175
|
+
r = ( ( Math.random() * 9 | 0 ) + 1 ) + '';
|
176
|
+
|
177
|
+
return Math.random() > CHANCE_NEGATIVE ? r : '-' + r;
|
178
|
+
},
|
179
|
+
|
180
|
+
// Get random number in exponential notation (if isIntOnly is false).
|
181
|
+
// GWT BigDecimal BigInteger does not accept exponential notation.
|
182
|
+
//getRandom = function () {
|
183
|
+
// var i = 0,
|
184
|
+
// // n is the number of significant digits - 1
|
185
|
+
// n = isFixed ? maxDigits - 1 : Math.random() * (maxDigits || 1) | 0,
|
186
|
+
// r = ( ( Math.random() * 9 | 0 ) + 1 ) + '';
|
187
|
+
//
|
188
|
+
// for (; i++ < n; r += Math.random() * 10 | 0 ){}
|
189
|
+
//
|
190
|
+
// if ( !isIntOnly ) {
|
191
|
+
//
|
192
|
+
// // Add exponent.
|
193
|
+
// r += 'e' + ( Math.random() > 0.5 ? '+' : '-' ) +
|
194
|
+
// ( Math.random() * MAX_RANDOM_EXPONENT | 0 );
|
195
|
+
// }
|
196
|
+
//
|
197
|
+
// return Math.random() > CHANCE_NEGATIVE ? r : '-' + r
|
198
|
+
//},
|
199
|
+
|
200
|
+
showTimings = function () {
|
201
|
+
var i, bdS, bnS,
|
202
|
+
sp = '',
|
203
|
+
r = bnTotal < bdTotal
|
204
|
+
? (bnTotal ? bdTotal / bnTotal : bdTotal)
|
205
|
+
: (bdTotal ? bnTotal / bdTotal : bnTotal);
|
206
|
+
|
207
|
+
bdS = 'BigDecimal: ' + (bdTotal || '<1');
|
208
|
+
bnS = 'Big: ' + (bnTotal || '<1');
|
209
|
+
|
210
|
+
$TIME.innerHTML =
|
211
|
+
'No mismatches<div>' + bdS + ' ms<br>' + bnS + ' ms</div>' +
|
212
|
+
((r = parseFloat(r.toFixed(1))) > 1
|
213
|
+
? 'Big' + (bnTotal < bdTotal ? '' : 'Decimal') + ' was ' +
|
214
|
+
r + ' times faster'
|
215
|
+
: 'Times approximately equal');
|
216
|
+
},
|
217
|
+
|
218
|
+
clear = function () {
|
219
|
+
clearTimeout(calcTimeout);
|
220
|
+
clearTimeout(counterTimeout);
|
221
|
+
|
222
|
+
$COUNTER.style.textDecoration = 'none';
|
223
|
+
$COUNTER.innerHTML = '0';
|
224
|
+
$TIME.innerHTML = $RESULTS.innerHTML = '';
|
225
|
+
$START.innerHTML = 'Start';
|
226
|
+
},
|
227
|
+
|
228
|
+
begin = function () {
|
229
|
+
var i;
|
230
|
+
clear();
|
231
|
+
|
232
|
+
target = +$REPS.value;
|
233
|
+
if (!(target > 0)) return;
|
234
|
+
|
235
|
+
$START.innerHTML = 'Restart';
|
236
|
+
|
237
|
+
i = +$DIGITS.value;
|
238
|
+
$DIGITS.value = maxDigits = i && isFinite(i) ? i : DEFAULT_DIGITS;
|
239
|
+
|
240
|
+
for (i = 0; i < numberOfMethods; i++) {
|
241
|
+
if ($INPUTS[i].checked) {
|
242
|
+
bnM = bnMs[$INPUTS[i].id];
|
243
|
+
bdM = bdMs[$INPUTS[i].id];
|
244
|
+
break;
|
245
|
+
}
|
246
|
+
}
|
247
|
+
|
248
|
+
if (bdM == 'divide') {
|
249
|
+
i = +$DP.value;
|
250
|
+
$DP.value = decimalPlaces = isFinite(i) ? i : DEFAULT_DECIMAL_PLACES;
|
251
|
+
rounding = rnd[ Big.RM = $R.selectedIndex ];
|
252
|
+
Big.DP = decimalPlaces;
|
253
|
+
}
|
254
|
+
|
255
|
+
isFixed = $FIX.checked;
|
256
|
+
isIntOnly = $INT.checked;
|
257
|
+
showAll = $SHOW.checked;
|
258
|
+
|
259
|
+
BigDecimal = (isGWT = $GWT.checked)
|
260
|
+
? (isIntOnly ? BigInteger : BigDecimal_GWT)
|
261
|
+
: BigDecimal_ICU4J;
|
262
|
+
|
263
|
+
prev = limit = complete = bdTotal = bnTotal = 0;
|
264
|
+
pause = false;
|
265
|
+
|
266
|
+
reps = showAll ? 1 : 0.5;
|
267
|
+
time = +new Date();
|
268
|
+
|
269
|
+
setTimeout(updateCounter, 0);
|
270
|
+
},
|
271
|
+
|
272
|
+
updateCounter = function () {
|
273
|
+
|
274
|
+
if (pause) {
|
275
|
+
if (!timingVisible && !showAll) {
|
276
|
+
showTimings();
|
277
|
+
timingVisible = true;
|
278
|
+
}
|
279
|
+
counterTimeout = setTimeout(updateCounter, 50);
|
280
|
+
return
|
281
|
+
}
|
282
|
+
|
283
|
+
$COUNTER.innerHTML = complete;
|
284
|
+
|
285
|
+
if (complete < target) {
|
286
|
+
if (timingVisible) {
|
287
|
+
$TIME.innerHTML = '';
|
288
|
+
timingVisible = false;
|
289
|
+
}
|
290
|
+
|
291
|
+
if (!showAll) {
|
292
|
+
|
293
|
+
// Adjust reps so counter is updated every second-ish
|
294
|
+
if (prev != reps) {
|
295
|
+
|
296
|
+
// reps too low
|
297
|
+
if (+new Date() - time < 1e3) {
|
298
|
+
prev = reps;
|
299
|
+
|
300
|
+
if (limit) {
|
301
|
+
reps += ((limit - reps) / 2);
|
302
|
+
} else {
|
303
|
+
reps *= 2;
|
304
|
+
}
|
305
|
+
|
306
|
+
// reps too high
|
307
|
+
} else {
|
308
|
+
limit = reps;
|
309
|
+
reps -= ((reps - prev) / 2);
|
310
|
+
}
|
311
|
+
|
312
|
+
reps = Math.floor(reps) || 1;
|
313
|
+
time = +new Date();
|
314
|
+
}
|
315
|
+
|
316
|
+
if (complete + reps > target) {
|
317
|
+
reps = target - complete;
|
318
|
+
}
|
319
|
+
}
|
320
|
+
|
321
|
+
complete += reps;
|
322
|
+
calcTimeout = setTimeout(calc, 0);
|
323
|
+
|
324
|
+
// Finished - show timings summary
|
325
|
+
} else {
|
326
|
+
$START.innerHTML = 'Start';
|
327
|
+
$COUNTER.style.textDecoration = 'underline';
|
328
|
+
if (!showAll) {
|
329
|
+
showTimings();
|
330
|
+
}
|
331
|
+
}
|
332
|
+
},
|
333
|
+
|
334
|
+
calc = function () {
|
335
|
+
|
336
|
+
var start, bdT, bnT, bdR, bnR, pow_ys,
|
337
|
+
xs = [reps],
|
338
|
+
ys = [reps],
|
339
|
+
bdRs = [reps],
|
340
|
+
bnRs = [reps];
|
341
|
+
|
342
|
+
|
343
|
+
// GENERATE RANDOM OPERANDS
|
344
|
+
|
345
|
+
for (i = 0; i < reps; i++) {
|
346
|
+
xs[i] = getRandom();
|
347
|
+
}
|
348
|
+
|
349
|
+
if (bdM == 'pow') {
|
350
|
+
|
351
|
+
// GWT BigDecimal and Big pow argument must be Number type and integer
|
352
|
+
for (i = 0; i < reps; i++) {
|
353
|
+
ys[i] = Math.floor(Math.random() * (MAX_POWER + 1));
|
354
|
+
}
|
355
|
+
|
356
|
+
// ICU4J pow argument must be a BigDecimal, and that must be passed a string
|
357
|
+
if (!isGWT) {
|
358
|
+
pow_ys = [reps];
|
359
|
+
|
360
|
+
for (i = 0; i < reps; i++) {
|
361
|
+
pow_ys[i] = new BigDecimal(ys[i] + '');
|
362
|
+
}
|
363
|
+
}
|
364
|
+
} else {
|
365
|
+
for (i = 0; i < reps; i++) {
|
366
|
+
ys[i] = getRandom();
|
367
|
+
}
|
368
|
+
}
|
369
|
+
|
370
|
+
|
371
|
+
//********************************************************************//
|
372
|
+
//************************** START TIMING ****************************//
|
373
|
+
//********************************************************************//
|
374
|
+
|
375
|
+
|
376
|
+
// BIGDECIMAL
|
377
|
+
|
378
|
+
if (bdM == 'divide') {
|
379
|
+
|
380
|
+
start = +new Date();
|
381
|
+
for (i = 0; i < reps; i++) {
|
382
|
+
bdRs[i] = new BigDecimal(xs[i])[bdM](new BigDecimal(ys[i]),
|
383
|
+
decimalPlaces, rounding);
|
384
|
+
}
|
385
|
+
bdT = +new Date() - start;
|
386
|
+
|
387
|
+
} else if (bdM == 'pow') {
|
388
|
+
|
389
|
+
if (isGWT) {
|
390
|
+
|
391
|
+
start = +new Date();
|
392
|
+
for (i = 0; i < reps; i++) {
|
393
|
+
bdRs[i] = new BigDecimal(xs[i])[bdM](ys[i]);
|
394
|
+
}
|
395
|
+
bdT = +new Date() - start;
|
396
|
+
|
397
|
+
} else {
|
398
|
+
|
399
|
+
start = +new Date();
|
400
|
+
for (i = 0; i < reps; i++) {
|
401
|
+
bdRs[i] = new BigDecimal(xs[i])[bdM](pow_ys[i]);
|
402
|
+
}
|
403
|
+
bdT = +new Date() - start;
|
404
|
+
|
405
|
+
}
|
406
|
+
} else {
|
407
|
+
|
408
|
+
start = +new Date();
|
409
|
+
for (i = 0; i < reps; i++) {
|
410
|
+
bdRs[i] = new BigDecimal(xs[i])[bdM](new BigDecimal(ys[i]));
|
411
|
+
}
|
412
|
+
bdT = +new Date() - start;
|
413
|
+
|
414
|
+
}
|
415
|
+
|
416
|
+
|
417
|
+
// BIG
|
418
|
+
|
419
|
+
if (bdM == 'pow') {
|
420
|
+
|
421
|
+
start = +new Date();
|
422
|
+
for (i = 0; i < reps; i++) {
|
423
|
+
bnRs[i] = new Big(xs[i])[bnM](ys[i]);
|
424
|
+
}
|
425
|
+
bnT = +new Date() - start;
|
426
|
+
|
427
|
+
} else {
|
428
|
+
|
429
|
+
start = +new Date();
|
430
|
+
for (i = 0; i < reps; i++) {
|
431
|
+
bnRs[i] = new Big(xs[i])[bnM](new Big(ys[i]));
|
432
|
+
}
|
433
|
+
bnT = +new Date() - start;
|
434
|
+
|
435
|
+
}
|
436
|
+
|
437
|
+
|
438
|
+
//********************************************************************//
|
439
|
+
//**************************** END TIMING ****************************//
|
440
|
+
//********************************************************************//
|
441
|
+
|
442
|
+
|
443
|
+
// CHECK FOR MISMATCHES
|
444
|
+
|
445
|
+
for (i = 0; i < reps; i++) {
|
446
|
+
// Ensure non-exponential notation
|
447
|
+
bnR = bnRs[i].toFixed();
|
448
|
+
|
449
|
+
// Remove any trailing zeros from BigDecimal result
|
450
|
+
if (isGWT) {
|
451
|
+
bdR = bdM == 'compareTo' || isIntOnly
|
452
|
+
? bdRs[i].toString()
|
453
|
+
: bdRs[i].stripTrailingZeros().toPlainString();
|
454
|
+
} else {
|
455
|
+
|
456
|
+
// No toPlainString() or stripTrailingZeros() in ICU4J
|
457
|
+
bdR = bdRs[i].toString();
|
458
|
+
|
459
|
+
if (bdR.indexOf('.') != -1) {
|
460
|
+
bdR = bdR.replace(/\.?0+$/, '');
|
461
|
+
}
|
462
|
+
}
|
463
|
+
|
464
|
+
if (bdR !== bnR) {
|
465
|
+
|
466
|
+
$RESULTS.innerHTML =
|
467
|
+
'<span class="red">Breaking on first mismatch:</span>' +
|
468
|
+
'<br><br>' +xs[i] + '<br>' + bnM + '<br>' + ys[i] +
|
469
|
+
'<br><br>BigDecimal<br>' + bdR + '<br>' + bnR + '<br>Big';
|
470
|
+
|
471
|
+
if (bdM == 'divide') {
|
472
|
+
$RESULTS.innerHTML += '<br><br>Decimal places: ' +
|
473
|
+
decimalPlaces + '<br>Rounding mode: ' + rounding;
|
474
|
+
}
|
475
|
+
return;
|
476
|
+
} else if (showAll) {
|
477
|
+
$RESULTS.innerHTML = xs[i] + '<br>' + bnM + '<br>' + ys[i] +
|
478
|
+
'<br><br>BigDecimal<br>' + bdR + '<br>' + bnR + '<br>Big';
|
479
|
+
}
|
480
|
+
}
|
481
|
+
|
482
|
+
bdTotal += bdT;
|
483
|
+
bnTotal += bnT;
|
484
|
+
|
485
|
+
updateCounter();
|
486
|
+
};
|
487
|
+
|
488
|
+
|
489
|
+
// EVENT HANDLERS
|
490
|
+
|
491
|
+
document.onkeyup = function (evt) {
|
492
|
+
evt = evt || window.event;
|
493
|
+
if ((evt.keyCode || evt.which) == PAUSE_KEY) {
|
494
|
+
up = true;
|
495
|
+
}
|
496
|
+
};
|
497
|
+
document.onkeydown = function (evt) {
|
498
|
+
evt = evt || window.event;
|
499
|
+
if (up && (evt.keyCode || evt.which) == PAUSE_KEY) {
|
500
|
+
pause = !pause;
|
501
|
+
up = false;
|
502
|
+
}
|
503
|
+
};
|
504
|
+
|
505
|
+
// Big methods' radio buttons' event handlers
|
506
|
+
for (i = 0; i < numberOfMethods; i++) {
|
507
|
+
$INPUTS[i].checked = false;
|
508
|
+
$INPUTS[i].disabled = false;
|
509
|
+
$INPUTS[i].onclick = function () {
|
510
|
+
clear();
|
511
|
+
lastRounding = $R.options.selectedIndex;
|
512
|
+
$DIV.style.display = 'none';
|
513
|
+
bnM = bnMs[this.id];
|
514
|
+
$BD.innerHTML = bdM = bdMs[this.id];
|
515
|
+
};
|
516
|
+
}
|
517
|
+
$INPUTS[3].onclick = function () {
|
518
|
+
clear();
|
519
|
+
$R.options.selectedIndex = lastRounding;
|
520
|
+
$DIV.style.display = 'block';
|
521
|
+
bnM = bnMs[this.id];
|
522
|
+
$BD.innerHTML = bdM = bdMs[this.id];
|
523
|
+
};
|
524
|
+
|
525
|
+
// Show/hide BigInteger and disable/un-disable division accordingly as BigInteger
|
526
|
+
// throws an exception if division gives "no exact representable decimal result"
|
527
|
+
$INT.onclick = function () {
|
528
|
+
if (this.checked && $GWT.checked) {
|
529
|
+
if ($INPUTS[3].checked) {
|
530
|
+
$INPUTS[3].checked = false;
|
531
|
+
$INPUTS[0].checked = true;
|
532
|
+
$BD.innerHTML = bdMs[$INPUTS[0].id];
|
533
|
+
$DIV.style.display = 'none';
|
534
|
+
}
|
535
|
+
$INPUTS[3].disabled = true;
|
536
|
+
$BIGINT.style.display = 'inline';
|
537
|
+
} else {
|
538
|
+
$INPUTS[3].disabled = false;
|
539
|
+
$BIGINT.style.display = 'none';
|
540
|
+
}
|
541
|
+
};
|
542
|
+
$ICU4J.onclick = function () {
|
543
|
+
$INPUTS[3].disabled = false;
|
544
|
+
$BIGINT.style.display = 'none';
|
545
|
+
};
|
546
|
+
$GWT.onclick = function () {
|
547
|
+
if ($INT.checked) {
|
548
|
+
if ($INPUTS[3].checked) {
|
549
|
+
$INPUTS[3].checked = false;
|
550
|
+
$INPUTS[0].checked = true;
|
551
|
+
$BD.innerHTML = bdMs[$INPUTS[0].id];
|
552
|
+
$DIV.style.display = 'none';
|
553
|
+
}
|
554
|
+
$INPUTS[3].disabled = true;
|
555
|
+
$BIGINT.style.display = 'inline';
|
556
|
+
}
|
557
|
+
};
|
558
|
+
|
559
|
+
Big.DP = 20;
|
560
|
+
Big.RM = 1;
|
561
|
+
|
562
|
+
// Set defaults
|
563
|
+
$MAX.checked = $INPUTS[0].checked = $GWT.checked = true;
|
564
|
+
$SHOW.checked = $INT.checked = false;
|
565
|
+
$REPS.value = DEFAULT_REPS;
|
566
|
+
$DIGITS.value = DEFAULT_DIGITS;
|
567
|
+
$DP.value = DEFAULT_DECIMAL_PLACES;
|
568
|
+
$R.option = DEFAULT_ROUNDING;
|
569
|
+
|
570
|
+
BigDecimal_GWT = BigDecimal;
|
571
|
+
BigDecimal = undefined;
|
572
|
+
|
573
|
+
// Load ICU4J BigDecimal
|
574
|
+
script = document.createElement("script");
|
575
|
+
script.src = ICU4J_URL;
|
576
|
+
script.onload = script.onreadystatechange = function () {
|
577
|
+
if (!script.readyState || /loaded|complete/.test(script.readyState)) {
|
578
|
+
script = null;
|
579
|
+
BigDecimal_ICU4J = BigDecimal;
|
580
|
+
$START.onmousedown = begin;
|
581
|
+
}
|
582
|
+
};
|
583
|
+
document.getElementsByTagName("head")[0].appendChild(script);
|
584
|
+
|
585
|
+
|
586
|
+
|
587
|
+
/*
|
588
|
+
|
589
|
+
NOTES:
|
590
|
+
|
591
|
+
|
592
|
+
ICU4J
|
593
|
+
=====
|
594
|
+
IBM java package: com.ibm.icu.math
|
595
|
+
pow's argument must be a BigDecimal.
|
596
|
+
Among other differences, doesn't have .toPlainString() or .stripTrailingZeros().
|
597
|
+
Exports BigDecimal only.
|
598
|
+
Much faster than gwt on Firefox, on Chrome it varies with the method.
|
599
|
+
|
600
|
+
|
601
|
+
GWT
|
602
|
+
===
|
603
|
+
Java standard class library: java.math.BigDecimal
|
604
|
+
|
605
|
+
Exports:
|
606
|
+
RoundingMode
|
607
|
+
MathContext
|
608
|
+
BigDecimal
|
609
|
+
BigInteger
|
610
|
+
|
611
|
+
BigDecimal properties:
|
612
|
+
ROUND_CEILING
|
613
|
+
ROUND_DOWN
|
614
|
+
ROUND_FLOOR
|
615
|
+
ROUND_HALF_DOWN
|
616
|
+
ROUND_HALF_EVEN
|
617
|
+
ROUND_HALF_UP
|
618
|
+
ROUND_UNNECESSARY
|
619
|
+
ROUND_UP
|
620
|
+
__init__
|
621
|
+
valueOf
|
622
|
+
log
|
623
|
+
logObj
|
624
|
+
ONE
|
625
|
+
TEN
|
626
|
+
ZERO
|
627
|
+
|
628
|
+
BigDecimal instance properties/methods:
|
629
|
+
( for (var i in new BigDecimal('1').__gwt_instance.__gwtex_wrap) {...} )
|
630
|
+
|
631
|
+
byteValueExact
|
632
|
+
compareTo
|
633
|
+
doubleValue
|
634
|
+
equals
|
635
|
+
floatValue
|
636
|
+
hashCode
|
637
|
+
intValue
|
638
|
+
intValueExact
|
639
|
+
max
|
640
|
+
min
|
641
|
+
movePointLeft
|
642
|
+
movePointRight
|
643
|
+
precision
|
644
|
+
round
|
645
|
+
scale
|
646
|
+
scaleByPowerOfTen
|
647
|
+
shortValueExact
|
648
|
+
signum
|
649
|
+
stripTrailingZeros
|
650
|
+
toBigInteger
|
651
|
+
toBigIntegerExact
|
652
|
+
toEngineeringString
|
653
|
+
toPlainString
|
654
|
+
toString
|
655
|
+
ulp
|
656
|
+
unscaledValue
|
657
|
+
longValue
|
658
|
+
longValueExact
|
659
|
+
abs
|
660
|
+
add
|
661
|
+
divide
|
662
|
+
divideToIntegralValue
|
663
|
+
multiply
|
664
|
+
negate
|
665
|
+
plus
|
666
|
+
pow
|
667
|
+
remainder
|
668
|
+
setScale
|
669
|
+
subtract
|
670
|
+
divideAndRemainder
|
671
|
+
|
672
|
+
*/
|
673
|
+
|
674
|
+
</script>
|
675
|
+
</body>
|
676
|
+
</html>
|
677
|
+
|
678
|
+
|