mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-03-27 17:50:04 +01:00
[poincare] Number: "12242" is parsed as a BasedInteger instead of a
Rational
This commit is contained in:
@@ -52,6 +52,7 @@ public:
|
||||
/* The constructor build a irreductible fraction */
|
||||
BasedInteger(const BasedIntegerNode * node) : Number(node) {}
|
||||
static BasedInteger Builder(const char * digits, size_t size, Integer::Base base);
|
||||
static BasedInteger Builder(const Integer & m, Integer::Base base);
|
||||
|
||||
// TreeNode
|
||||
BasedIntegerNode * node() const { return static_cast<BasedIntegerNode *>(Number::node()); }
|
||||
@@ -60,8 +61,6 @@ public:
|
||||
Integer integer() const { return node()->integer(); }
|
||||
|
||||
private:
|
||||
static BasedInteger Builder(const Integer & m, Integer::Base base);
|
||||
|
||||
BasedIntegerNode * node() { return static_cast<BasedIntegerNode *>(Number::node()); }
|
||||
|
||||
/* Simplification */
|
||||
|
||||
@@ -45,7 +45,7 @@ Number Number::ParseNumber(const char * integralPart, size_t integralLength, con
|
||||
if (exponentLength == 0 && decimalLenght == 0) {
|
||||
Integer i(integralPart, integralLength, false);
|
||||
if (!i.isOverflow()) {
|
||||
return Rational::Builder(i);
|
||||
return BasedInteger::Builder(i, Integer::Base::Decimal);
|
||||
}
|
||||
}
|
||||
int exp;
|
||||
|
||||
Reference in New Issue
Block a user