OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 class _IntegerImplementation { | 5 abstract class _IntegerImplementation { |
6 // The Dart class _Bigint extending _IntegerImplementation requires a | 6 // The Dart class _Bigint extending _IntegerImplementation requires a |
7 // default constructor. | 7 // default constructor. |
8 | 8 |
9 Type get runtimeType => int; | 9 Type get runtimeType => int; |
10 | 10 |
11 num operator +(num other) { | 11 num operator +(num other) { |
12 var result = other._addFromInteger(this); | 12 var result = other._addFromInteger(this); |
13 if (result != null) return result; | 13 if (result != null) return result; |
14 return other._toBigint()._addFromInteger(this); | 14 return other._toBigint()._addFromInteger(this); |
15 } | 15 } |
(...skipping 599 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
615 // Shift by mint exceeds range that can be handled by the VM. | 615 // Shift by mint exceeds range that can be handled by the VM. |
616 int _shrFromInt(int other) { | 616 int _shrFromInt(int other) { |
617 if (other < 0) { | 617 if (other < 0) { |
618 return -1; | 618 return -1; |
619 } else { | 619 } else { |
620 return 0; | 620 return 0; |
621 } | 621 } |
622 } | 622 } |
623 int _shlFromInt(int other) native "Mint_shlFromInt"; | 623 int _shlFromInt(int other) native "Mint_shlFromInt"; |
624 } | 624 } |
OLD | NEW |