Compare commits
10 commits
48ca8ccda1
...
40163d65d9
Author | SHA1 | Date | |
---|---|---|---|
![]() |
40163d65d9 | ||
![]() |
63a9ce8e03 | ||
![]() |
d48f80bfd1 | ||
![]() |
52b94d89f0 | ||
![]() |
19a8737eac | ||
![]() |
dc2b908841 | ||
![]() |
7524ee130c | ||
![]() |
8951dd8ffc | ||
![]() |
9bbe24e51b | ||
![]() |
aa6ec371fb |
11 changed files with 1086 additions and 86 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -7,3 +7,4 @@
|
|||
/.psc*
|
||||
/.purs*
|
||||
/.psa*
|
||||
.spago
|
||||
|
|
3
README.md
Normal file
3
README.md
Normal file
|
@ -0,0 +1,3 @@
|
|||
# purescript-bignumber
|
||||
|
||||
Bindings to [bignumber.js](https://github.com/MikeMcl/bignumber.js/).
|
24
bower.json
24
bower.json
|
@ -1,24 +0,0 @@
|
|||
{
|
||||
"name": "purescript-bignumber",
|
||||
"ignore": [
|
||||
"**/.*",
|
||||
"node_modules",
|
||||
"bower_components",
|
||||
"output"
|
||||
],
|
||||
"license": "BSD-3-Clause",
|
||||
"dependencies": {
|
||||
"purescript-prelude": "^3.1.1",
|
||||
"purescript-either": "^3.2.0",
|
||||
"purescript-exceptions": "^3.0.0",
|
||||
"purescript-tuples-native": "^0.1.0",
|
||||
"purescript-record": "git@github.com:athanclark/purescript-record.git#850360dbfa1bf765a19b3ec207a706622fa47ac7"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/athanclark/purescript-bignumber.git"
|
||||
},
|
||||
"devDependencies": {
|
||||
"purescript-psci-support": "^3.0.0"
|
||||
}
|
||||
}
|
13
package-lock.json
generated
Normal file
13
package-lock.json
generated
Normal file
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"name": "purescript-bignumber",
|
||||
"version": "1.0.0",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
"bignumber.js": {
|
||||
"version": "7.2.1",
|
||||
"resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-7.2.1.tgz",
|
||||
"integrity": "sha512-S4XzBk5sMB+Rcb/LNcpzXr57VRTxgAvaAEDAl1AwRx27j00hT84O6OkteE7u8UB3NuaaygCRrEpqox4uDOrbdQ=="
|
||||
}
|
||||
}
|
||||
}
|
15
package.json
15
package.json
|
@ -1,7 +1,6 @@
|
|||
{
|
||||
"name": "purescript-bignumber",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"directories": {
|
||||
"test": "test"
|
||||
|
@ -10,5 +9,17 @@
|
|||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"author": "",
|
||||
"license": "ISC"
|
||||
"license": "ISC",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/athanclark/purescript-bignumber.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/athanclark/purescript-bignumber/issues"
|
||||
},
|
||||
"homepage": "https://github.com/athanclark/purescript-bignumber#readme",
|
||||
"description": "",
|
||||
"dependencies": {
|
||||
"bignumber.js": "^7.2.1"
|
||||
}
|
||||
}
|
||||
|
|
768
spago.lock
Normal file
768
spago.lock
Normal file
|
@ -0,0 +1,768 @@
|
|||
{
|
||||
"workspace": {
|
||||
"packages": {
|
||||
"bignumber": {
|
||||
"path": "./",
|
||||
"core": {
|
||||
"dependencies": [
|
||||
"console",
|
||||
"effect",
|
||||
"either",
|
||||
"exceptions",
|
||||
"functions",
|
||||
"integers",
|
||||
"partial",
|
||||
"prelude",
|
||||
"psci-support",
|
||||
"tuples",
|
||||
"tuples-native",
|
||||
"typelevel"
|
||||
],
|
||||
"build_plan": [
|
||||
"console",
|
||||
"control",
|
||||
"effect",
|
||||
"either",
|
||||
"exceptions",
|
||||
"functions",
|
||||
"integers",
|
||||
"invariant",
|
||||
"maybe",
|
||||
"newtype",
|
||||
"numbers",
|
||||
"partial",
|
||||
"prelude",
|
||||
"psci-support",
|
||||
"safe-coerce",
|
||||
"tuples",
|
||||
"tuples-native",
|
||||
"type-equality",
|
||||
"typelevel",
|
||||
"typelevel-prelude",
|
||||
"unsafe-coerce"
|
||||
]
|
||||
},
|
||||
"test": {
|
||||
"dependencies": [],
|
||||
"build_plan": []
|
||||
}
|
||||
}
|
||||
},
|
||||
"package_set": {
|
||||
"address": {
|
||||
"registry": "61.2.0"
|
||||
},
|
||||
"compiler": ">=0.15.15 <0.16.0",
|
||||
"content": {
|
||||
"abc-parser": "2.0.1",
|
||||
"ace": "9.1.0",
|
||||
"address-rfc2821": "0.1.1",
|
||||
"aff": "8.0.0",
|
||||
"aff-bus": "6.0.0",
|
||||
"aff-coroutines": "9.0.0",
|
||||
"aff-promise": "4.0.0",
|
||||
"aff-retry": "2.0.0",
|
||||
"affjax": "13.0.0",
|
||||
"affjax-node": "1.0.0",
|
||||
"affjax-web": "1.0.0",
|
||||
"ansi": "7.0.0",
|
||||
"apexcharts": "0.5.0",
|
||||
"applicative-phases": "1.0.0",
|
||||
"argonaut": "9.0.0",
|
||||
"argonaut-aeson-generic": "0.4.1",
|
||||
"argonaut-codecs": "9.1.0",
|
||||
"argonaut-core": "7.0.0",
|
||||
"argonaut-generic": "8.0.0",
|
||||
"argonaut-traversals": "10.0.0",
|
||||
"argparse-basic": "2.0.0",
|
||||
"array-builder": "0.1.2",
|
||||
"array-search": "0.6.0",
|
||||
"arraybuffer": "13.2.0",
|
||||
"arraybuffer-builder": "3.1.0",
|
||||
"arraybuffer-types": "3.0.2",
|
||||
"arrays": "7.3.0",
|
||||
"arrays-extra": "0.6.1",
|
||||
"arrays-zipper": "2.0.1",
|
||||
"ask": "1.0.0",
|
||||
"assert": "6.0.0",
|
||||
"assert-multiple": "0.4.0",
|
||||
"avar": "5.0.0",
|
||||
"b64": "0.0.8",
|
||||
"barbies": "1.0.1",
|
||||
"barlow-lens": "0.9.0",
|
||||
"bifunctors": "6.0.0",
|
||||
"bigints": "7.0.1",
|
||||
"bolson": "0.3.9",
|
||||
"bookhound": "0.1.7",
|
||||
"bower-json": "3.0.0",
|
||||
"call-by-name": "4.0.1",
|
||||
"canvas": "6.0.0",
|
||||
"canvas-action": "9.0.0",
|
||||
"cartesian": "1.0.6",
|
||||
"catenable-lists": "7.0.0",
|
||||
"cbor-stream": "1.3.0",
|
||||
"chameleon": "1.0.0",
|
||||
"chameleon-halogen": "1.0.3",
|
||||
"chameleon-react-basic": "1.1.0",
|
||||
"chameleon-styled": "2.5.0",
|
||||
"chameleon-transformers": "1.0.0",
|
||||
"channel": "1.0.0",
|
||||
"checked-exceptions": "3.1.1",
|
||||
"choku": "1.0.2",
|
||||
"classless": "0.1.1",
|
||||
"classless-arbitrary": "0.1.1",
|
||||
"classless-decode-json": "0.1.1",
|
||||
"classless-encode-json": "0.1.3",
|
||||
"classnames": "2.0.0",
|
||||
"codec": "6.1.0",
|
||||
"codec-argonaut": "10.0.0",
|
||||
"codec-json": "2.0.0",
|
||||
"colors": "7.0.1",
|
||||
"concur-core": "0.5.0",
|
||||
"concur-react": "0.5.0",
|
||||
"concurrent-queues": "3.0.0",
|
||||
"console": "6.1.0",
|
||||
"const": "6.0.0",
|
||||
"contravariant": "6.0.0",
|
||||
"control": "6.0.0",
|
||||
"convertable-options": "1.0.0",
|
||||
"coroutines": "7.0.0",
|
||||
"css": "6.0.0",
|
||||
"css-frameworks": "1.0.1",
|
||||
"csv-stream": "2.3.0",
|
||||
"data-mvc": "0.0.2",
|
||||
"datetime": "6.1.0",
|
||||
"datetime-parsing": "0.2.0",
|
||||
"debounce": "0.1.0",
|
||||
"debug": "6.0.2",
|
||||
"decimals": "7.1.0",
|
||||
"default-values": "1.0.1",
|
||||
"deku": "0.9.23",
|
||||
"deno": "0.0.5",
|
||||
"dissect": "1.0.0",
|
||||
"distributive": "6.0.0",
|
||||
"dom-filereader": "7.0.0",
|
||||
"dom-indexed": "12.0.0",
|
||||
"dom-simple": "0.4.0",
|
||||
"dotenv": "4.0.3",
|
||||
"droplet": "0.6.0",
|
||||
"dts": "1.0.0",
|
||||
"dual-numbers": "1.0.3",
|
||||
"dynamic-buffer": "3.0.1",
|
||||
"echarts-simple": "0.0.1",
|
||||
"effect": "4.0.0",
|
||||
"either": "6.1.0",
|
||||
"elmish": "0.13.0",
|
||||
"elmish-enzyme": "0.1.1",
|
||||
"elmish-hooks": "0.10.3",
|
||||
"elmish-html": "0.9.0",
|
||||
"elmish-testing-library": "0.3.2",
|
||||
"email-validate": "7.0.0",
|
||||
"encoding": "0.0.9",
|
||||
"enums": "6.0.1",
|
||||
"env-names": "0.4.0",
|
||||
"error": "2.0.0",
|
||||
"eta-conversion": "0.3.2",
|
||||
"exceptions": "6.1.0",
|
||||
"exists": "6.0.0",
|
||||
"exitcodes": "4.0.0",
|
||||
"expect-inferred": "3.0.0",
|
||||
"ezfetch": "1.1.0",
|
||||
"fahrtwind": "2.0.0",
|
||||
"fallback": "0.1.0",
|
||||
"fast-vect": "1.2.0",
|
||||
"fetch": "4.1.0",
|
||||
"fetch-argonaut": "1.0.1",
|
||||
"fetch-core": "5.1.0",
|
||||
"fetch-yoga-json": "1.1.0",
|
||||
"ffi-simple": "0.5.1",
|
||||
"fft-js": "0.1.0",
|
||||
"filterable": "5.0.0",
|
||||
"fix-functor": "0.1.0",
|
||||
"fixed-points": "7.0.0",
|
||||
"fixed-precision": "5.0.0",
|
||||
"flame": "1.3.0",
|
||||
"float32": "2.0.0",
|
||||
"fmt": "0.2.1",
|
||||
"foldable-traversable": "6.0.0",
|
||||
"foldable-traversable-extra": "0.0.6",
|
||||
"foreign": "7.0.0",
|
||||
"foreign-object": "4.1.0",
|
||||
"foreign-readwrite": "3.4.0",
|
||||
"forgetmenot": "0.1.0",
|
||||
"fork": "6.0.0",
|
||||
"form-urlencoded": "7.0.0",
|
||||
"formatters": "7.0.0",
|
||||
"framer-motion": "1.0.1",
|
||||
"free": "7.1.0",
|
||||
"freeap": "7.0.0",
|
||||
"freer-free": "0.0.1",
|
||||
"freet": "7.0.0",
|
||||
"functions": "6.0.0",
|
||||
"functor1": "3.0.0",
|
||||
"functors": "5.0.0",
|
||||
"fuzzy": "0.4.0",
|
||||
"gen": "4.0.0",
|
||||
"generate-values": "1.0.1",
|
||||
"generic-router": "0.0.1",
|
||||
"geojson": "0.0.5",
|
||||
"geometria": "2.2.0",
|
||||
"gojs": "0.1.1",
|
||||
"grain": "3.0.0",
|
||||
"grain-router": "3.0.0",
|
||||
"grain-virtualized": "3.0.0",
|
||||
"graphs": "8.1.0",
|
||||
"group": "4.1.1",
|
||||
"halogen": "7.0.0",
|
||||
"halogen-bootstrap5": "5.3.2",
|
||||
"halogen-canvas": "1.0.0",
|
||||
"halogen-css": "10.0.0",
|
||||
"halogen-echarts-simple": "0.0.4",
|
||||
"halogen-formless": "4.0.3",
|
||||
"halogen-helix": "1.0.1",
|
||||
"halogen-hooks": "0.6.3",
|
||||
"halogen-hooks-extra": "0.9.0",
|
||||
"halogen-infinite-scroll": "1.1.0",
|
||||
"halogen-store": "0.5.4",
|
||||
"halogen-storybook": "2.0.0",
|
||||
"halogen-subscriptions": "2.0.0",
|
||||
"halogen-svg-elems": "8.0.0",
|
||||
"halogen-typewriter": "1.0.4",
|
||||
"halogen-vdom": "8.0.0",
|
||||
"halogen-vdom-string-renderer": "0.5.0",
|
||||
"halogen-xterm": "2.0.0",
|
||||
"heckin": "2.0.1",
|
||||
"heterogeneous": "0.6.0",
|
||||
"homogeneous": "0.4.0",
|
||||
"http-methods": "6.0.0",
|
||||
"httpurple": "4.0.0",
|
||||
"huffman": "0.4.0",
|
||||
"humdrum": "0.0.1",
|
||||
"hyrule": "2.3.8",
|
||||
"identity": "6.0.0",
|
||||
"identy": "4.0.1",
|
||||
"indexed-db": "1.0.0",
|
||||
"indexed-monad": "3.0.0",
|
||||
"int64": "3.0.0",
|
||||
"integers": "6.0.0",
|
||||
"interpolate": "5.0.2",
|
||||
"intersection-observer": "1.0.1",
|
||||
"invariant": "6.0.0",
|
||||
"jarilo": "1.0.1",
|
||||
"jelly": "0.10.0",
|
||||
"jelly-router": "0.3.0",
|
||||
"jelly-signal": "0.4.0",
|
||||
"jest": "1.0.0",
|
||||
"js-abort-controller": "1.0.0",
|
||||
"js-bigints": "2.2.1",
|
||||
"js-date": "8.0.0",
|
||||
"js-fetch": "0.2.1",
|
||||
"js-fileio": "3.0.0",
|
||||
"js-intl": "1.1.4",
|
||||
"js-iterators": "0.1.1",
|
||||
"js-maps": "0.1.2",
|
||||
"js-promise": "1.0.0",
|
||||
"js-promise-aff": "1.0.0",
|
||||
"js-timers": "6.1.0",
|
||||
"js-uri": "3.1.0",
|
||||
"jsdom": "1.0.0",
|
||||
"json": "1.1.0",
|
||||
"json-codecs": "5.0.0",
|
||||
"justifill": "0.5.0",
|
||||
"jwt": "0.0.9",
|
||||
"labeled-data": "0.2.0",
|
||||
"language-cst-parser": "0.14.0",
|
||||
"lazy": "6.0.0",
|
||||
"lazy-joe": "1.0.0",
|
||||
"lcg": "4.0.0",
|
||||
"leibniz": "5.0.0",
|
||||
"leveldb": "1.0.1",
|
||||
"liminal": "1.0.1",
|
||||
"linalg": "6.0.0",
|
||||
"lists": "7.0.0",
|
||||
"literals": "1.0.2",
|
||||
"logging": "3.0.0",
|
||||
"logging-journald": "0.4.0",
|
||||
"lumi-components": "18.0.0",
|
||||
"machines": "7.0.0",
|
||||
"maps-eager": "0.5.0",
|
||||
"marionette": "1.0.0",
|
||||
"marionette-react-basic-hooks": "0.1.1",
|
||||
"marked": "0.1.0",
|
||||
"matrices": "5.0.1",
|
||||
"matryoshka": "1.0.0",
|
||||
"maybe": "6.0.0",
|
||||
"media-types": "6.0.0",
|
||||
"meowclient": "1.0.0",
|
||||
"midi": "4.0.0",
|
||||
"milkis": "9.0.0",
|
||||
"minibench": "4.0.1",
|
||||
"mmorph": "7.0.0",
|
||||
"monad-control": "5.0.0",
|
||||
"monad-logger": "1.3.1",
|
||||
"monad-loops": "0.5.0",
|
||||
"monad-unlift": "1.0.1",
|
||||
"monoid-extras": "0.0.1",
|
||||
"monoidal": "0.16.0",
|
||||
"morello": "0.4.0",
|
||||
"mote": "3.0.0",
|
||||
"motsunabe": "2.0.0",
|
||||
"mvc": "0.0.1",
|
||||
"mysql": "6.0.1",
|
||||
"n3": "0.1.0",
|
||||
"nano-id": "1.1.0",
|
||||
"nanoid": "0.1.0",
|
||||
"naturals": "3.0.0",
|
||||
"nested-functor": "0.2.1",
|
||||
"newtype": "5.0.0",
|
||||
"nextjs": "0.1.1",
|
||||
"nextui": "0.2.0",
|
||||
"node-buffer": "9.0.0",
|
||||
"node-child-process": "11.1.0",
|
||||
"node-event-emitter": "3.0.0",
|
||||
"node-execa": "5.0.0",
|
||||
"node-fs": "9.2.0",
|
||||
"node-glob-basic": "1.3.0",
|
||||
"node-http": "9.1.0",
|
||||
"node-http2": "1.1.1",
|
||||
"node-human-signals": "1.0.0",
|
||||
"node-net": "5.1.0",
|
||||
"node-os": "5.1.0",
|
||||
"node-path": "5.0.0",
|
||||
"node-process": "11.2.0",
|
||||
"node-readline": "8.1.1",
|
||||
"node-sqlite3": "8.0.0",
|
||||
"node-stream-pipes": "2.1.6",
|
||||
"node-streams": "9.0.0",
|
||||
"node-tls": "0.3.1",
|
||||
"node-url": "7.0.1",
|
||||
"node-zlib": "0.4.0",
|
||||
"nonempty": "7.0.0",
|
||||
"now": "6.0.0",
|
||||
"npm-package-json": "2.0.0",
|
||||
"nullable": "6.0.0",
|
||||
"numberfield": "0.2.2",
|
||||
"numbers": "9.0.1",
|
||||
"oak": "3.1.1",
|
||||
"oak-debug": "1.2.2",
|
||||
"object-maps": "0.3.0",
|
||||
"ocarina": "1.5.4",
|
||||
"oooooooooorrrrrrrmm-lib": "0.0.1",
|
||||
"open-colors-scales-and-schemes": "1.0.0",
|
||||
"open-folds": "6.4.0",
|
||||
"open-foreign-generic": "11.0.3",
|
||||
"open-memoize": "6.2.0",
|
||||
"open-mkdirp-aff": "1.2.0",
|
||||
"open-pairing": "6.2.0",
|
||||
"open-smolder": "12.0.2",
|
||||
"options": "7.0.0",
|
||||
"optparse": "5.0.1",
|
||||
"ordered-collections": "3.2.0",
|
||||
"ordered-set": "0.4.0",
|
||||
"orders": "6.0.0",
|
||||
"owoify": "1.2.0",
|
||||
"pairs": "9.0.1",
|
||||
"parallel": "7.0.0",
|
||||
"parsing": "10.2.0",
|
||||
"parsing-dataview": "3.2.4",
|
||||
"partial": "4.0.0",
|
||||
"pathy": "9.0.0",
|
||||
"pha": "0.13.0",
|
||||
"phaser": "0.7.0",
|
||||
"phylio": "1.1.2",
|
||||
"pipes": "8.0.0",
|
||||
"pirates-charm": "0.0.1",
|
||||
"pmock": "0.9.0",
|
||||
"point-free": "1.0.0",
|
||||
"pointed-list": "0.5.1",
|
||||
"polymorphic-vectors": "4.0.0",
|
||||
"posix-types": "6.0.0",
|
||||
"postgresql": "2.0.20",
|
||||
"precise": "6.0.0",
|
||||
"precise-datetime": "7.0.0",
|
||||
"prelude": "6.0.1",
|
||||
"prettier-printer": "3.0.0",
|
||||
"printf": "0.1.0",
|
||||
"priority-queue": "0.1.2",
|
||||
"profunctor": "6.0.1",
|
||||
"profunctor-lenses": "8.0.0",
|
||||
"protobuf": "4.4.0",
|
||||
"psa-utils": "8.0.0",
|
||||
"psci-support": "6.0.0",
|
||||
"punycode": "1.0.0",
|
||||
"qualified-do": "2.2.0",
|
||||
"quantities": "12.2.0",
|
||||
"quickcheck": "8.0.1",
|
||||
"quickcheck-combinators": "0.1.3",
|
||||
"quickcheck-laws": "7.0.0",
|
||||
"quickcheck-utf8": "0.0.0",
|
||||
"random": "6.0.0",
|
||||
"rationals": "6.0.0",
|
||||
"rdf": "0.1.0",
|
||||
"react": "11.0.0",
|
||||
"react-aria": "0.2.0",
|
||||
"react-basic": "17.0.0",
|
||||
"react-basic-classic": "3.0.0",
|
||||
"react-basic-dnd": "10.1.0",
|
||||
"react-basic-dom": "7.0.0",
|
||||
"react-basic-dom-beta": "0.1.1",
|
||||
"react-basic-emotion": "7.1.0",
|
||||
"react-basic-hooks": "8.2.0",
|
||||
"react-basic-storybook": "2.0.0",
|
||||
"react-dom": "8.0.0",
|
||||
"react-halo": "3.0.0",
|
||||
"react-icons": "1.1.5",
|
||||
"react-markdown": "0.1.0",
|
||||
"react-testing-library": "4.0.1",
|
||||
"react-virtuoso": "1.0.0",
|
||||
"reactix": "0.6.1",
|
||||
"read": "1.0.1",
|
||||
"recharts": "1.1.0",
|
||||
"record": "4.0.0",
|
||||
"record-extra": "5.0.1",
|
||||
"record-ptional-fields": "0.1.2",
|
||||
"record-studio": "1.0.4",
|
||||
"refs": "6.0.0",
|
||||
"remotedata": "5.0.1",
|
||||
"repr": "0.5.0",
|
||||
"resize-observer": "1.0.0",
|
||||
"resource": "2.0.1",
|
||||
"resourcet": "1.0.0",
|
||||
"result": "1.0.3",
|
||||
"return": "0.2.0",
|
||||
"ring-modules": "5.0.1",
|
||||
"rito": "0.3.4",
|
||||
"roman": "0.4.0",
|
||||
"rough-notation": "1.0.2",
|
||||
"routing": "11.0.0",
|
||||
"routing-duplex": "0.7.0",
|
||||
"run": "5.0.0",
|
||||
"safe-coerce": "2.0.0",
|
||||
"safely": "4.0.1",
|
||||
"school-of-music": "1.3.0",
|
||||
"selection-foldable": "0.2.0",
|
||||
"selective-functors": "1.0.1",
|
||||
"semirings": "7.0.0",
|
||||
"signal": "13.0.0",
|
||||
"simple-emitter": "3.0.1",
|
||||
"simple-i18n": "2.0.1",
|
||||
"simple-json": "9.0.0",
|
||||
"simple-json-generics": "0.2.1",
|
||||
"simple-ulid": "3.0.0",
|
||||
"sized-matrices": "1.0.0",
|
||||
"sized-vectors": "5.0.2",
|
||||
"slug": "3.1.0",
|
||||
"small-ffi": "4.0.1",
|
||||
"soundfonts": "4.1.0",
|
||||
"sparse-matrices": "2.0.1",
|
||||
"sparse-polynomials": "3.0.1",
|
||||
"spec": "8.1.1",
|
||||
"spec-discovery": "8.4.0",
|
||||
"spec-mocha": "5.1.1",
|
||||
"spec-node": "0.0.3",
|
||||
"spec-quickcheck": "5.0.2",
|
||||
"spec-reporter-xunit": "0.7.1",
|
||||
"splitmix": "2.1.0",
|
||||
"ssrs": "1.0.0",
|
||||
"st": "6.2.0",
|
||||
"statistics": "0.3.2",
|
||||
"strictlypositiveint": "1.0.1",
|
||||
"string-parsers": "8.0.0",
|
||||
"strings": "6.0.1",
|
||||
"strings-extra": "4.0.0",
|
||||
"stringutils": "0.0.12",
|
||||
"substitute": "0.2.3",
|
||||
"supply": "0.2.0",
|
||||
"svg-parser": "3.0.0",
|
||||
"systemd-journald": "0.3.0",
|
||||
"tagged": "4.0.2",
|
||||
"tailrec": "6.1.0",
|
||||
"tecton": "0.2.1",
|
||||
"tecton-halogen": "0.2.0",
|
||||
"test-unit": "17.0.0",
|
||||
"thermite": "6.3.1",
|
||||
"thermite-dom": "0.3.1",
|
||||
"these": "6.0.0",
|
||||
"threading": "0.0.3",
|
||||
"tldr": "0.0.0",
|
||||
"toestand": "0.9.0",
|
||||
"transformation-matrix": "1.0.1",
|
||||
"transformers": "6.1.0",
|
||||
"tree-rose": "4.0.2",
|
||||
"ts-bridge": "4.0.0",
|
||||
"tuples": "7.0.0",
|
||||
"two-or-more": "1.0.0",
|
||||
"type-equality": "4.0.1",
|
||||
"typedenv": "2.0.1",
|
||||
"typelevel": "6.0.0",
|
||||
"typelevel-lists": "2.1.0",
|
||||
"typelevel-peano": "1.0.1",
|
||||
"typelevel-prelude": "7.0.0",
|
||||
"typelevel-regex": "0.0.3",
|
||||
"typelevel-rows": "0.1.0",
|
||||
"typisch": "0.4.0",
|
||||
"uint": "7.0.0",
|
||||
"ulid": "3.0.1",
|
||||
"uncurried-transformers": "1.1.0",
|
||||
"undefined": "2.0.0",
|
||||
"undefined-is-not-a-problem": "1.1.0",
|
||||
"unfoldable": "6.0.0",
|
||||
"unicode": "6.0.0",
|
||||
"unique": "0.6.1",
|
||||
"unlift": "1.0.1",
|
||||
"unordered-collections": "3.1.0",
|
||||
"unsafe-coerce": "6.0.0",
|
||||
"unsafe-reference": "5.0.0",
|
||||
"untagged-to-tagged": "0.1.4",
|
||||
"untagged-union": "1.0.0",
|
||||
"uri": "9.0.0",
|
||||
"url-immutable": "1.0.0",
|
||||
"uuid": "9.0.0",
|
||||
"uuidv4": "1.0.0",
|
||||
"validation": "6.0.0",
|
||||
"variant": "8.0.0",
|
||||
"variant-encodings": "2.0.0",
|
||||
"vectorfield": "1.0.1",
|
||||
"vectors": "2.1.0",
|
||||
"versions": "7.0.0",
|
||||
"visx": "0.0.2",
|
||||
"web-clipboard": "6.0.0",
|
||||
"web-cssom": "2.0.0",
|
||||
"web-cssom-view": "0.1.0",
|
||||
"web-dom": "6.0.0",
|
||||
"web-dom-parser": "8.0.0",
|
||||
"web-dom-xpath": "3.0.0",
|
||||
"web-encoding": "3.0.0",
|
||||
"web-events": "4.0.0",
|
||||
"web-fetch": "4.0.1",
|
||||
"web-file": "4.0.0",
|
||||
"web-geometry": "0.1.0",
|
||||
"web-html": "4.1.0",
|
||||
"web-pointerevents": "2.0.0",
|
||||
"web-proletarian": "1.0.0",
|
||||
"web-promise": "3.2.0",
|
||||
"web-resize-observer": "2.1.0",
|
||||
"web-router": "1.0.0",
|
||||
"web-socket": "4.0.0",
|
||||
"web-storage": "5.0.0",
|
||||
"web-streams": "4.0.0",
|
||||
"web-touchevents": "4.0.0",
|
||||
"web-uievents": "5.0.0",
|
||||
"web-url": "2.0.0",
|
||||
"web-workers": "1.1.0",
|
||||
"web-xhr": "5.0.1",
|
||||
"webextension-polyfill": "0.1.0",
|
||||
"webgpu": "0.0.1",
|
||||
"which": "2.0.0",
|
||||
"xterm": "1.0.0",
|
||||
"yoga-fetch": "1.0.1",
|
||||
"yoga-json": "5.1.0",
|
||||
"yoga-om": "0.1.0",
|
||||
"yoga-postgres": "6.0.0",
|
||||
"yoga-subtlecrypto": "0.1.0",
|
||||
"yoga-tree": "1.0.0",
|
||||
"z3": "0.0.2",
|
||||
"zipperarray": "2.0.0"
|
||||
}
|
||||
},
|
||||
"extra_packages": {
|
||||
"tuples-native": {
|
||||
"git": "https://forge.id1.in/aj/purescript-tuples-native.git",
|
||||
"ref": "main"
|
||||
}
|
||||
}
|
||||
},
|
||||
"packages": {
|
||||
"console": {
|
||||
"type": "registry",
|
||||
"version": "6.1.0",
|
||||
"integrity": "sha256-CxmAzjgyuGDmt9FZW51VhV6rBPwR6o0YeKUzA9rSzcM=",
|
||||
"dependencies": [
|
||||
"effect",
|
||||
"prelude"
|
||||
]
|
||||
},
|
||||
"control": {
|
||||
"type": "registry",
|
||||
"version": "6.0.0",
|
||||
"integrity": "sha256-sH7Pg9E96JCPF9PIA6oQ8+BjTyO/BH1ZuE/bOcyj4Jk=",
|
||||
"dependencies": [
|
||||
"newtype",
|
||||
"prelude"
|
||||
]
|
||||
},
|
||||
"effect": {
|
||||
"type": "registry",
|
||||
"version": "4.0.0",
|
||||
"integrity": "sha256-eBtZu+HZcMa5HilvI6kaDyVX3ji8p0W9MGKy2K4T6+M=",
|
||||
"dependencies": [
|
||||
"prelude"
|
||||
]
|
||||
},
|
||||
"either": {
|
||||
"type": "registry",
|
||||
"version": "6.1.0",
|
||||
"integrity": "sha256-6hgTPisnMWVwQivOu2PKYcH8uqjEOOqDyaDQVUchTpY=",
|
||||
"dependencies": [
|
||||
"control",
|
||||
"invariant",
|
||||
"maybe",
|
||||
"prelude"
|
||||
]
|
||||
},
|
||||
"exceptions": {
|
||||
"type": "registry",
|
||||
"version": "6.1.0",
|
||||
"integrity": "sha256-K0T89IHtF3vBY7eSAO7eDOqSb2J9kZGAcDN5+IKsF8E=",
|
||||
"dependencies": [
|
||||
"effect",
|
||||
"either",
|
||||
"maybe",
|
||||
"prelude"
|
||||
]
|
||||
},
|
||||
"functions": {
|
||||
"type": "registry",
|
||||
"version": "6.0.0",
|
||||
"integrity": "sha256-adMyJNEnhGde2unHHAP79gPtlNjNqzgLB8arEOn9hLI=",
|
||||
"dependencies": [
|
||||
"prelude"
|
||||
]
|
||||
},
|
||||
"integers": {
|
||||
"type": "registry",
|
||||
"version": "6.0.0",
|
||||
"integrity": "sha256-sf+sK26R1hzwl3NhXR7WAu9zCDjQnfoXwcyGoseX158=",
|
||||
"dependencies": [
|
||||
"maybe",
|
||||
"numbers",
|
||||
"prelude"
|
||||
]
|
||||
},
|
||||
"invariant": {
|
||||
"type": "registry",
|
||||
"version": "6.0.0",
|
||||
"integrity": "sha256-RGWWyYrz0Hs1KjPDA+87Kia67ZFBhfJ5lMGOMCEFoLo=",
|
||||
"dependencies": [
|
||||
"control",
|
||||
"prelude"
|
||||
]
|
||||
},
|
||||
"maybe": {
|
||||
"type": "registry",
|
||||
"version": "6.0.0",
|
||||
"integrity": "sha256-5cCIb0wPwbat2PRkQhUeZO0jcAmf8jCt2qE0wbC3v2Q=",
|
||||
"dependencies": [
|
||||
"control",
|
||||
"invariant",
|
||||
"newtype",
|
||||
"prelude"
|
||||
]
|
||||
},
|
||||
"newtype": {
|
||||
"type": "registry",
|
||||
"version": "5.0.0",
|
||||
"integrity": "sha256-gdrQu8oGe9eZE6L3wOI8ql/igOg+zEGB5ITh2g+uttw=",
|
||||
"dependencies": [
|
||||
"prelude",
|
||||
"safe-coerce"
|
||||
]
|
||||
},
|
||||
"numbers": {
|
||||
"type": "registry",
|
||||
"version": "9.0.1",
|
||||
"integrity": "sha256-/9M6aeMDBdB4cwYDeJvLFprAHZ49EbtKQLIJsneXLIk=",
|
||||
"dependencies": [
|
||||
"functions",
|
||||
"maybe"
|
||||
]
|
||||
},
|
||||
"partial": {
|
||||
"type": "registry",
|
||||
"version": "4.0.0",
|
||||
"integrity": "sha256-fwXerld6Xw1VkReh8yeQsdtLVrjfGiVuC5bA1Wyo/J4=",
|
||||
"dependencies": []
|
||||
},
|
||||
"prelude": {
|
||||
"type": "registry",
|
||||
"version": "6.0.1",
|
||||
"integrity": "sha256-o8p6SLYmVPqzXZhQFd2hGAWEwBoXl1swxLG/scpJ0V0=",
|
||||
"dependencies": []
|
||||
},
|
||||
"psci-support": {
|
||||
"type": "registry",
|
||||
"version": "6.0.0",
|
||||
"integrity": "sha256-C6ql4P9TEP06hft/1Z5QumPA4yARR4VIxDdhmL1EO+Y=",
|
||||
"dependencies": [
|
||||
"console",
|
||||
"effect",
|
||||
"prelude"
|
||||
]
|
||||
},
|
||||
"safe-coerce": {
|
||||
"type": "registry",
|
||||
"version": "2.0.0",
|
||||
"integrity": "sha256-a1ibQkiUcbODbLE/WAq7Ttbbh9ex+x33VCQ7GngKudU=",
|
||||
"dependencies": [
|
||||
"unsafe-coerce"
|
||||
]
|
||||
},
|
||||
"tuples": {
|
||||
"type": "registry",
|
||||
"version": "7.0.0",
|
||||
"integrity": "sha256-1rXgTomes9105BjgXqIw0FL6Fz1lqqUTLWOumhWec1M=",
|
||||
"dependencies": [
|
||||
"control",
|
||||
"invariant",
|
||||
"prelude"
|
||||
]
|
||||
},
|
||||
"tuples-native": {
|
||||
"type": "git",
|
||||
"url": "https://forge.id1.in/aj/purescript-tuples-native.git",
|
||||
"rev": "acd3dec41f5dcd12077e635a40262b6defe83095",
|
||||
"dependencies": [
|
||||
"console",
|
||||
"effect",
|
||||
"functions",
|
||||
"prelude",
|
||||
"tuples",
|
||||
"typelevel",
|
||||
"typelevel-prelude"
|
||||
]
|
||||
},
|
||||
"type-equality": {
|
||||
"type": "registry",
|
||||
"version": "4.0.1",
|
||||
"integrity": "sha256-Hs9D6Y71zFi/b+qu5NSbuadUQXe5iv5iWx0226vOHUw=",
|
||||
"dependencies": []
|
||||
},
|
||||
"typelevel": {
|
||||
"type": "registry",
|
||||
"version": "6.0.0",
|
||||
"integrity": "sha256-Iu7INcwTC/SbKcienMe7KKQvWku2VhCZSGCvrQWVVoc=",
|
||||
"dependencies": [
|
||||
"partial",
|
||||
"prelude",
|
||||
"tuples",
|
||||
"typelevel-prelude",
|
||||
"unsafe-coerce"
|
||||
]
|
||||
},
|
||||
"typelevel-prelude": {
|
||||
"type": "registry",
|
||||
"version": "7.0.0",
|
||||
"integrity": "sha256-uFF2ph+vHcQpfPuPf2a3ukJDFmLhApmkpTMviHIWgJM=",
|
||||
"dependencies": [
|
||||
"prelude",
|
||||
"type-equality"
|
||||
]
|
||||
},
|
||||
"unsafe-coerce": {
|
||||
"type": "registry",
|
||||
"version": "6.0.0",
|
||||
"integrity": "sha256-IqIYW4Vkevn8sI+6aUwRGvd87tVL36BBeOr0cGAE7t0=",
|
||||
"dependencies": []
|
||||
}
|
||||
}
|
||||
}
|
23
spago.yaml
Normal file
23
spago.yaml
Normal file
|
@ -0,0 +1,23 @@
|
|||
package:
|
||||
name: bignumber
|
||||
dependencies:
|
||||
- console
|
||||
- effect
|
||||
- either
|
||||
- exceptions
|
||||
- functions
|
||||
- integers
|
||||
- partial
|
||||
- prelude
|
||||
- psci-support
|
||||
- tuples
|
||||
- tuples-native
|
||||
- typelevel
|
||||
workspace:
|
||||
packageSet:
|
||||
registry: 61.2.0
|
||||
extraPackages:
|
||||
tuples-native:
|
||||
git: https://forge.id1.in/aj/purescript-tuples-native.git
|
||||
ref: main
|
||||
|
|
@ -1,38 +1,129 @@
|
|||
import BigNumber from "bignumber.js";
|
||||
"use strict";
|
||||
|
||||
var BigNumber = require('bignumber.js');
|
||||
|
||||
exports.parseBigNumberImpl = function parseBigNumberImpl (Left,Right,s) {
|
||||
export function parseBigNumberImpl(Left, Right, s) {
|
||||
var x;
|
||||
try {
|
||||
x = new BigNumber(s);
|
||||
} catch (e) {
|
||||
}
|
||||
catch (e) {
|
||||
return Left(e);
|
||||
}
|
||||
return x;
|
||||
};
|
||||
|
||||
|
||||
exports.configImpl = function configImpl (cfg) {
|
||||
return Right(x);
|
||||
}
|
||||
export function configImpl(cfg) {
|
||||
BigNumber.config(cfg);
|
||||
};
|
||||
|
||||
|
||||
exports.isBigNumber = function isBigNumber (x) {
|
||||
}
|
||||
export function isBigNumber(x) {
|
||||
return BigNumber.isBigNumber(x);
|
||||
};
|
||||
|
||||
|
||||
exports.maxBigNumberImpl = function maxBigNumberImpl (x,y) {
|
||||
return BigNumber.maximum(x,y);
|
||||
};
|
||||
|
||||
|
||||
exports.minBigNumberImpl = function minBigNumberImpl (x,y) {
|
||||
return BigNumber.minimum(x,y);
|
||||
};
|
||||
|
||||
|
||||
exports.randomBigNumber = function randomBigNumber () {
|
||||
}
|
||||
export function randomBigNumber() {
|
||||
return BigNumber.random();
|
||||
};
|
||||
}
|
||||
export function absImpl(x) {
|
||||
return x.abs();
|
||||
}
|
||||
export function compareBigNumberImpl(LT, EQ, GT, x, y) {
|
||||
var r = x.comparedTo(y);
|
||||
if (r === -1) {
|
||||
return LT;
|
||||
}
|
||||
else if (r === 0) {
|
||||
return EQ;
|
||||
}
|
||||
else if (r === 1) {
|
||||
return GT;
|
||||
}
|
||||
}
|
||||
export function decimalPlacesImpl(x, y) {
|
||||
return x.decimalPlaces(y);
|
||||
}
|
||||
export function divBigNumberImpl(x, y) {
|
||||
return x.div(y);
|
||||
}
|
||||
export function idivBigNumberImpl(x, y) {
|
||||
return x.idiv(y);
|
||||
}
|
||||
export function powBigNumberImpl(x, y) {
|
||||
return x.pow(y);
|
||||
}
|
||||
export function intValue(x) {
|
||||
return x.integerValue();
|
||||
}
|
||||
export function eqBigNumberImpl(x, y) {
|
||||
return x.eq(y);
|
||||
}
|
||||
export function isFinite(x) {
|
||||
return x.isFinite();
|
||||
}
|
||||
export function gtBigNumberImpl(x, y) {
|
||||
return x.gt(y);
|
||||
}
|
||||
export function gteBigNumberImpl(x, y) {
|
||||
return x.gte(y);
|
||||
}
|
||||
export function isInteger(x) {
|
||||
return x.isInteger();
|
||||
}
|
||||
export function ltBigNumberImpl(x, y) {
|
||||
return x.lt(y);
|
||||
}
|
||||
export function lteBigNumberImpl(x, y) {
|
||||
return x.lte(y);
|
||||
}
|
||||
export function isNaN(x) {
|
||||
return x.isNaN();
|
||||
}
|
||||
export function isNegative(x) {
|
||||
return x.isNegative();
|
||||
}
|
||||
export function isPositive(x) {
|
||||
return x.isPositive();
|
||||
}
|
||||
export function isZero(x) {
|
||||
return x.isZero();
|
||||
}
|
||||
export function minusBigNumberImpl(x, y) {
|
||||
return x.minus(y);
|
||||
}
|
||||
export function moduloBigNumberImpl(x, y) {
|
||||
return x.modulo(y);
|
||||
}
|
||||
export function timesBigNumberImpl(x, y) {
|
||||
return x.times(y);
|
||||
}
|
||||
export function negateImpl(x) {
|
||||
return x.negated();
|
||||
}
|
||||
export function plusBigNumberImpl(x, y) {
|
||||
return x.plus(y);
|
||||
}
|
||||
export function precisionImpl(x, y) {
|
||||
return x.precision(y);
|
||||
}
|
||||
export function shiftedByImpl(x, y) {
|
||||
return x.shiftedBy(y);
|
||||
}
|
||||
export function toNumber(x) {
|
||||
return x.toNumber();
|
||||
}
|
||||
export function toString(x) {
|
||||
return x.toString();
|
||||
}
|
||||
export function toExponential(x) {
|
||||
return x.toExponential();
|
||||
}
|
||||
export function toFixed(x) {
|
||||
return x.toFixed();
|
||||
}
|
||||
export function toFormat(x) {
|
||||
return x.toFormat();
|
||||
}
|
||||
export function toFractionImpl(x) {
|
||||
return x.toFraction();
|
||||
}
|
||||
export function valueOf(x) {
|
||||
return x.valueOf();
|
||||
}
|
||||
export function sqrt(x) {
|
||||
return x.sqrt();
|
||||
}
|
||||
|
|
|
@ -1,34 +1,45 @@
|
|||
module Data.BigNumber
|
||||
( BIGNUMBER, BigNumber, parseBigNumber, config
|
||||
( BigNumber, parseBigNumber, config
|
||||
, ConfigParams, RoundingMode
|
||||
, roundUp, roundDown, roundCeil, roundFloor
|
||||
, roundHalfUp, roundHalfDown, roundHalfEven, roundHalfCeil, roundHalfFloor
|
||||
, ModuloMode, modRoundUp, modRoundDown, modRoundFloor, modRoundHalfEven
|
||||
, modEuclid
|
||||
, isBigNumber, maxBigNumber, minBigNumber, randomBigNumber
|
||||
, isBigNumber, isInteger, isFinite, isNaN, isNegative, isPositive, isZero
|
||||
, toNumber, toString, toExponential, toFixed, toFormat, toFraction, valueOf
|
||||
, abs', negate', idiv, sqrt, pow
|
||||
, intValue, precision, decimalPlaces, shiftedBy, randomBigNumber
|
||||
) where
|
||||
|
||||
import Prelude
|
||||
import Data.Int as Int
|
||||
import Data.Either (Either (..))
|
||||
import Data.Function.Uncurried (Fn3, runFn3, Fn2, runFn2)
|
||||
import Data.Record.Class (class Subrow)
|
||||
import Data.Tuple.Native (T2)
|
||||
import Control.Monad.Eff (Eff, kind Effect)
|
||||
import Control.Monad.Eff.Exception (Error)
|
||||
import Control.Monad.Eff.Uncurried (EffFn1, runEffFn1)
|
||||
import Data.Tuple (Tuple (..))
|
||||
import Data.Function.Uncurried (Fn3, runFn3, Fn2, runFn2, Fn5, runFn5)
|
||||
import Data.Tuple.Native (T2, prj)
|
||||
import Data.Typelevel.Num.Reps (d0, d1)
|
||||
import Data.Generic.Rep (class Generic, Constructor (..), Argument (..))
|
||||
import Row.Class (class SubRow)
|
||||
import Effect (Effect)
|
||||
import Effect.Exception (Error)
|
||||
import Effect.Uncurried (EffectFn1, runEffectFn1)
|
||||
import Partial.Unsafe (unsafePartial)
|
||||
|
||||
|
||||
foreign import data BIGNUMBER :: Effect
|
||||
|
||||
foreign import data BigNumber :: Type
|
||||
|
||||
instance genericBigNumber :: Generic BigNumber (Constructor "BigNumber" (Argument String)) where
|
||||
from x = Constructor (Argument (toString x))
|
||||
to (Constructor (Argument s)) = unsafePartial $ case parseBigNumber s of
|
||||
Right x -> x
|
||||
|
||||
|
||||
foreign import parseBigNumberImpl :: Fn3 (forall e a. e -> Either e a) (forall e a. a -> Either e a) String (Either Error BigNumber)
|
||||
|
||||
parseBigNumber :: String -> Either Error BigNumber
|
||||
parseBigNumber = runFn3 parseBigNumberImpl Left Right
|
||||
|
||||
foreign import configImpl :: forall o eff. EffFn1 (bigNumber :: BIGNUMBER | eff) o Unit
|
||||
foreign import configImpl :: forall o. EffectFn1 o Unit
|
||||
|
||||
newtype RoundingMode = RoundingMode Int
|
||||
|
||||
|
@ -66,6 +77,16 @@ modEuclid :: ModuloMode
|
|||
modEuclid = ModuloMode 9
|
||||
|
||||
|
||||
type FormatParams =
|
||||
( decimalSeparator :: String
|
||||
, groupSeparator :: String
|
||||
, groupSize :: Int
|
||||
, secondaryGroupSize :: Int
|
||||
, fractionGroupSeparator :: String
|
||||
, fractionGroupSize :: Int
|
||||
)
|
||||
|
||||
|
||||
type ConfigParams format =
|
||||
( "DECIMAL_PLACES" :: Int
|
||||
, "ROUNDING_MODE" :: RoundingMode
|
||||
|
@ -78,22 +99,108 @@ type ConfigParams format =
|
|||
, "ALPHABET" :: String
|
||||
)
|
||||
|
||||
config :: forall o format eff
|
||||
. Subrow o (ConfigParams format)
|
||||
=> { | o } -> Eff (bigNumber :: BIGNUMBER | eff) Unit
|
||||
config = runEffFn1 configImpl
|
||||
config :: forall o format
|
||||
. SubRow o (ConfigParams { | format })
|
||||
=> SubRow format FormatParams
|
||||
=> { | o } -> Effect Unit
|
||||
config = runEffectFn1 configImpl
|
||||
|
||||
|
||||
foreign import isBigNumber :: forall a. a -> Boolean
|
||||
foreign import isInteger :: BigNumber -> Boolean
|
||||
foreign import isFinite :: BigNumber -> Boolean
|
||||
foreign import isNaN :: BigNumber -> Boolean
|
||||
foreign import isNegative :: BigNumber -> Boolean
|
||||
foreign import isPositive :: BigNumber -> Boolean
|
||||
foreign import isZero :: BigNumber -> Boolean
|
||||
|
||||
foreign import maxBigNumberImpl :: Fn2 BigNumber BigNumber BigNumber
|
||||
foreign import toNumber :: BigNumber -> Number
|
||||
foreign import toString :: BigNumber -> String
|
||||
foreign import toExponential :: BigNumber -> String
|
||||
foreign import toFixed :: BigNumber -> String
|
||||
foreign import toFormat :: BigNumber -> String
|
||||
foreign import toFractionImpl :: Fn2 BigNumber BigNumber (T2 String String)
|
||||
foreign import valueOf :: BigNumber -> String
|
||||
|
||||
maxBigNumber :: BigNumber -> BigNumber -> BigNumber
|
||||
maxBigNumber = runFn2 maxBigNumberImpl
|
||||
toFraction :: BigNumber -> BigNumber -> Tuple String String
|
||||
toFraction a b =
|
||||
let x = runFn2 toFractionImpl a b
|
||||
in Tuple (prj d0 x) (prj d1 x)
|
||||
|
||||
foreign import minBigNumberImpl :: Fn2 BigNumber BigNumber BigNumber
|
||||
foreign import eqBigNumberImpl :: Fn2 BigNumber BigNumber Boolean
|
||||
foreign import gtBigNumberImpl :: Fn2 BigNumber BigNumber Boolean
|
||||
foreign import gteBigNumberImpl :: Fn2 BigNumber BigNumber Boolean
|
||||
foreign import ltBigNumberImpl :: Fn2 BigNumber BigNumber Boolean
|
||||
foreign import lteBigNumberImpl :: Fn2 BigNumber BigNumber Boolean
|
||||
foreign import compareBigNumberImpl :: Fn5 Ordering Ordering Ordering BigNumber BigNumber Ordering
|
||||
|
||||
minBigNumber :: BigNumber -> BigNumber -> BigNumber
|
||||
minBigNumber = runFn2 minBigNumberImpl
|
||||
foreign import absImpl :: BigNumber -> BigNumber
|
||||
foreign import plusBigNumberImpl :: Fn2 BigNumber BigNumber BigNumber
|
||||
foreign import minusBigNumberImpl :: Fn2 BigNumber BigNumber BigNumber
|
||||
foreign import negateImpl :: BigNumber -> BigNumber
|
||||
foreign import timesBigNumberImpl :: Fn2 BigNumber BigNumber BigNumber
|
||||
foreign import divBigNumberImpl :: Fn2 BigNumber BigNumber BigNumber
|
||||
foreign import idivBigNumberImpl :: Fn2 BigNumber BigNumber BigNumber
|
||||
foreign import moduloBigNumberImpl :: Fn2 BigNumber BigNumber BigNumber
|
||||
foreign import sqrt :: BigNumber -> BigNumber
|
||||
foreign import powBigNumberImpl :: Fn2 BigNumber BigNumber BigNumber
|
||||
|
||||
foreign import randomBigNumber :: forall eff. Eff (bigNumber :: BIGNUMBER | eff) BigNumber
|
||||
abs' :: BigNumber -> BigNumber
|
||||
abs' = absImpl
|
||||
|
||||
negate' :: BigNumber -> BigNumber
|
||||
negate' = negateImpl
|
||||
|
||||
idiv :: BigNumber -> BigNumber -> BigNumber
|
||||
idiv = runFn2 idivBigNumberImpl
|
||||
|
||||
pow :: BigNumber -> BigNumber -> BigNumber
|
||||
pow = runFn2 powBigNumberImpl
|
||||
|
||||
foreign import intValue :: BigNumber -> BigNumber
|
||||
foreign import precisionImpl :: Fn2 BigNumber Int BigNumber
|
||||
foreign import decimalPlacesImpl :: Fn2 BigNumber Int BigNumber
|
||||
foreign import randomBigNumber :: Effect BigNumber
|
||||
foreign import shiftedByImpl :: Fn2 BigNumber Int BigNumber
|
||||
|
||||
precision :: BigNumber -> Int -> BigNumber
|
||||
precision = runFn2 precisionImpl
|
||||
|
||||
decimalPlaces :: BigNumber -> Int -> BigNumber
|
||||
decimalPlaces = runFn2 decimalPlacesImpl
|
||||
|
||||
shiftedBy :: BigNumber -> Int -> BigNumber
|
||||
shiftedBy = runFn2 shiftedByImpl
|
||||
|
||||
|
||||
|
||||
|
||||
instance eqBigNumber :: Eq BigNumber where
|
||||
eq = runFn2 eqBigNumberImpl
|
||||
|
||||
instance ordBigNumber :: Ord BigNumber where
|
||||
compare = runFn5 compareBigNumberImpl LT EQ GT
|
||||
|
||||
instance showBigNumber :: Show BigNumber where
|
||||
show = toString
|
||||
|
||||
instance semiringBigNumber :: Semiring BigNumber where
|
||||
add = runFn2 plusBigNumberImpl
|
||||
zero = unsafePartial $ case parseBigNumber "0" of
|
||||
Right x -> x
|
||||
one = unsafePartial $ case parseBigNumber "1" of
|
||||
Right x -> x
|
||||
mul = runFn2 timesBigNumberImpl
|
||||
|
||||
instance ringBigNumber :: Ring BigNumber where
|
||||
sub = runFn2 minusBigNumberImpl
|
||||
|
||||
instance commutativeRingBigNumber :: CommutativeRing BigNumber
|
||||
|
||||
instance divisionRingBigNumber :: DivisionRing BigNumber where
|
||||
recip = runFn2 divBigNumberImpl one
|
||||
|
||||
instance euclideanRingBigNumber :: EuclideanRing BigNumber where
|
||||
degree = Int.floor <<< toNumber <<< intValue <<< abs'
|
||||
div = runFn2 divBigNumberImpl
|
||||
mod = runFn2 moduloBigNumberImpl
|
||||
|
|
16
src/Row/Class.purs
Normal file
16
src/Row/Class.purs
Normal file
|
@ -0,0 +1,16 @@
|
|||
module Row.Class where
|
||||
|
||||
import Prim.Row (class Union)
|
||||
|
||||
|
||||
class SubRow (child :: Row Type) (parent :: Row Type)
|
||||
|
||||
instance subRowViaUnion :: Union child any parent => SubRow child parent
|
||||
|
||||
|
||||
class IntersectRow (leftRow :: Row Type) (rightRow :: Row Type) (intersection :: Row Type) (leftRowRemainder :: Row Type) (rightRowRemainder :: Row Type)
|
||||
|
||||
instance intersectRowViaUnion
|
||||
:: ( Union leftRowRemainder intersection leftRow
|
||||
, Union rightRowRemainder intersection rightRow
|
||||
) => IntersectRow leftRow rightRow intersection leftRowRemainder rightRowRemainder
|
|
@ -1,9 +0,0 @@
|
|||
module Test.Main where
|
||||
|
||||
import Prelude
|
||||
import Control.Monad.Eff (Eff)
|
||||
import Control.Monad.Eff.Console (CONSOLE, log)
|
||||
|
||||
main :: forall e. Eff (console :: CONSOLE | e) Unit
|
||||
main = do
|
||||
log "You should add some tests."
|
Loading…
Reference in a new issue