| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #include "platform/assert.h" | 5 #include "platform/assert.h" |
| 6 #include "vm/object.h" | 6 #include "vm/object.h" |
| 7 #include "vm/object_store.h" | 7 #include "vm/object_store.h" |
| 8 #include "vm/unit_test.h" | 8 #include "vm/unit_test.h" |
| 9 | 9 |
| 10 namespace dart { | 10 namespace dart { |
| (...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 146 bigint = Bigint::NewFromCString("0x377777777777790000001"); | 146 bigint = Bigint::NewFromCString("0x377777777777790000001"); |
| 147 EXPECT_EQ(4.190942841330715e+24, bigint.AsDoubleValue()); | 147 EXPECT_EQ(4.190942841330715e+24, bigint.AsDoubleValue()); |
| 148 | 148 |
| 149 bigint = Bigint::NewFromCString("0x377777777777730000000"); | 149 bigint = Bigint::NewFromCString("0x377777777777730000000"); |
| 150 EXPECT_EQ(4.1909428413307135e+24, bigint.AsDoubleValue()); | 150 EXPECT_EQ(4.1909428413307135e+24, bigint.AsDoubleValue()); |
| 151 | 151 |
| 152 bigint = Bigint::NewFromCString("0x377777777777730000001"); | 152 bigint = Bigint::NewFromCString("0x377777777777730000001"); |
| 153 EXPECT_EQ(4.1909428413307135e+24, bigint.AsDoubleValue()); | 153 EXPECT_EQ(4.1909428413307135e+24, bigint.AsDoubleValue()); |
| 154 | 154 |
| 155 // Reduced precision. | 155 // Reduced precision. |
| 156 bigint = Bigint::NewFromCString( | 156 bigint = Bigint::NewFromCString("9876543210987654321098765432109876543210"); |
| 157 "9876543210987654321098765432109876543210"); | |
| 158 EXPECT_EQ(9.8765432109876546e+39, bigint.AsDoubleValue()); | 157 EXPECT_EQ(9.8765432109876546e+39, bigint.AsDoubleValue()); |
| 159 | 158 |
| 160 bigint = Bigint::NewFromCString( | 159 bigint = Bigint::NewFromCString( |
| 161 "12345678901234567890123456789012345678901234567890" | 160 "12345678901234567890123456789012345678901234567890" |
| 162 "12345678901234567890123456789012345678901234567890" | 161 "12345678901234567890123456789012345678901234567890" |
| 163 "12345678901234567890123456789012345678901234567890" | 162 "12345678901234567890123456789012345678901234567890" |
| 164 "12345678901234567890123456789012345678901234567890" | 163 "12345678901234567890123456789012345678901234567890" |
| 165 "12345678901234567890123456789012345678901234567890" | 164 "12345678901234567890123456789012345678901234567890" |
| 166 "12345678901234567890123456789012345678901234567890" | 165 "12345678901234567890123456789012345678901234567890" |
| 167 "12345678901234567890123456789012345678901234567890" | 166 "12345678901234567890123456789012345678901234567890" |
| 168 "12345678901234567890123456789012345678901234567890" | 167 "12345678901234567890123456789012345678901234567890" |
| 169 "12345678901234567890123456789012345678901234567890" | 168 "12345678901234567890123456789012345678901234567890" |
| 170 "12345678901234567890123456789012345678901234567890"); | 169 "12345678901234567890123456789012345678901234567890"); |
| 171 double zero = 0.0; | 170 double zero = 0.0; |
| 172 EXPECT_EQ(1.0/zero, bigint.AsDoubleValue()); | 171 EXPECT_EQ(1.0 / zero, bigint.AsDoubleValue()); |
| 173 | 172 |
| 174 bigint = Bigint::NewFromCString( | 173 bigint = Bigint::NewFromCString( |
| 175 "17976931348623157081452742373170435679807056752584" | 174 "17976931348623157081452742373170435679807056752584" |
| 176 "49965989174768031572607800285387605895586327668781" | 175 "49965989174768031572607800285387605895586327668781" |
| 177 "71540458953514382464234321326889464182768467546703" | 176 "71540458953514382464234321326889464182768467546703" |
| 178 "53751698604991057655128207624549009038932894407586" | 177 "53751698604991057655128207624549009038932894407586" |
| 179 "85084551339423045832369032229481658085593321233482" | 178 "85084551339423045832369032229481658085593321233482" |
| 180 "74797826204144723168738177180919299881250404026184" | 179 "74797826204144723168738177180919299881250404026184" |
| 181 "124858368"); | 180 "124858368"); |
| 182 EXPECT_EQ(1.7976931348623157e308, bigint.AsDoubleValue()); | 181 EXPECT_EQ(1.7976931348623157e308, bigint.AsDoubleValue()); |
| 183 | 182 |
| 184 bigint = Bigint::NewFromCString( | 183 bigint = Bigint::NewFromCString( |
| 185 "17976931348623159077293051907890247336179769789423" | 184 "17976931348623159077293051907890247336179769789423" |
| 186 "06572734300811577326758055009631327084773224075360" | 185 "06572734300811577326758055009631327084773224075360" |
| 187 "21120113879871393357658789768814416622492847430639" | 186 "21120113879871393357658789768814416622492847430639" |
| 188 "47412437776789342486548527630221960124609411945308" | 187 "47412437776789342486548527630221960124609411945308" |
| 189 "29520850057688381506823424628814739131105408272371" | 188 "29520850057688381506823424628814739131105408272371" |
| 190 "63350510684586298239947245938479716304835356329624" | 189 "63350510684586298239947245938479716304835356329624" |
| 191 "224137216"); | 190 "224137216"); |
| 192 EXPECT_EQ(1.0/zero, bigint.AsDoubleValue()); | 191 EXPECT_EQ(1.0 / zero, bigint.AsDoubleValue()); |
| 193 | 192 |
| 194 bigint = Bigint::NewFromCString( | 193 bigint = Bigint::NewFromCString( |
| 195 "17976931348623158079372897140530341507993413271003" | 194 "17976931348623158079372897140530341507993413271003" |
| 196 "78269361737789804449682927647509466490179775872070" | 195 "78269361737789804449682927647509466490179775872070" |
| 197 "96330286416692887910946555547851940402630657488671" | 196 "96330286416692887910946555547851940402630657488671" |
| 198 "50582068190890200070838367627385484581771153176447" | 197 "50582068190890200070838367627385484581771153176447" |
| 199 "57302700698555713669596228429148198608349364752927" | 198 "57302700698555713669596228429148198608349364752927" |
| 200 "19074168444365510704342711559699508093042880177904" | 199 "19074168444365510704342711559699508093042880177904" |
| 201 "174497792"); | 200 "174497792"); |
| 202 EXPECT_EQ(1.0/zero, bigint.AsDoubleValue()); | 201 EXPECT_EQ(1.0 / zero, bigint.AsDoubleValue()); |
| 203 | 202 |
| 204 bigint = Bigint::NewFromCString( | 203 bigint = Bigint::NewFromCString( |
| 205 "17976931348623158079372897140530341507993413271003" | 204 "17976931348623158079372897140530341507993413271003" |
| 206 "78269361737789804449682927647509466490179775872070" | 205 "78269361737789804449682927647509466490179775872070" |
| 207 "96330286416692887910946555547851940402630657488671" | 206 "96330286416692887910946555547851940402630657488671" |
| 208 "50582068190890200070838367627385484581771153176447" | 207 "50582068190890200070838367627385484581771153176447" |
| 209 "57302700698555713669596228429148198608349364752927" | 208 "57302700698555713669596228429148198608349364752927" |
| 210 "19074168444365510704342711559699508093042880177904" | 209 "19074168444365510704342711559699508093042880177904" |
| 211 "174497791"); | 210 "174497791"); |
| 212 EXPECT_EQ(1.7976931348623157e308, bigint.AsDoubleValue()); | 211 EXPECT_EQ(1.7976931348623157e308, bigint.AsDoubleValue()); |
| 213 | 212 |
| 214 bigint = Bigint::NewFromCString("100000000000000000000000"); | 213 bigint = Bigint::NewFromCString("100000000000000000000000"); |
| 215 EXPECT_EQ(1e+23, bigint.AsDoubleValue()); | 214 EXPECT_EQ(1e+23, bigint.AsDoubleValue()); |
| 216 | 215 |
| 217 bigint = Bigint::NewFromCString("100000000000000000000001"); | 216 bigint = Bigint::NewFromCString("100000000000000000000001"); |
| 218 EXPECT_EQ(1.0000000000000001e+23, bigint.AsDoubleValue()); | 217 EXPECT_EQ(1.0000000000000001e+23, bigint.AsDoubleValue()); |
| 219 | 218 |
| 220 // Same but shifted 64 bits to the left. | 219 // Same but shifted 64 bits to the left. |
| 221 bigint = Bigint::NewFromCString( | 220 bigint = |
| 222 "1844674407370955161600000000000000000000000"); | 221 Bigint::NewFromCString("1844674407370955161600000000000000000000000"); |
| 223 EXPECT_EQ(1.844674407370955e+42, bigint.AsDoubleValue()); | 222 EXPECT_EQ(1.844674407370955e+42, bigint.AsDoubleValue()); |
| 224 | 223 |
| 225 bigint = Bigint::NewFromCString( | 224 bigint = |
| 226 "1844674407370955161600000000000000000000001"); | 225 Bigint::NewFromCString("1844674407370955161600000000000000000000001"); |
| 227 EXPECT_EQ(1.8446744073709553e+42, bigint.AsDoubleValue()); | 226 EXPECT_EQ(1.8446744073709553e+42, bigint.AsDoubleValue()); |
| 228 } | 227 } |
| 229 | 228 |
| 230 | 229 |
| 231 TEST_CASE(BigintHexStrings) { | 230 TEST_CASE(BigintHexStrings) { |
| 232 Zone* zone = Thread::Current()->zone(); | 231 Zone* zone = Thread::Current()->zone(); |
| 233 { | 232 { |
| 234 const Bigint& bigint = Bigint::Handle(Bigint::NewFromCString("0x0")); | 233 const Bigint& bigint = Bigint::Handle(Bigint::NewFromCString("0x0")); |
| 235 EXPECT(bigint.FitsIntoSmi()); | 234 EXPECT(bigint.FitsIntoSmi()); |
| 236 EXPECT_EQ(0, bigint.AsInt64Value()); | 235 EXPECT_EQ(0, bigint.AsInt64Value()); |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 320 EXPECT_STREQ(in, str); | 319 EXPECT_STREQ(in, str); |
| 321 } | 320 } |
| 322 | 321 |
| 323 { | 322 { |
| 324 const Bigint& bigint = Bigint::Handle(Bigint::NewFromCString("0x00000123")); | 323 const Bigint& bigint = Bigint::Handle(Bigint::NewFromCString("0x00000123")); |
| 325 EXPECT(bigint.FitsIntoSmi()); | 324 EXPECT(bigint.FitsIntoSmi()); |
| 326 EXPECT_EQ(0x123, bigint.AsInt64Value()); | 325 EXPECT_EQ(0x123, bigint.AsInt64Value()); |
| 327 } | 326 } |
| 328 | 327 |
| 329 { | 328 { |
| 330 const Bigint& bigint = Bigint::Handle( | 329 const Bigint& bigint = |
| 331 Bigint::NewFromCString("0x000000123")); | 330 Bigint::Handle(Bigint::NewFromCString("0x000000123")); |
| 332 const char* str = bigint.ToHexCString(zone); | 331 const char* str = bigint.ToHexCString(zone); |
| 333 EXPECT_STREQ("0x123", str); | 332 EXPECT_STREQ("0x123", str); |
| 334 } | 333 } |
| 335 | 334 |
| 336 { | 335 { |
| 337 const Bigint& bigint = Bigint::Handle( | 336 const Bigint& bigint = |
| 338 Bigint::NewFromCString("0x0000aBcEf")); | 337 Bigint::Handle(Bigint::NewFromCString("0x0000aBcEf")); |
| 339 const char* str = bigint.ToHexCString(zone); | 338 const char* str = bigint.ToHexCString(zone); |
| 340 EXPECT_STREQ("0xABCEF", str); | 339 EXPECT_STREQ("0xABCEF", str); |
| 341 } | 340 } |
| 342 | 341 |
| 343 { | 342 { |
| 344 const char* in = "0x00000000000000000000000000000000000000000000123456789"; | 343 const char* in = "0x00000000000000000000000000000000000000000000123456789"; |
| 345 const char* out = "0x123456789"; | 344 const char* out = "0x123456789"; |
| 346 const Bigint& bigint = Bigint::Handle(Bigint::NewFromCString(in)); | 345 const Bigint& bigint = Bigint::Handle(Bigint::NewFromCString(in)); |
| 347 const char* str = bigint.ToHexCString(zone); | 346 const char* str = bigint.ToHexCString(zone); |
| 348 EXPECT_STREQ(out, str); | 347 EXPECT_STREQ(out, str); |
| 349 } | 348 } |
| 350 | 349 |
| 351 { | 350 { |
| 352 const char* in = "0x00000123456789ABCDEF01234567890ABCDEF0123456789ABCDEF0"; | 351 const char* in = "0x00000123456789ABCDEF01234567890ABCDEF0123456789ABCDEF0"; |
| 353 const char* out = "0x123456789ABCDEF01234567890ABCDEF0123456789ABCDEF0"; | 352 const char* out = "0x123456789ABCDEF01234567890ABCDEF0123456789ABCDEF0"; |
| 354 const Bigint& bigint = Bigint::Handle(Bigint::NewFromCString(in)); | 353 const Bigint& bigint = Bigint::Handle(Bigint::NewFromCString(in)); |
| 355 const char* str = bigint.ToHexCString(zone); | 354 const char* str = bigint.ToHexCString(zone); |
| 356 EXPECT_STREQ(out, str); | 355 EXPECT_STREQ(out, str); |
| 357 } | 356 } |
| 358 | 357 |
| 359 { | 358 { |
| 360 const Bigint& bigint = Bigint::Handle( | 359 const Bigint& bigint = |
| 361 Bigint::NewFromCString("-0x00000123")); | 360 Bigint::Handle(Bigint::NewFromCString("-0x00000123")); |
| 362 EXPECT(bigint.FitsIntoSmi()); | 361 EXPECT(bigint.FitsIntoSmi()); |
| 363 EXPECT_EQ(-0x123, bigint.AsInt64Value()); | 362 EXPECT_EQ(-0x123, bigint.AsInt64Value()); |
| 364 } | 363 } |
| 365 | 364 |
| 366 { | 365 { |
| 367 const Bigint& bigint = Bigint::Handle( | 366 const Bigint& bigint = |
| 368 Bigint::NewFromCString("-0x00000123")); | 367 Bigint::Handle(Bigint::NewFromCString("-0x00000123")); |
| 369 const char* str = bigint.ToHexCString(zone); | 368 const char* str = bigint.ToHexCString(zone); |
| 370 EXPECT_STREQ("-0x123", str); | 369 EXPECT_STREQ("-0x123", str); |
| 371 } | 370 } |
| 372 | 371 |
| 373 { | 372 { |
| 374 const Bigint& bigint = Bigint::Handle( | 373 const Bigint& bigint = |
| 375 Bigint::NewFromCString("-0x000aBcEf")); | 374 Bigint::Handle(Bigint::NewFromCString("-0x000aBcEf")); |
| 376 const char* str = bigint.ToHexCString(zone); | 375 const char* str = bigint.ToHexCString(zone); |
| 377 EXPECT_STREQ("-0xABCEF", str); | 376 EXPECT_STREQ("-0xABCEF", str); |
| 378 } | 377 } |
| 379 | 378 |
| 380 { | 379 { |
| 381 const char* in = "-0x00000000000000000000000000000000000000000000123456789"; | 380 const char* in = "-0x00000000000000000000000000000000000000000000123456789"; |
| 382 const char* out = "-0x123456789"; | 381 const char* out = "-0x123456789"; |
| 383 const Bigint& bigint = Bigint::Handle(Bigint::NewFromCString(in)); | 382 const Bigint& bigint = Bigint::Handle(Bigint::NewFromCString(in)); |
| 384 const char* str = bigint.ToHexCString(zone); | 383 const char* str = bigint.ToHexCString(zone); |
| 385 EXPECT_STREQ(out, str); | 384 EXPECT_STREQ(out, str); |
| 386 } | 385 } |
| 387 | 386 |
| 388 { | 387 { |
| 389 const char* in = "-0x0000123456789ABCDEF01234567890ABCDEF0123456789ABCDEF0"; | 388 const char* in = "-0x0000123456789ABCDEF01234567890ABCDEF0123456789ABCDEF0"; |
| 390 const char* out = "-0x123456789ABCDEF01234567890ABCDEF0123456789ABCDEF0"; | 389 const char* out = "-0x123456789ABCDEF01234567890ABCDEF0123456789ABCDEF0"; |
| 391 const Bigint& bigint = Bigint::Handle(Bigint::NewFromCString(in)); | 390 const Bigint& bigint = Bigint::Handle(Bigint::NewFromCString(in)); |
| 392 const char* str = bigint.ToHexCString(zone); | 391 const char* str = bigint.ToHexCString(zone); |
| 393 EXPECT_STREQ(out, str); | 392 EXPECT_STREQ(out, str); |
| 394 } | 393 } |
| 395 { | 394 { |
| 396 const char* test = "12345678901234567890"; | 395 const char* test = "12345678901234567890"; |
| 397 const char* out = "0xAB54A98CEB1F0AD2"; | 396 const char* out = "0xAB54A98CEB1F0AD2"; |
| 398 const Bigint& bigint = Bigint::Handle( | 397 const Bigint& bigint = Bigint::Handle(Bigint::NewFromCString(test)); |
| 399 Bigint::NewFromCString(test)); | |
| 400 const char* str = bigint.ToHexCString(zone); | 398 const char* str = bigint.ToHexCString(zone); |
| 401 EXPECT_STREQ(out, str); | 399 EXPECT_STREQ(out, str); |
| 402 } | 400 } |
| 403 { | 401 { |
| 404 const char* test = "-12345678901234567890"; | 402 const char* test = "-12345678901234567890"; |
| 405 const char* out = "-0xAB54A98CEB1F0AD2"; | 403 const char* out = "-0xAB54A98CEB1F0AD2"; |
| 406 const Bigint& bigint = Bigint::Handle(Bigint::NewFromCString(test)); | 404 const Bigint& bigint = Bigint::Handle(Bigint::NewFromCString(test)); |
| 407 const char* str = bigint.ToHexCString(zone); | 405 const char* str = bigint.ToHexCString(zone); |
| 408 EXPECT_STREQ(out, str); | 406 EXPECT_STREQ(out, str); |
| 409 } | 407 } |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 449 const Bigint& bigint = Bigint::Handle(Bigint::NewFromCString(in)); | 447 const Bigint& bigint = Bigint::Handle(Bigint::NewFromCString(in)); |
| 450 const char* str = bigint.ToDecCString(zone); | 448 const char* str = bigint.ToDecCString(zone); |
| 451 EXPECT_STREQ("268435456", str); | 449 EXPECT_STREQ("268435456", str); |
| 452 } | 450 } |
| 453 | 451 |
| 454 { | 452 { |
| 455 const char* in = "0x123456789ABCDEF01234567890ABCDEF0123456789ABCDEF0"; | 453 const char* in = "0x123456789ABCDEF01234567890ABCDEF0123456789ABCDEF0"; |
| 456 const Bigint& bigint = Bigint::Handle(Bigint::NewFromCString(in)); | 454 const Bigint& bigint = Bigint::Handle(Bigint::NewFromCString(in)); |
| 457 const char* str = bigint.ToDecCString(zone); | 455 const char* str = bigint.ToDecCString(zone); |
| 458 EXPECT_STREQ("7141946863373290020600059860922167424469804758405880798960", | 456 EXPECT_STREQ("7141946863373290020600059860922167424469804758405880798960", |
| 459 str); | 457 str); |
| 460 } | 458 } |
| 461 | 459 |
| 462 { | 460 { |
| 463 const Bigint& bigint = Bigint::Handle(Bigint::NewFromCString("-0x123")); | 461 const Bigint& bigint = Bigint::Handle(Bigint::NewFromCString("-0x123")); |
| 464 EXPECT(bigint.FitsIntoSmi()); | 462 EXPECT(bigint.FitsIntoSmi()); |
| 465 EXPECT_EQ(-291, bigint.AsInt64Value()); | 463 EXPECT_EQ(-291, bigint.AsInt64Value()); |
| 466 } | 464 } |
| 467 | 465 |
| 468 { | 466 { |
| 469 const Bigint& bigint = Bigint::Handle(Bigint::NewFromCString("-0x123")); | 467 const Bigint& bigint = Bigint::Handle(Bigint::NewFromCString("-0x123")); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 482 const Bigint& bigint = Bigint::Handle(Bigint::NewFromCString(in)); | 480 const Bigint& bigint = Bigint::Handle(Bigint::NewFromCString(in)); |
| 483 const char* str = bigint.ToDecCString(zone); | 481 const char* str = bigint.ToDecCString(zone); |
| 484 EXPECT_STREQ("-4886718345", str); | 482 EXPECT_STREQ("-4886718345", str); |
| 485 } | 483 } |
| 486 | 484 |
| 487 { | 485 { |
| 488 const char* in = "-0x123456789ABCDEF01234567890ABCDEF0123456789ABCDEF0"; | 486 const char* in = "-0x123456789ABCDEF01234567890ABCDEF0123456789ABCDEF0"; |
| 489 const Bigint& bigint = Bigint::Handle(Bigint::NewFromCString(in)); | 487 const Bigint& bigint = Bigint::Handle(Bigint::NewFromCString(in)); |
| 490 const char* str = bigint.ToDecCString(zone); | 488 const char* str = bigint.ToDecCString(zone); |
| 491 EXPECT_STREQ("-7141946863373290020600059860922167424469804758405880798960", | 489 EXPECT_STREQ("-7141946863373290020600059860922167424469804758405880798960", |
| 492 str); | 490 str); |
| 493 } | 491 } |
| 494 | 492 |
| 495 { | 493 { |
| 496 const Bigint& bigint = Bigint::Handle(Bigint::NewFromCString("0x00000123")); | 494 const Bigint& bigint = Bigint::Handle(Bigint::NewFromCString("0x00000123")); |
| 497 EXPECT(bigint.FitsIntoSmi()); | 495 EXPECT(bigint.FitsIntoSmi()); |
| 498 EXPECT_EQ(0x123, bigint.AsInt64Value()); | 496 EXPECT_EQ(0x123, bigint.AsInt64Value()); |
| 499 } | 497 } |
| 500 | 498 |
| 501 { | 499 { |
| 502 const Bigint& bigint = Bigint::Handle( | 500 const Bigint& bigint = |
| 503 Bigint::NewFromCString("0x000000123")); | 501 Bigint::Handle(Bigint::NewFromCString("0x000000123")); |
| 504 const char* str = bigint.ToDecCString(zone); | 502 const char* str = bigint.ToDecCString(zone); |
| 505 EXPECT_STREQ("291", str); | 503 EXPECT_STREQ("291", str); |
| 506 } | 504 } |
| 507 | 505 |
| 508 { | 506 { |
| 509 const Bigint& bigint = Bigint::Handle( | 507 const Bigint& bigint = Bigint::Handle( |
| 510 Bigint::NewFromCString("100000000000000000000000000000000")); | 508 Bigint::NewFromCString("100000000000000000000000000000000")); |
| 511 const char* str = bigint.ToDecCString(zone); | 509 const char* str = bigint.ToDecCString(zone); |
| 512 EXPECT_STREQ("100000000000000000000000000000000", str); | 510 EXPECT_STREQ("100000000000000000000000000000000", str); |
| 513 } | 511 } |
| (...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 636 EXPECT_STREQ("-0xABCDE", str); | 634 EXPECT_STREQ("-0xABCDE", str); |
| 637 } | 635 } |
| 638 | 636 |
| 639 { | 637 { |
| 640 const Bigint& bigint = Bigint::Handle(Bigint::NewFromCString("-11259375")); | 638 const Bigint& bigint = Bigint::Handle(Bigint::NewFromCString("-11259375")); |
| 641 const char* str = bigint.ToHexCString(zone); | 639 const char* str = bigint.ToHexCString(zone); |
| 642 EXPECT_STREQ("-0xABCDEF", str); | 640 EXPECT_STREQ("-0xABCDEF", str); |
| 643 } | 641 } |
| 644 | 642 |
| 645 { | 643 { |
| 646 const Bigint& bigint = Bigint::Handle( | 644 const Bigint& bigint = |
| 647 Bigint::NewFromCString("-1311768467463790320")); | 645 Bigint::Handle(Bigint::NewFromCString("-1311768467463790320")); |
| 648 const char* str = bigint.ToHexCString(zone); | 646 const char* str = bigint.ToHexCString(zone); |
| 649 EXPECT_STREQ("-0x123456789ABCDEF0", str); | 647 EXPECT_STREQ("-0x123456789ABCDEF0", str); |
| 650 } | 648 } |
| 651 } | 649 } |
| 652 | 650 |
| 653 } // namespace dart | 651 } // namespace dart |
| OLD | NEW |