packages feed

egison-5.1.0: test/primitive.egi

assertEqual "numerator" (numerator (13 / 21)) 13

assertEqual "denominator" (denominator (13 / 21)) 21

assertEqual "i.modulo" (i.modulo (-21) 13) 5

assertEqual "i.quotient" (i.quotient (-21) 13) (-1)

assertEqual "i.%" (i.% (-21) 13) (-8)

assertEqual "i.neg" (i.neg (-89)) 89

assertEqual "i.abs" (i.abs 0)     0
assertEqual "i.abs" (i.abs 15)    15
assertEqual "i.abs" (i.abs (-89)) 89

assertEqual "f.<" (f.< 0.1 1.0) True
assertEqual "f.<" (f.< 1.0 0.1) False
assertEqual "f.<" (f.< 1.0 1.0) False

assertEqual "f.<=" (f.<= 0.1 1.0) True
assertEqual "f.<=" (f.<= 1.0 0.1) False
assertEqual "f.<=" (f.<= 1.0 1.0) True

assertEqual "f.>" (f.> 0.1 1.0) False
assertEqual "f.>" (f.> 1.0 0.1) True
assertEqual "f.>" (f.> 1.0 1.0) False

assertEqual "f.>=" (f.>= 0.1 1.0) False
assertEqual "f.>=" (f.>= 1.0 0.1) True
assertEqual "f.>=" (f.>= 1.0 1.0) True

assertEqual "round" (round 3.1)              3
assertEqual "round" (round 3.7)              4
assertEqual "round" (round (f.- 0.0 2.2))    (-2)
assertEqual "round" (round (f.- 0.0 2.7))    (-3)

assertEqual "floor" (floor 3.1)              3
assertEqual "floor" (floor 3.7)              3
assertEqual "floor" (floor (f.- 0.0 2.2))    (-3)
assertEqual "floor" (floor (f.- 0.0 2.7))    (-3)

assertEqual "ceiling" (ceiling 3.1)           4
assertEqual "ceiling" (ceiling 3.7)           4
assertEqual "ceiling" (ceiling (f.- 0.0 2.2)) (-2)
assertEqual "ceiling" (ceiling (f.- 0.0 2.7)) (-2)

assertEqual "truncate" (truncate 3.1)              3
assertEqual "truncate" (truncate 3.7)              3
assertEqual "truncate" (truncate (f.- 0.0 2.2))    (-2)
assertEqual "truncate" (truncate (f.- 0.0 2.7))    (-2)

assertEqual "f.sqrt" (f.sqrt 4.0) 2.0
assertEqual "f.sqrt" (f.sqrt 1.0) 1.0

assertEqual "f.exp" (f.exp 0.0) 1.0
assertEqual "f.exp" (f.exp 1.0) 2.718281828459045

assertEqual "f.log" (f.log 1.0) 0.0
assertEqual "f.log" (f.log 10.0) 2.302585092994046

assertEqual "f.sin"   (f.sin 0.0) 0.0
assertEqual "f.cos"   (f.cos 0.0) 1.0
assertEqual "f.tan"   (f.tan 0.0) 0.0
assertEqual "f.asin"  (f.asin 0.0) 0.0
assertEqual "f.acos"  (f.acos 1.0) 0.0
assertEqual "f.atan"  (f.atan 0.0) 0.0
assertEqual "f.sinh"  (f.sinh 0.0) 0.0
assertEqual "f.cosh"  (f.cosh 0.0) 1.0
assertEqual "f.tanh"  (f.tanh 0.0) 0.0
assertEqual "f.asinh" (f.asinh 0.0) 0.0
assertEqual "f.acosh" (f.acosh 1.0) 0.0
assertEqual "f.atanh" (f.atanh 0.0) 0.0

-- tensorSize
-- tensorToList
-- dfOrder

assertEqual "itof" (itof 4)  4.0
assertEqual "itof" (itof (i.neg 1)) (f.- 0.0 1.0)

assertEqual "rtof" (rtof (3 / 2)) 1.5
assertEqual "rtof" (rtof 1)       1.0

assertEqual "ctoi" (ctoi '1') 49

assertEqual "itoc" (itoc 49) '1'

assertEqual "pack" (pack []) ""
assertEqual "pack" (pack ['E', 'g', 'i', 's', 'o', 'n']) "Egison"

assertEqual "unpack" (unpack "Egison") ['E', 'g', 'i', 's', 'o', 'n']
assertEqual "unpack" (unpack "") []

assertEqual "unconsString" (unconsString "Egison") ('E', "gison")

assertEqual "lengthString" (lengthString "") 0
assertEqual "lengthString" (lengthString "Egison") 6

assertEqual "appendString" (appendString "" "")       ""
assertEqual "appendString" (appendString "" "Egison") "Egison"
assertEqual "appendString" (appendString "Egison" "") "Egison"
assertEqual "appendString" (appendString "Egi" "son") "Egison"

assertEqual "splitString" (splitString "," "") [""]
assertEqual "splitString" (splitString "," "2,3,5,7,11,13") ["2", "3", "5", "7", "11", "13"]

assertEqual "regex" (regex "cde" "abcdefg") [("ab", "cde", "fg")]
assertEqual "regex" (regex "[0-9]+" "abc123defg") [("abc", "123", "defg")]
assertEqual "regex" (regex "a*" "") [("", "", "")]

assertEqual "regexCg" (regexCg "([0-9]+),([0-9]+)" "abc,123,45,defg") [("abc,", ["123", "45"], ",defg")]

-- addSubscript
-- addSuperscript

-- TODO: read
-- assertEqual "read" (read "3")                3
-- assertEqual "read" (read "3.14")             3.14
-- assertEqual "read" (read "[1, 2]")            [1, 2]
-- assertEqual "read" (read "\"Hello world!\"") "Hello world!"

-- TODO: read-tsv

assertEqual "show" (show 3)              "3"
assertEqual "show" (show 3.14159)        "3.14159"
assertEqual "show" (show [1, 2])         "[1, 2]"
assertEqual "show" (show "Hello world!") "\"Hello world!\""

-- TODO: show-tsv

assertEqual "isInteger" (isInteger 1) True
assertEqual "isInteger" (isInteger (1 / 2)) False

assertEqual "isRational" (isRational 1)       True
assertEqual "isRational" (isRational (1 / 2)) True
assertEqual "isRational" (isRational 1.0)     False