|
@@ -1,170 +0,0 @@
|
|
|
-# unit_of
|
|
|
-
|
|
|
-assert_eq(unit_of(0), 1)
|
|
|
-
|
|
|
-assert_eq(unit_of(1), 1)
|
|
|
-assert_eq(unit_of(1.2345), 1)
|
|
|
-
|
|
|
-assert_eq(unit_of(1 m), m)
|
|
|
-assert_eq(unit_of(1.2345 m), m)
|
|
|
-
|
|
|
-assert_eq(unit_of(1 m^2/s), m^2/s)
|
|
|
-assert_eq(unit_of(1.2345 m^2/s), m^2/s)
|
|
|
-
|
|
|
-# value_of
|
|
|
-
|
|
|
-assert_eq(value_of(0), 0)
|
|
|
-
|
|
|
-assert_eq(value_of(1), 1)
|
|
|
-assert_eq(value_of(1.2345), 1.2345)
|
|
|
-
|
|
|
-assert_eq(value_of(1 m), 1)
|
|
|
-assert_eq(value_of(1.2345 m), 1.2345)
|
|
|
-
|
|
|
-assert_eq(value_of(1 m^2/s), 1)
|
|
|
-assert_eq(value_of(1.2345 m^2/s), 1.2345)
|
|
|
-
|
|
|
-# hypot
|
|
|
-
|
|
|
-assert_eq(hypot2(3, 4), 5)
|
|
|
-assert_eq(hypot2(3 m, 4 m), 5 m)
|
|
|
-
|
|
|
-assert_eq(hypot3(8, 9, 12), 17)
|
|
|
-assert_eq(hypot3(8 m, 9 m, 12 m), 17 m)
|
|
|
-
|
|
|
-# trigonometry_extra
|
|
|
-
|
|
|
-assert_eq(cot(0.3), 3.2327281, 1e-5)
|
|
|
-assert_eq(acot(0.3), 1.2793395, 1e-5)
|
|
|
-
|
|
|
-assert_eq(coth(0.3), 3.4327384, 1e-5)
|
|
|
-assert_eq(acoth(1.3), 1.018441, 1e-5)
|
|
|
-
|
|
|
-assert_eq(secant(0.3), 1.0467516, 1e-5)
|
|
|
-assert_eq(arcsecant(1.3), 0.693160, 1e-5)
|
|
|
-
|
|
|
-assert_eq(csc(0.3), 3.3838634, 1e-5)
|
|
|
-assert_eq(acsc(1.3), 0.877636, 1e-5)
|
|
|
-
|
|
|
-assert_eq(sech(1.3), 0.507379, 1e-5)
|
|
|
-assert_eq(asech(0.3), 1.873820, 1e-5)
|
|
|
-
|
|
|
-assert_eq(csch(0.3), 3.283853, 1e-5)
|
|
|
-assert_eq(acsch(0.3), 1.918896, 1e-5)
|
|
|
-
|
|
|
-# strings
|
|
|
-
|
|
|
-assert_eq(str_length(""), 0)
|
|
|
-assert_eq(str_length("foo"), 3)
|
|
|
-
|
|
|
-assert_eq(str_slice("hello world", 0, 5), "hello")
|
|
|
-assert_eq(str_slice("hello world", 6, 11), "world")
|
|
|
-assert_eq(str_slice("hello world", 0, 0), "")
|
|
|
-assert_eq(str_slice("hello world", 0, 100), "")
|
|
|
-
|
|
|
-assert_eq(str_append("foo", "bar"), "foobar")
|
|
|
-
|
|
|
-assert(str_contains("hello world", "hello"))
|
|
|
-assert(str_contains("hello world", "world"))
|
|
|
-assert_eq(str_contains("hello world", "HELLO"), false)
|
|
|
-
|
|
|
-assert_eq(str_replace("hello world", "hello", "HEY"), "HEY world")
|
|
|
-assert_eq(str_replace("xxx", "x", "yY"), "yYyYyY")
|
|
|
-assert_eq(str_replace("a b", " ", " "), "a b")
|
|
|
-
|
|
|
-assert_eq(str_repeat("xy", 3), "xyxyxy")
|
|
|
-
|
|
|
-assert_eq((0b0 -> bin), "0b0")
|
|
|
-assert_eq((0b1 -> bin), "0b1")
|
|
|
-assert_eq((0b10 -> bin), "0b10")
|
|
|
-assert_eq((0b11 -> bin), "0b11")
|
|
|
-assert_eq((0b10101010101010101010101010101010 -> bin), "0b10101010101010101010101010101010")
|
|
|
-assert_eq((-0b11110000 -> bin), "-0b11110000")
|
|
|
-
|
|
|
-assert_eq((0o0 -> oct), "0o0")
|
|
|
-assert_eq((0o1 -> oct), "0o1")
|
|
|
-assert_eq((0o7 -> oct), "0o7")
|
|
|
-assert_eq((0o10 -> oct), "0o10")
|
|
|
-assert_eq((0o77 -> oct), "0o77")
|
|
|
-assert_eq((0o12345670 -> oct), "0o12345670")
|
|
|
-assert_eq((-0o12345670 -> oct), "-0o12345670")
|
|
|
-
|
|
|
-assert_eq((0x0 -> hex), "0x0")
|
|
|
-assert_eq((0x1 -> hex), "0x1")
|
|
|
-assert_eq((0x9 -> hex), "0x9")
|
|
|
-assert_eq((0xa -> hex), "0xa")
|
|
|
-assert_eq((0xf -> hex), "0xf")
|
|
|
-assert_eq((0xabc1234567890 -> hex), "0xabc1234567890")
|
|
|
-assert_eq((-0xc0ffee -> hex), "-0xc0ffee")
|
|
|
-
|
|
|
-# maximum
|
|
|
-
|
|
|
-assert_eq(maximum([1]), 1)
|
|
|
-assert_eq(maximum([1, 3]), 3)
|
|
|
-assert_eq(maximum([3, 1]), 3)
|
|
|
-assert_eq(maximum([100 cm, 3 m]), 3 m)
|
|
|
-
|
|
|
-# minimum
|
|
|
-
|
|
|
-assert_eq(minimum([1]), 1)
|
|
|
-assert_eq(minimum([1, 3]), 1)
|
|
|
-assert_eq(minimum([3, 1]), 1)
|
|
|
-assert_eq(minimum([100 cm, 3 m]), 100 cm)
|
|
|
-
|
|
|
-# mean
|
|
|
-
|
|
|
-assert_eq(mean([]), 0)
|
|
|
-assert_eq(mean([1]), 1)
|
|
|
-assert_eq(mean([1, 3]), 2)
|
|
|
-assert_eq(mean([1 m, 300 cm]), 2 m)
|
|
|
-
|
|
|
-# variance
|
|
|
-
|
|
|
-assert_eq(variance([]), 0)
|
|
|
-assert_eq(variance([1]), 0)
|
|
|
-assert_eq(variance([1, 1, 1, 1]), 0)
|
|
|
-assert_eq(variance([1, 2, 3, 4, 5]), 2.0)
|
|
|
-assert_eq(variance([1, -1, 1, -1]), 1.0)
|
|
|
-assert_eq(variance([-2, -4, -6, -8]), 5.0)
|
|
|
-
|
|
|
-# standard deviation
|
|
|
-
|
|
|
-assert_eq(stdev([]), 0)
|
|
|
-assert_eq(stdev([1]), 0)
|
|
|
-assert_eq(stdev([1, 1, 1, 1]), 0)
|
|
|
-assert_eq(stdev([1, 2, 3, 4, 5]), sqrt(2.0))
|
|
|
-
|
|
|
-# median
|
|
|
-
|
|
|
-assert_eq(median([1]), 1)
|
|
|
-assert_eq(median([1, 2]), 1.5)
|
|
|
-assert_eq(median([1, 2, 3]), 2)
|
|
|
-assert_eq(median([1, 2, 3, 4]), 2.5)
|
|
|
-assert_eq(median([1, 2, 3, 4, 5]), 3)
|
|
|
-
|
|
|
-# gcd
|
|
|
-
|
|
|
-assert_eq(gcd(0, 0), 0)
|
|
|
-assert_eq(gcd(0, 1), 1)
|
|
|
-assert_eq(gcd(1, 0), 1)
|
|
|
-assert_eq(gcd(1, 1), 1)
|
|
|
-assert_eq(gcd(2, 3), 1)
|
|
|
-assert_eq(gcd(2, 4), 2)
|
|
|
-assert_eq(gcd(3, 6), 3)
|
|
|
-assert_eq(gcd(4, 6), 2)
|
|
|
-assert_eq(gcd(4, 8), 4)
|
|
|
-assert_eq(gcd(6, 35), 1)
|
|
|
-assert_eq(gcd(1071, 462), 21)
|
|
|
-assert_eq(gcd(-8, 4), 4)
|
|
|
-assert_eq(gcd(-8, -4), 4)
|
|
|
-assert_eq(gcd(8, -4), 4)
|
|
|
-
|
|
|
-# lcm
|
|
|
-
|
|
|
-assert_eq(lcm(1, 1), 1)
|
|
|
-assert_eq(lcm(2, 3), 6)
|
|
|
-assert_eq(lcm(2, 4), 4)
|
|
|
-assert_eq(lcm(3, 6), 6)
|
|
|
-assert_eq(lcm(21, 6), 42)
|
|
|
-assert_eq(lcm(-8, 4), 8)
|
|
|
-assert_eq(lcm(8, -4), 8)
|