add lost functions (#16843)

This commit is contained in:
flywind 2021-01-29 08:14:19 -06:00 • committed by GitHub
commit 296cf9657c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 0 deletions

View file

@ -105,6 +105,14 @@ func `**`*(x, y: JsBigInt): JsBigInt {.importjs: "((#) $1 #)".} =
# pending https://github.com/nim-lang/Nim/pull/15940, simplify to: # pending https://github.com/nim-lang/Nim/pull/15940, simplify to:
# doAssertRaises: discard big"2" ** big"-1" # raises foreign `RangeError` # doAssertRaises: discard big"2" ** big"-1" # raises foreign `RangeError`
func `and`*(x, y: JsBigInt): JsBigInt {.importjs: "(# & #)".} =
runnableExamples:
doAssert (big"555" and big"2") == big"2"
func `or`*(x, y: JsBigInt): JsBigInt {.importjs: "(# | #)".} =
runnableExamples:
doAssert (big"555" or big"2") == big"555"
func `xor`*(x, y: JsBigInt): JsBigInt {.importjs: "(# ^ #)".} = func `xor`*(x, y: JsBigInt): JsBigInt {.importjs: "(# ^ #)".} =
runnableExamples: runnableExamples:
doAssert (big"555" xor big"2") == big"553" doAssert (big"555" xor big"2") == big"553"

View file

@ -11,6 +11,8 @@ var big3: JsBigInt = big"2"
doAssert big3 == big"2" doAssert big3 == big"2"
doAssert (big3 xor big2) == big"664" doAssert (big3 xor big2) == big"664"
doAssert (big"555" and big"2") == big"2"
doAssert (big"555" or big"2") == big"555"
doAssert (big1 mod big2) == big"613" doAssert (big1 mod big2) == big"613"
doAssert -big1 == big"-2147483647" doAssert -big1 == big"-2147483647"
doAssert big1 div big2 == big"3224449" doAssert big1 div big2 == big"3224449"