| OLD | NEW | 
|---|
| 1 // Copyright (c) 2015, the Dart project authors.  Please see the AUTHORS file | 1 // Copyright (c) 2015, 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 import "package:expect/expect.dart"; | 5 import "package:expect/expect.dart"; | 
| 6 | 6 | 
| 7 import "dart:math" show pow; | 7 import "dart:math" show pow; | 
| 8 | 8 | 
| 9 var smallNumber = 1234567890;   // is 31-bit integer. | 9 var smallNumber = 1234567890;   // is 31-bit integer. | 
| 10 var mediumNumber = 1234567890123456;  // is 53-bit integer | 10 var mediumNumber = 1234567890123456;  // is 53-bit integer | 
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 111   test(19, 1234567890, 519818059); | 111   test(19, 1234567890, 519818059); | 
| 112   test(1000000001, 1234567890, 1001100101); | 112   test(1000000001, 1234567890, 1001100101); | 
| 113 | 113 | 
| 114   test(12345, 12346, 12345); | 114   test(12345, 12346, 12345); | 
| 115   test(12345, 12346, 12345); | 115   test(12345, 12346, 12345); | 
| 116 | 116 | 
| 117   test(smallNumber, 137, 42); | 117   test(smallNumber, 137, 42); | 
| 118   test(137, smallNumber, 856087223); | 118   test(137, smallNumber, 856087223); | 
| 119   test(mediumNumber, 137, 77); | 119   test(mediumNumber, 137, 77); | 
| 120   test(137, mediumNumber, 540686667207353); | 120   test(137, mediumNumber, 540686667207353); | 
| 121   test(bigNumber, 137, 128);                  /// bignum: ok | 121   test(bigNumber, 137, 128);                  //# bignum: ok | 
| 122   // Bigger numbers as modulo is tested in big_integer_arith_vm_test.dart. | 122   // Bigger numbers as modulo is tested in big_integer_arith_vm_test.dart. | 
| 123   // Big doubles are not co-prime, so there is nothing to test for dart2js. | 123   // Big doubles are not co-prime, so there is nothing to test for dart2js. | 
| 124 } | 124 } | 
| 125 | 125 | 
| 126 testGcd() { | 126 testGcd() { | 
| 127   // Call testFunc with all combinations and orders of plus/minus | 127   // Call testFunc with all combinations and orders of plus/minus | 
| 128   // value and other. | 128   // value and other. | 
| 129   callCombos(value, other, testFunc) { | 129   callCombos(value, other, testFunc) { | 
| 130     testFunc(value, other); | 130     testFunc(value, other); | 
| 131     testFunc(value, -other); | 131     testFunc(value, -other); | 
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 196   test(0x3FFFFFFF, 0x40000000, 1); | 196   test(0x3FFFFFFF, 0x40000000, 1); | 
| 197 | 197 | 
| 198   test(pow(2, 54), pow(2, 53), pow(2, 53)); | 198   test(pow(2, 54), pow(2, 53), pow(2, 53)); | 
| 199 | 199 | 
| 200   test((pow(2, 52) - 1) * pow(2, 14), | 200   test((pow(2, 52) - 1) * pow(2, 14), | 
| 201        (pow(2, 26) - 1) * pow(2, 22), | 201        (pow(2, 26) - 1) * pow(2, 22), | 
| 202        (pow(2, 26) - 1) * pow(2, 14)); | 202        (pow(2, 26) - 1) * pow(2, 14)); | 
| 203 } | 203 } | 
| 204 | 204 | 
| 205 main() { | 205 main() { | 
| 206   testModPow();  /// modPow: ok | 206   testModPow();  //# modPow: ok | 
| 207   testModInverse(); | 207   testModInverse(); | 
| 208   testGcd(); | 208   testGcd(); | 
| 209 } | 209 } | 
| 210 | 210 | 
| OLD | NEW | 
|---|