mirror of
https://github.com/c3lang/c3c.git
synced 2026-02-27 12:01:16 +00:00
Fix bigint hex parsing #1945.
This commit is contained in:
@@ -92,9 +92,9 @@ fn BigInt*! BigInt.init_string_radix(&self, String value, int radix)
|
||||
case '0'..'9':
|
||||
pos_val -= '0';
|
||||
case 'A'..'Z':
|
||||
pos_val -= 'A' + 10;
|
||||
pos_val -= 'A' - 10;
|
||||
case 'a'..'z':
|
||||
pos_val -= 'a' + 10;
|
||||
pos_val -= 'a' - 10;
|
||||
default:
|
||||
return NumberConversion.MALFORMED_INTEGER?;
|
||||
}
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
- Allow function types to have a calling convention. #1938
|
||||
- Issue with defer copying when triggered by break or continue #1936.
|
||||
- Assert when using optional as init or inc part in a for loop #1942.
|
||||
- Fix bigint hex parsing #1945.
|
||||
|
||||
### Stdlib changes
|
||||
- Added '%h' and '%H' for printing out binary data in hexadecimal using the formatter.
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
module std::math::bigint @test;
|
||||
|
||||
fn void test_parse16()
|
||||
{
|
||||
BigInt bi @noinit;
|
||||
assert(bi.init_string_radix("c", 16)!!.equals(bigint::from_int(12)));
|
||||
}
|
||||
|
||||
fn void test_plus()
|
||||
{
|
||||
BigInt a = bigint::from_int(123);
|
||||
|
||||
Reference in New Issue
Block a user