mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-01-19 00:37:25 +01:00
[poincare] Add Rational tests and fix those on OverflowedInt
This commit is contained in:
@@ -5,6 +5,8 @@
|
||||
static const char * MaxIntegerString = "179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137215"; // (2^32)^k_maxNumberOfDigits-1
|
||||
static const char * OverflowedIntegerString = "179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216"; // (2^32)^k_maxNumberOfDigits
|
||||
|
||||
static const char * BigOverflowedIntegerString = "279769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216"; // OverflowedIntegerString with a 2 on first digit
|
||||
|
||||
constexpr Poincare::Preferences::AngleUnit Degree = Poincare::Preferences::AngleUnit::Degree;
|
||||
constexpr Poincare::Preferences::AngleUnit Radian = Poincare::Preferences::AngleUnit::Radian;
|
||||
constexpr Poincare::Preferences::ComplexFormat Cartesian = Poincare::Preferences::ComplexFormat::Cartesian;
|
||||
|
||||
@@ -82,23 +82,23 @@ QUIZ_CASE(poincare_rational_power) {
|
||||
|
||||
QUIZ_CASE(poincare_rational_simplify) {
|
||||
// 1/MaxIntegerString
|
||||
/*char buffer[400] = "1/";
|
||||
char buffer[400] = "1/";
|
||||
strlcpy(buffer+2, MaxIntegerString, 400-2);
|
||||
assert_parsed_expression_simplify_to(buffer, buffer);
|
||||
// 1/OverflowedIntegerString
|
||||
strlcpy(buffer+2, OverflowedIntegerString, 400-2);
|
||||
assert_parsed_expression_simplify_to(buffer, "0");
|
||||
strlcpy(buffer+2, BigOverflowedIntegerString, 400-2);
|
||||
assert_parsed_expression_simplify_to(buffer, "1/inf");
|
||||
// MaxIntegerString
|
||||
assert_parsed_expression_simplify_to(MaxIntegerString, MaxIntegerString);
|
||||
// OverflowedIntegerString
|
||||
assert_parsed_expression_simplify_to(OverflowedIntegerString, "inf");
|
||||
assert_parsed_expression_simplify_to(OverflowedIntegerString, "inf");
|
||||
assert_parsed_expression_simplify_to(BigOverflowedIntegerString, "inf");
|
||||
assert_parsed_expression_simplify_to(BigOverflowedIntegerString, "inf");
|
||||
// -OverflowedIntegerString
|
||||
buffer[0] = '-';
|
||||
strlcpy(buffer+1, OverflowedIntegerString, 400-1);
|
||||
assert_parsed_expression_simplify_to(buffer, "-inf");*/
|
||||
strlcpy(buffer+1, BigOverflowedIntegerString, 400-1);
|
||||
assert_parsed_expression_simplify_to(buffer, "-inf");
|
||||
|
||||
/*assert_parsed_expression_simplify_to("-1/3", "-1/3");
|
||||
assert_parsed_expression_simplify_to("-1/3", "-1/3");
|
||||
assert_parsed_expression_simplify_to("22355/45325", "4471/9065");
|
||||
assert_parsed_expression_simplify_to("0000.000000", "0");
|
||||
assert_parsed_expression_simplify_to(".000000", "0");
|
||||
@@ -122,7 +122,7 @@ QUIZ_CASE(poincare_rational_simplify) {
|
||||
assert_parsed_expression_simplify_to("x^0", "1");
|
||||
assert_parsed_expression_simplify_to("P^0", "1");
|
||||
assert_parsed_expression_simplify_to("A^0", "1");
|
||||
assert_parsed_expression_simplify_to("(-3)^0", "1");*/
|
||||
assert_parsed_expression_simplify_to("(-3)^0", "1");
|
||||
}
|
||||
|
||||
QUIZ_CASE(poincare_rational_approximate) {
|
||||
|
||||
Reference in New Issue
Block a user