Constants: ---------- Testing type of: KNumber::Zero should give Integer and gives Integer ...OK Testing type of: KNumber::One should give Integer and gives Integer ...OK Testing type of: KNumber::NegOne should give Integer and gives Integer ...OK Testing type of: KNumber::Pi should give Float and gives Float ...OK Testing type of: KNumber::Euler should give Float and gives Float ...OK Testing Constructors: --------------------- Testing result of: KNumber(5) should give 5 and gives 5 ... The type of the result should be Integer and gives Integer ... OK Testing type of: KNumber(5.3) should give Float and gives Float ...OK Testing type of: KNumber(0.0) should give Integer and gives Integer ...OK Testing result of: KNumber("5") should give 5 and gives 5 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber("5/3") should give 5/3 and gives 5/3 ... The type of the result should be Fraction and gives Fraction ... OK Testing result of: KNumber("5/1") should give 5 and gives 5 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber("0/12") should give 0 and gives 0 ... The type of the result should be Integer and gives Integer ... OK Read decimals as fractions: Testing result of: KNumber("5") should give 5 and gives 5 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber("1.2") should give 6/5 and gives 6/5 ... The type of the result should be Fraction and gives Fraction ... OK Testing result of: KNumber("-0.02") should give -1/50 and gives -1/50 ... The type of the result should be Fraction and gives Fraction ... OK Testing result of: KNumber("5e-2") should give 1/20 and gives 1/20 ... The type of the result should be Fraction and gives Fraction ... OK Testing result of: KNumber("1.2e3") should give 1200 and gives 1200 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber("0.02e+1") should give 1/5 and gives 1/5 ... The type of the result should be Fraction and gives Fraction ... OK Read decimals as floats: Testing result of: KNumber("5.3") should give 5.3 and gives 5.3 ... The type of the result should be Float and gives Float ... OK Testing result of: KNumber("nan") should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber("inf") should give inf and gives inf ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber("-inf") should give -inf and gives -inf ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber("5,2") should give 5.2 and gives 5.2 ... The type of the result should be Float and gives Float ... OK Testing Compare: ---------------- Testing truth of: KNumber(5) == KNumber(2) should be 0 and is 0 ... OK Testing truth of: KNumber(5) > KNumber(2) should be 1 and is 1 ... OK Testing truth of: KNumber(5) < KNumber(2) should be 0 and is 0 ... OK Testing truth of: KNumber(5) < KNumber(0) should be 0 and is 0 ... OK Testing truth of: KNumber(-5) < KNumber(0) should be 1 and is 1 ... OK Testing truth of: KNumber(5) >= KNumber(2) should be 1 and is 1 ... OK Testing truth of: KNumber(5) <= KNumber(2) should be 0 and is 0 ... OK Testing truth of: KNumber(5) != KNumber(2) should be 1 and is 1 ... OK Testing truth of: KNumber(2) == KNumber(2) should be 1 and is 1 ... OK Testing truth of: KNumber(2) > KNumber(2) should be 0 and is 0 ... OK Testing truth of: KNumber(2) < KNumber(2) should be 0 and is 0 ... OK Testing truth of: KNumber(2) >= KNumber(2) should be 1 and is 1 ... OK Testing truth of: KNumber(2) <= KNumber(2) should be 1 and is 1 ... OK Testing truth of: KNumber(2) != KNumber(2) should be 0 and is 0 ... OK Testing truth of: KNumber(5) == KNumber("1/2") should be 0 and is 0 ... OK Testing truth of: KNumber(5) > KNumber("1/2") should be 1 and is 1 ... OK Testing truth of: KNumber(5) < KNumber("1/2") should be 0 and is 0 ... OK Testing truth of: KNumber(5) >= KNumber("1/2") should be 1 and is 1 ... OK Testing truth of: KNumber(5) <= KNumber("1/2") should be 0 and is 0 ... OK Testing truth of: KNumber(5) != KNumber("1/2") should be 1 and is 1 ... OK Testing truth of: KNumber("1/2") == KNumber("1/2") should be 1 and is 1 ... OK Testing truth of: KNumber("1/2") > KNumber("1/2") should be 0 and is 0 ... OK Testing truth of: KNumber("1/2") < KNumber("1/2") should be 0 and is 0 ... OK Testing truth of: KNumber("1/2") >= KNumber("1/2") should be 1 and is 1 ... OK Testing truth of: KNumber("1/2") <= KNumber("1/2") should be 1 and is 1 ... OK Testing truth of: KNumber("1/2") != KNumber("1/2") should be 0 and is 0 ... OK Testing truth of: KNumber("3/2") == KNumber("1/2") should be 0 and is 0 ... OK Testing truth of: KNumber("3/2") > KNumber("1/2") should be 1 and is 1 ... OK Testing truth of: KNumber("3/2") < KNumber("1/2") should be 0 and is 0 ... OK Testing truth of: KNumber("3/2") >= KNumber("1/2") should be 1 and is 1 ... OK Testing truth of: KNumber("3/2") <= KNumber("1/2") should be 0 and is 0 ... OK Testing truth of: KNumber("3/2") != KNumber("1/2") should be 1 and is 1 ... OK Testing truth of: KNumber(3.2) != KNumber(3) should be 1 and is 1 ... OK Testing truth of: KNumber(3.2) > KNumber(3) should be 1 and is 1 ... OK Testing truth of: KNumber(3.2) < KNumber(3) should be 0 and is 0 ... OK Testing truth of: KNumber(3.2) < KNumber("3/5") should be 0 and is 0 ... OK Testing additions: ------------------ Testing result of: KNumber(5) + KNumber(2) should give 7 and gives 7 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(5) + KNumber("2/3") should give 17/3 and gives 17/3 ... The type of the result should be Fraction and gives Fraction ... OK Testing result of: KNumber(5) + KNumber("2.3") should give 7.3 and gives 7.3 ... The type of the result should be Float and gives Float ... OK Testing result of: KNumber("5/3") + KNumber(2) should give 11/3 and gives 11/3 ... The type of the result should be Fraction and gives Fraction ... OK Testing result of: KNumber("5/3") + KNumber("2/3") should give 7/3 and gives 7/3 ... The type of the result should be Fraction and gives Fraction ... OK Testing result of: KNumber("5/3") + KNumber("1/3") should give 2 and gives 2 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber("5/3") + KNumber("-26/3") should give -7 and gives -7 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber("5/2") + KNumber(2.3) should give 4.8 and gives 4.8 ... The type of the result should be Float and gives Float ... OK Testing result of: KNumber(5.3) + KNumber(2) should give 7.3 and gives 7.3 ... The type of the result should be Float and gives Float ... OK Testing result of: KNumber(5.3) + KNumber("2/4") should give 5.8 and gives 5.8 ... The type of the result should be Float and gives Float ... OK Testing result of: KNumber(5.3) + KNumber(2.3) should give 7.6 and gives 7.6 ... The type of the result should be Float and gives Float ... OK Testing subtractions: --------------------- Testing result of: KNumber(5) - KNumber(2) should give 3 and gives 3 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(5) - KNumber("2/3") should give 13/3 and gives 13/3 ... The type of the result should be Fraction and gives Fraction ... OK Testing result of: KNumber(5) - KNumber(2.3) should give 2.7 and gives 2.7 ... The type of the result should be Float and gives Float ... OK Testing result of: KNumber("5/3") - KNumber(2) should give -1/3 and gives -1/3 ... The type of the result should be Fraction and gives Fraction ... OK Testing result of: KNumber("5/3") - KNumber("1/3") should give 4/3 and gives 4/3 ... The type of the result should be Fraction and gives Fraction ... OK Testing result of: KNumber("5/3") - KNumber("2/3") should give 1 and gives 1 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber("-5/3") - KNumber("4/3") should give -3 and gives -3 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber("5/4") - KNumber(2.2) should give -0.95 and gives -0.95 ... The type of the result should be Float and gives Float ... OK Testing result of: KNumber(5.3) - KNumber(2) should give 3.3 and gives 3.3 ... The type of the result should be Float and gives Float ... OK Testing result of: KNumber(5.3) - KNumber("3/4") should give 4.55 and gives 4.55 ... The type of the result should be Float and gives Float ... OK Testing result of: KNumber(5.3) - KNumber(2.3) should give 3 and gives 3 ... The type of the result should be Integer and gives Integer ... OK Testing multiplications: ------------------------ Testing result of: KNumber(5) * KNumber(2) should give 10 and gives 10 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(5) * KNumber("2/3") should give 10/3 and gives 10/3 ... The type of the result should be Fraction and gives Fraction ... OK Testing result of: KNumber(5) * KNumber("2/5") should give 2 and gives 2 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(5) * KNumber(2.3) should give 11.5 and gives 11.5 ... The type of the result should be Float and gives Float ... OK Testing result of: KNumber(0) * KNumber("2/5") should give 0 and gives 0 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(0) * KNumber(2.3) should give 0 and gives 0 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber("5/3") * KNumber(2) should give 10/3 and gives 10/3 ... The type of the result should be Fraction and gives Fraction ... OK Testing result of: KNumber("5/3") * KNumber(0) should give 0 and gives 0 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber("5/3") * KNumber("2/3") should give 10/9 and gives 10/9 ... The type of the result should be Fraction and gives Fraction ... OK Testing result of: KNumber("25/6") * KNumber("12/5") should give 10 and gives 10 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber("5/2") * KNumber(2.3) should give 5.75 and gives 5.75 ... The type of the result should be Float and gives Float ... OK Testing result of: KNumber(5.3) * KNumber(2) should give 10.6 and gives 10.6 ... The type of the result should be Float and gives Float ... OK Testing result of: KNumber(5.3) * KNumber(0) should give 0 and gives 0 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(5.3) * KNumber("1/2") should give 2.65 and gives 2.65 ... The type of the result should be Float and gives Float ... OK Testing result of: KNumber(5.3) * KNumber(2.3) should give 12.19 and gives 12.19 ... The type of the result should be Float and gives Float ... OK Testing divisions: ------------------ Testing result of: KNumber(5) / KNumber(2) should give 5/2 and gives 5/2 ... The type of the result should be Fraction and gives Fraction ... OK Testing result of: KNumber(122) / KNumber(2) should give 61 and gives 61 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(12) / KNumber(0) should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(-12) / KNumber(0) should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(5) / KNumber("2/3") should give 15/2 and gives 15/2 ... The type of the result should be Fraction and gives Fraction ... OK Testing result of: KNumber(6) / KNumber("2/3") should give 9 and gives 9 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(5) / KNumber(2.5) should give 2 and gives 2 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(5) / KNumber(0.0) should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(-5) / KNumber(0.0) should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber("5/3") / KNumber(2) should give 5/6 and gives 5/6 ... The type of the result should be Fraction and gives Fraction ... OK Testing result of: KNumber("5/3") / KNumber(0) should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber("-5/3") / KNumber(0) should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber("5/3") / KNumber("2/3") should give 5/2 and gives 5/2 ... The type of the result should be Fraction and gives Fraction ... OK Testing result of: KNumber("49/3") / KNumber("7/9") should give 21 and gives 21 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber("5/2") / KNumber(2.5) should give 1 and gives 1 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber("5/2") / KNumber(0.0) should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber("-5/2") / KNumber(0.0) should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(5.3) / KNumber(2) should give 2.65 and gives 2.65 ... The type of the result should be Float and gives Float ... OK Testing result of: KNumber(5.3) / KNumber(0) should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(-5.3) / KNumber(0) should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(5.3) / KNumber("2/3") should give 7.95 and gives 7.95 ... The type of the result should be Float and gives Float ... OK Testing result of: KNumber(5.5) / KNumber(2.5) should give 2.2 and gives 2.2 ... The type of the result should be Float and gives Float ... OK Testing result of: KNumber(5.5) / KNumber(0.0) should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(-5.5) / KNumber(0.0) should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing And/Or: --------------- Testing result of: KNumber(17) & KNumber(9) should give 1 and gives 1 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(17) | KNumber(9) should give 25 and gives 25 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(1023) & KNumber(255) should give 255 and gives 255 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(1023) | KNumber(255) should give 1023 and gives 1023 ... The type of the result should be Integer and gives Integer ... OK Testing modulus: ---------------- Testing result of: KNumber(23) % KNumber(4) should give 3 and gives 3 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(12) % KNumber(-5) should give 2 and gives 2 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(-12) % KNumber(5) should give 3 and gives 3 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(12) % KNumber(0) should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(-12) % KNumber(0) should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing absolute value: ----------------------- Testing result of: KNumber(5).abs() should give 5 and gives 5 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber("2/3").abs() should give 2/3 and gives 2/3 ... The type of the result should be Fraction and gives Fraction ... OK Testing result of: KNumber("2.3").abs() should give 2.3 and gives 2.3 ... The type of the result should be Float and gives Float ... OK Testing result of: KNumber(-5).abs() should give 5 and gives 5 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber("-2/3").abs() should give 2/3 and gives 2/3 ... The type of the result should be Fraction and gives Fraction ... OK Testing result of: KNumber("-2.3").abs() should give 2.3 and gives 2.3 ... The type of the result should be Float and gives Float ... OK Testing square root, cubic root: -------------------------------- Testing result of: KNumber(16).sqrt() should give 4 and gives 4 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(-16).sqrt() should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber("16/9").sqrt() should give 4/3 and gives 4/3 ... The type of the result should be Fraction and gives Fraction ... OK Testing result of: KNumber("-16/9").sqrt() should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(2).sqrt() should give 1.41421356237 and gives 1.41421356237 ... The type of the result should be Float and gives Float ... OK Testing result of: KNumber("2/3").sqrt() should give 0.816496580928 and gives 0.816496580928 ... The type of the result should be Float and gives Float ... OK Testing result of: KNumber("0.25").sqrt() should give 0.5 and gives 0.5 ... The type of the result should be Float and gives Float ... OK Testing result of: KNumber("-0.25").sqrt() should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(27).cbrt() should give 3 and gives 3 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(-27).cbrt() should give -3 and gives -3 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber("27/8").cbrt() should give 3/2 and gives 3/2 ... The type of the result should be Fraction and gives Fraction ... OK Testing result of: KNumber("-8/27").cbrt() should give -2/3 and gives -2/3 ... The type of the result should be Fraction and gives Fraction ... OK Testing result of: KNumber(2).cbrt() should give 1.25992104989 and gives 1.25992104989 ... The type of the result should be Float and gives Float ... OK Testing result of: KNumber("2/3").cbrt() should give 0.873580464736 and gives 0.873580464736 ... The type of the result should be Float and gives Float ... OK Testing result of: KNumber("0.25").cbrt() should give 0.629960524947 and gives 0.629960524947 ... The type of the result should be Float and gives Float ... OK Testing result of: KNumber("-0.25").cbrt() should give -0.629960524947 and gives -0.629960524947 ... The type of the result should be Float and gives Float ... OK Testing factorial: ------------------ Testing result of: KNumber(-1).factorial() should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(-2).factorial() should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(-20).factorial() should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(-1/2).factorial() should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(-0.5).factorial() should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(0).factorial() should give 1 and gives 1 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(1).factorial() should give 1 and gives 1 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(2).factorial() should give 2 and gives 2 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(3).factorial() should give 6 and gives 6 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(4).factorial() should give 24 and gives 24 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(5).factorial() should give 120 and gives 120 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(6).factorial() should give 720 and gives 720 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(9).factorial() should give 362880 and gives 362880 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(12).factorial() should give 479001600 and gives 479001600 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(13).factorial() should give 6227020800 and gives 6227020800 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(1/2).factorial() should give 1 and gives 1 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(2/1).factorial() should give 2 and gives 2 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(3/2).factorial() should give 1 and gives 1 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(0.1).factorial() should give 1 and gives 1 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(0.5).factorial() should give 1 and gives 1 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(1.5).factorial() should give 1 and gives 1 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(2.5).factorial() should give 2 and gives 2 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(3.5).factorial() should give 6 and gives 6 ... The type of the result should be Integer and gives Integer ... OK Testing complement: ------------------- Testing result of: ~KNumber(0.12345) should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: ~KNumber(-0.12345) should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: ~KNumber("1/2") should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: ~KNumber("-1/2") should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing Power: -------------- Testing result of: KNumber(0) ^ KNumber(0) should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(0) ^ KNumber(-4) should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(5) ^ KNumber(4) should give 625 and gives 625 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(122) ^ KNumber(0) should give 1 and gives 1 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(-5) ^ KNumber(0) should give 1 and gives 1 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(-2) ^ KNumber(3) should give -8 and gives -8 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(-2) ^ KNumber(4) should give 16 and gives 16 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(5) ^ KNumber(-2) should give 1/25 and gives 1/25 ... The type of the result should be Fraction and gives Fraction ... OK Testing result of: KNumber(8) ^ KNumber("2/3") should give 4 and gives 4 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(8) ^ KNumber("-2/3") should give 1/4 and gives 1/4 ... The type of the result should be Fraction and gives Fraction ... OK Testing result of: KNumber(-16) ^ KNumber("1/4") should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(-8) ^ KNumber("1/3") should give -2 and gives -2 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(5) ^ KNumber(0.0) should give 1 and gives 1 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(-5) ^ KNumber(0.0) should give 1 and gives 1 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber("5/3") ^ KNumber(2) should give 25/9 and gives 25/9 ... The type of the result should be Fraction and gives Fraction ... OK Testing result of: KNumber("5/3") ^ KNumber(0) should give 1 and gives 1 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber("-5/3") ^ KNumber(0) should give 1 and gives 1 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber("8/27") ^ KNumber("2/3") should give 4/9 and gives 4/9 ... The type of the result should be Fraction and gives Fraction ... OK Testing result of: KNumber("49/3") ^ KNumber("7/9") should give 8.78016428243 and gives 8.78016428243 ... The type of the result should be Float and gives Float ... OK Testing result of: KNumber("5/2") ^ KNumber(2.5) should give 9.88211768803 and gives 9.88211768803 ... The type of the result should be Float and gives Float ... OK Testing result of: KNumber("5/2") ^ KNumber(0.0) should give 1 and gives 1 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber("-5/2") ^ KNumber(0.0) should give 1 and gives 1 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(5.3) ^ KNumber(2) should give 28.09 and gives 28.09 ... The type of the result should be Float and gives Float ... OK Testing result of: KNumber(5.3) ^ KNumber(0) should give 1 and gives 1 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(-5.3) ^ KNumber(0) should give 1 and gives 1 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(5.3) ^ KNumber("2/3") should give 3.03983898039 and gives 3.03983898039 ... The type of the result should be Float and gives Float ... OK Testing result of: KNumber(5.5) ^ KNumber(2.5) should give 70.9425383673 and gives 70.9425383673 ... The type of the result should be Float and gives Float ... OK Testing result of: KNumber(5.5) ^ KNumber(0.0) should give 1 and gives 1 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(-5.5) ^ KNumber(0.0) should give 1 and gives 1 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber::Pi() ^ KNumber::Pi() should give 36.4621596072 and gives 36.4621596072 ... The type of the result should be Float and gives Float ... OK Testing result of: KNumber::Euler() ^ KNumber::Pi() should give 23.1406926328 and gives 23.1406926328 ... The type of the result should be Float and gives Float ... OK Testing result of: KNumber(2.0) ^ KNumber(0.5) should give 1.41421356237 and gives 1.41421356237 ... The type of the result should be Float and gives Float ... OK Testing result of: KNumber(2.0) ^ KNumber(-0.5) should give 0.707106781187 and gives 0.707106781187 ... The type of the result should be Float and gives Float ... OK Testing result of: KNumber(-2.0).exp() should give 0.135335283237 and gives 0.135335283237 ... The type of the result should be Float and gives Float ... OK Testing result of: KNumber::Euler() ^ KNumber(-2.0) should give 0.135335283237 and gives 0.135335283237 ... The type of the result should be Float and gives Float ... OK Testing result of: KNumber(2.0).exp() should give 7.38905609893 and gives 7.38905609893 ... The type of the result should be Float and gives Float ... OK Testing result of: KNumber::Euler() ^ KNumber(2.0) should give 7.38905609893 and gives 7.38905609893 ... The type of the result should be Float and gives Float ... OK Testing result of: KNumber::Euler() ^ 1000 should give 1.97007111402e+434 and gives 1.97007111402e+434 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber("3.1415926") ^ KNumber("3.1415926") should give 36.4621554164 and gives 36.4621554164 ... The type of the result should be Float and gives Float ... OK Testing truncate to an integer: ------------------------------- Testing result of: KNumber(16).integerPart() should give 16 and gives 16 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber("43/9").integerPart() should give 4 and gives 4 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber("-43/9").integerPart() should give -4 and gives -4 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber("5.25").integerPart() should give 5 and gives 5 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber("-5.25").integerPart() should give -5 and gives -5 ... The type of the result should be Integer and gives Integer ... OK Testing left/right shift: ------------------------- Testing result of: KNumber(16) << KNumber(2) should give 64 and gives 64 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(16) >> KNumber(2) should give 4 and gives 4 ... The type of the result should be Integer and gives Integer ... OK Testing inf/nan-arithmetics: ---------------------------- Testing result of: inf + KNumber(2) should give inf and gives inf ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(-5) + inf should give inf and gives inf ... The type of the result should be Special and gives Special ... OK Testing result of: inf + KNumber("1/2") should give inf and gives inf ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber("-5/3") + inf should give inf and gives inf ... The type of the result should be Special and gives Special ... OK Testing result of: inf + KNumber(2.01) should give inf and gives inf ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(-5.4) + inf should give inf and gives inf ... The type of the result should be Special and gives Special ... OK Testing result of: -inf + KNumber(2) should give -inf and gives -inf ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(-5) + -inf should give -inf and gives -inf ... The type of the result should be Special and gives Special ... OK Testing result of: -inf + KNumber("1/2") should give -inf and gives -inf ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber("-5/3") + -inf should give -inf and gives -inf ... The type of the result should be Special and gives Special ... OK Testing result of: -inf + KNumber(2.01) should give -inf and gives -inf ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(-5.4) + -inf should give -inf and gives -inf ... The type of the result should be Special and gives Special ... OK Testing result of: nan + KNumber(2) should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(-5) + nan should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: nan + KNumber("1/2") should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber("-5/3") + nan should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: nan + KNumber(2.01) should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(-5.4) + nan should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: inf + inf should give inf and gives inf ... The type of the result should be Special and gives Special ... OK Testing result of: inf + -inf should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: -inf + inf should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: -inf + -inf should give -inf and gives -inf ... The type of the result should be Special and gives Special ... OK Testing result of: inf + nan should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: -inf + nan should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: nan + inf should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: -inf + nan should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: inf - KNumber(2) should give inf and gives inf ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(-5) - inf should give -inf and gives -inf ... The type of the result should be Special and gives Special ... OK Testing result of: inf - KNumber("1/2") should give inf and gives inf ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber("-5/3") - inf should give -inf and gives -inf ... The type of the result should be Special and gives Special ... OK Testing result of: inf - KNumber(2.01) should give inf and gives inf ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(-5.4) - inf should give -inf and gives -inf ... The type of the result should be Special and gives Special ... OK Testing result of: -inf - KNumber(2) should give -inf and gives -inf ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(-5) - -inf should give inf and gives inf ... The type of the result should be Special and gives Special ... OK Testing result of: -inf - KNumber("1/2") should give -inf and gives -inf ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber("-5/3") - -inf should give inf and gives inf ... The type of the result should be Special and gives Special ... OK Testing result of: -inf - KNumber(2.01) should give -inf and gives -inf ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(-5.4) - -inf should give inf and gives inf ... The type of the result should be Special and gives Special ... OK Testing result of: nan - KNumber(2) should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(-5) - nan should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: nan - KNumber("1/2") should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber("-5/3") - nan should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: nan - KNumber(2.01) should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(-5.4) - nan should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: inf - inf should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: inf - -inf should give inf and gives inf ... The type of the result should be Special and gives Special ... OK Testing result of: -inf - inf should give -inf and gives -inf ... The type of the result should be Special and gives Special ... OK Testing result of: -inf - -inf should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: inf - nan should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: -inf - nan should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: nan - inf should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: -inf - nan should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: inf * KNumber(2) should give inf and gives inf ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(-5) * inf should give -inf and gives -inf ... The type of the result should be Special and gives Special ... OK Testing result of: inf * KNumber("1/2") should give inf and gives inf ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber("-5/3") * inf should give -inf and gives -inf ... The type of the result should be Special and gives Special ... OK Testing result of: inf * KNumber(2.01) should give inf and gives inf ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(-5.4) * inf should give -inf and gives -inf ... The type of the result should be Special and gives Special ... OK Testing result of: -inf * KNumber(2) should give -inf and gives -inf ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(-5) * -inf should give inf and gives inf ... The type of the result should be Special and gives Special ... OK Testing result of: -inf * KNumber("1/2") should give -inf and gives -inf ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber("-5/3") * -inf should give inf and gives inf ... The type of the result should be Special and gives Special ... OK Testing result of: -inf * KNumber(2.01) should give -inf and gives -inf ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(-5.4) * -inf should give inf and gives inf ... The type of the result should be Special and gives Special ... OK Testing result of: nan * KNumber(2) should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(-5) * nan should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: nan * KNumber("1/2") should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber("-5/3") * nan should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: nan * KNumber(2.01) should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(-5.4) * nan should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: inf * inf should give inf and gives inf ... The type of the result should be Special and gives Special ... OK Testing result of: inf * -inf should give -inf and gives -inf ... The type of the result should be Special and gives Special ... OK Testing result of: -inf * inf should give -inf and gives -inf ... The type of the result should be Special and gives Special ... OK Testing result of: -inf * -inf should give inf and gives inf ... The type of the result should be Special and gives Special ... OK Testing result of: inf * nan should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: -inf * nan should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: nan * inf should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: -inf * nan should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(0) * inf should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(0) * -inf should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: inf * KNumber(0) should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: -inf * KNumber(0) should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(0.0) * inf should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(0.0) * -inf should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: inf * KNumber(0.0) should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: -inf * KNumber(0.0) should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: inf / KNumber(2) should give inf and gives inf ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(-5) / inf should give 0 and gives 0 ... The type of the result should be Integer and gives Integer ... OK Testing result of: inf / KNumber("1/2") should give inf and gives inf ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber("-5/3") / inf should give 0 and gives 0 ... The type of the result should be Integer and gives Integer ... OK Testing result of: inf / KNumber(2.01) should give inf and gives inf ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(-5.4) / inf should give 0 and gives 0 ... The type of the result should be Integer and gives Integer ... OK Testing result of: -inf / KNumber(2) should give -inf and gives -inf ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(-5) / -inf should give 0 and gives 0 ... The type of the result should be Integer and gives Integer ... OK Testing result of: -inf / KNumber("1/2") should give -inf and gives -inf ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber("-5/3") / -inf should give 0 and gives 0 ... The type of the result should be Integer and gives Integer ... OK Testing result of: -inf / KNumber(2.01) should give -inf and gives -inf ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(-5.4) / -inf should give 0 and gives 0 ... The type of the result should be Integer and gives Integer ... OK Testing result of: nan / KNumber(2) should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(-5) / nan should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: nan / KNumber("1/2") should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber("-5/3") / nan should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: nan / KNumber(2.01) should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(-5.4) / nan should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: inf / inf should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: inf / -inf should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: -inf / inf should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: -inf / -inf should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: inf / nan should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: -inf / nan should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: nan / inf should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: -inf / nan should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(0) / inf should give 0 and gives 0 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(0) / -inf should give 0 and gives 0 ... The type of the result should be Integer and gives Integer ... OK Testing result of: inf / KNumber(0) should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: -inf / KNumber(0) should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(0.0) / inf should give 0 and gives 0 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(0.0) / -inf should give 0 and gives 0 ... The type of the result should be Integer and gives Integer ... OK Testing result of: inf / KNumber(0.0) should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: -inf / KNumber(0.0) should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(5) ^ KNumber("inf") should give inf and gives inf ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(-5) ^ KNumber("inf") should give inf and gives inf ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber("5/2") ^ KNumber("inf") should give inf and gives inf ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber("-5/2") ^ KNumber("inf") should give inf and gives inf ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber("5.2") ^ KNumber("inf") should give inf and gives inf ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber("-5.2") ^ KNumber("inf") should give inf and gives inf ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(5) ^ KNumber("-inf") should give 0 and gives 0 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(-5) ^ KNumber("-inf") should give 0 and gives 0 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber("5/2") ^ KNumber("-inf") should give 0 and gives 0 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber("-5/2") ^ KNumber("-inf") should give 0 and gives 0 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber("5.2") ^ KNumber("-inf") should give 0 and gives 0 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber("-5.2") ^ KNumber("-inf") should give 0 and gives 0 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber(5) ^ KNumber("nan") should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber(-5) ^ KNumber("nan") should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber("5/2") ^ KNumber("nan") should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber("-5/2") ^ KNumber("nan") should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber("5.2") ^ KNumber("nan") should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber("-5.2") ^ KNumber("nan") should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber("nan") ^ KNumber("nan") should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber("nan") ^ KNumber("inf") should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber("nan") ^ KNumber("-inf") should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber("inf") ^ KNumber("nan") should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber("inf") ^ KNumber("inf") should give inf and gives inf ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber("inf") ^ KNumber("-inf") should give 0 and gives 0 ... The type of the result should be Integer and gives Integer ... OK Testing result of: KNumber("-inf") ^ KNumber("nan") should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber("-inf") ^ KNumber("inf") should give inf and gives inf ... The type of the result should be Special and gives Special ... OK Testing result of: KNumber("-inf") ^ KNumber("-inf") should give 0 and gives 0 ... The type of the result should be Integer and gives Integer ... OK Testing result of: Precision >= 100: (KNumber(1) + KNumber("1e-80")) - KNumber(1) should give 1e-80 and gives 1e-80 ... The type of the result should be Float and gives Float ... OK Testing result of: Precision >= 100: (KNumber(1) + KNumber("1e-980")) - KNumber(1) should give 0 and gives 0 ... The type of the result should be Integer and gives Integer ... OK Testing result of: Precision >= 1000: (KNumber(1) + KNumber("1e-980")) - KNumber(1) should give 1e-980 and gives 1e-980 ... The type of the result should be Float and gives Float ... OK Testing result of: Precision >= 20: sin(KNumber(30)) should give 0.5 and gives 0.5 ... The type of the result should be Float and gives Float ... OK Testing trig functions: ----------------------- Testing result of: sin(KNumber(5)) should give -0.958924274663 and gives -0.958924274663 ... The type of the result should be Float and gives Float ... OK Testing result of: cos(KNumber(5)) should give 0.283662185463 and gives 0.283662185463 ... The type of the result should be Float and gives Float ... OK Testing result of: tan(KNumber(5)) should give -3.38051500625 and gives -3.38051500625 ... The type of the result should be Float and gives Float ... OK Testing result of: sin(KNumber(-5)) should give 0.958924274663 and gives 0.958924274663 ... The type of the result should be Float and gives Float ... OK Testing result of: cos(KNumber(-5)) should give 0.283662185463 and gives 0.283662185463 ... The type of the result should be Float and gives Float ... OK Testing result of: tan(KNumber(-5)) should give 3.38051500625 and gives 3.38051500625 ... The type of the result should be Float and gives Float ... OK Testing result of: sin(KNumber("5/2")) should give 0.598472144104 and gives 0.598472144104 ... The type of the result should be Float and gives Float ... OK Testing result of: cos(KNumber("5/2")) should give -0.801143615547 and gives -0.801143615547 ... The type of the result should be Float and gives Float ... OK Testing result of: tan(KNumber("5/2")) should give -0.747022297239 and gives -0.747022297239 ... The type of the result should be Float and gives Float ... OK Testing result of: sin(KNumber("-5/2")) should give -0.598472144104 and gives -0.598472144104 ... The type of the result should be Float and gives Float ... OK Testing result of: cos(KNumber("-5/2")) should give -0.801143615547 and gives -0.801143615547 ... The type of the result should be Float and gives Float ... OK Testing result of: tan(KNumber("-5/2")) should give 0.747022297239 and gives 0.747022297239 ... The type of the result should be Float and gives Float ... OK Testing result of: sin(KNumber(5.3)) should give -0.832267442224 and gives -0.832267442224 ... The type of the result should be Float and gives Float ... OK Testing result of: cos(KNumber(5.3)) should give 0.554374336179 and gives 0.554374336179 ... The type of the result should be Float and gives Float ... OK Testing result of: tan(KNumber(5.3)) should give -1.50127339581 and gives -1.50127339581 ... The type of the result should be Float and gives Float ... OK Testing result of: sin(KNumber(-5.3)) should give 0.832267442224 and gives 0.832267442224 ... The type of the result should be Float and gives Float ... OK Testing result of: cos(KNumber(-5.3)) should give 0.554374336179 and gives 0.554374336179 ... The type of the result should be Float and gives Float ... OK Testing result of: tan(KNumber(-5.3)) should give 1.50127339581 and gives 1.50127339581 ... The type of the result should be Float and gives Float ... OK Testing result of: asin(KNumber(5)) should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: acos(KNumber(5)) should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: atan(KNumber(5)) should give 1.37340076695 and gives 1.37340076695 ... The type of the result should be Float and gives Float ... OK Testing result of: asin(KNumber(-5)) should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: acos(KNumber(-5)) should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: atan(KNumber(-5)) should give -1.37340076695 and gives -1.37340076695 ... The type of the result should be Float and gives Float ... OK Testing result of: asin(KNumber("5/2")) should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: acos(KNumber("5/2")) should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: atan(KNumber("5/2")) should give 1.19028994968 and gives 1.19028994968 ... The type of the result should be Float and gives Float ... OK Testing result of: asin(KNumber("-5/2")) should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: acos(KNumber("-5/2")) should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: atan(KNumber("-5/2")) should give -1.19028994968 and gives -1.19028994968 ... The type of the result should be Float and gives Float ... OK Testing result of: asin(KNumber(5.3)) should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: acos(KNumber(5.3)) should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: atan(KNumber(5.3)) should give 1.38430942513 and gives 1.38430942513 ... The type of the result should be Float and gives Float ... OK Testing result of: asin(KNumber(-5.3)) should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: acos(KNumber(-5.3)) should give nan and gives nan ... The type of the result should be Special and gives Special ... OK Testing result of: atan(KNumber(-5.3)) should give -1.38430942513 and gives -1.38430942513 ... The type of the result should be Float and gives Float ... OK Testing result of: asin(KNumber("2/5")) should give 0.411516846067 and gives 0.411516846067 ... The type of the result should be Float and gives Float ... OK Testing result of: acos(KNumber("2/5")) should give 1.15927948073 and gives 1.15927948073 ... The type of the result should be Float and gives Float ... OK Testing result of: atan(KNumber("2/5")) should give 0.380506377112 and gives 0.380506377112 ... The type of the result should be Float and gives Float ... OK Testing result of: asin(KNumber("-2/5")) should give -0.411516846067 and gives -0.411516846067 ... The type of the result should be Float and gives Float ... OK Testing result of: acos(KNumber("-2/5")) should give 1.98231317286 and gives 1.98231317286 ... The type of the result should be Float and gives Float ... OK Testing result of: atan(KNumber("-2/5")) should give -0.380506377112 and gives -0.380506377112 ... The type of the result should be Float and gives Float ... OK Testing result of: asin(KNumber(0.3)) should give 0.304692654015 and gives 0.304692654015 ... The type of the result should be Float and gives Float ... OK Testing result of: acos(KNumber(0.3)) should give 1.26610367278 and gives 1.26610367278 ... The type of the result should be Float and gives Float ... OK Testing result of: atan(KNumber(0.3)) should give 0.291456794478 and gives 0.291456794478 ... The type of the result should be Float and gives Float ... OK Testing result of: asin(KNumber(-0.3)) should give -0.304692654015 and gives -0.304692654015 ... The type of the result should be Float and gives Float ... OK Testing result of: acos(KNumber(-0.3)) should give 1.87548898081 and gives 1.87548898081 ... The type of the result should be Float and gives Float ... OK Testing result of: atan(KNumber(-0.3)) should give -0.291456794478 and gives -0.291456794478 ... The type of the result should be Float and gives Float ... OK Testing special functions: -------------------------- Testing result of: log10(KNumber(5)) should give 0.698970004336 and gives 0.698970004336 ... The type of the result should be Float and gives Float ... OK Testing result of: log10(pow(KNumber(10), KNumber(308))) should give 308 and gives 308 ... The type of the result should be Integer and gives Integer ... OK Testing result of: exp(KNumber(4.34)) should give 76.7075393383 and gives 76.7075393383 ... The type of the result should be Float and gives Float ... OK Testing result of: Fractional output: KNumber("1/4") should give 1/4 and gives 1/4 ... The type of the result should be Fraction and gives Fraction ... OK Testing result of: Float: KNumber("1/4") should give 0.25 and gives 0.25 ... The type of the result should be Fraction and gives Fraction ... OK Testing result of: Fractional output: KNumber("1/4") should give 1/4 and gives 1/4 ... The type of the result should be Fraction and gives Fraction ... OK Testing result of: Fractional output: KNumber("-1/4") should give -1/4 and gives -1/4 ... The type of the result should be Fraction and gives Fraction ... OK Testing result of: Fractional output: KNumber("21/4") should give 5 1/4 and gives 5 1/4 ... The type of the result should be Fraction and gives Fraction ... OK Testing result of: Fractional output: KNumber("-21/4") should give -5 1/4 and gives -5 1/4 ... The type of the result should be Fraction and gives Fraction ... OK Testing result of: Fractional output: KNumber("1/4") should give 1/4 and gives 1/4 ... The type of the result should be Fraction and gives Fraction ... OK Testing result of: Fractional output: KNumber("-1/4") should give -1/4 and gives -1/4 ... The type of the result should be Fraction and gives Fraction ... OK Testing result of: Fractional output: KNumber("21/4") should give 21/4 and gives 21/4 ... The type of the result should be Fraction and gives Fraction ... OK Testing result of: Fractional output: KNumber("-21/4") should give -21/4 and gives -21/4 ... The type of the result should be Fraction and gives Fraction ... OK SUCCESS