OLD | NEW |
1 // Copyright (c) 2015, the Dartino project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, the Dartino 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.md file. | 3 // BSD-style license that can be found in the LICENSE.md file. |
4 | 4 |
5 part of dart.core_patch; | 5 part of dart.core_patch; |
6 | 6 |
7 abstract class _IntBase implements int { | 7 abstract class _IntBase implements int { |
8 const _IntBase(); | 8 const _IntBase(); |
9 | 9 |
10 bool get isNaN => false; | 10 bool get isNaN => false; |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
127 int modPow(int exponent, int modulus) { | 127 int modPow(int exponent, int modulus) { |
128 if (exponent is! int) { | 128 if (exponent is! int) { |
129 throw new ArgumentError.value(exponent, "exponent", "not an integer"); | 129 throw new ArgumentError.value(exponent, "exponent", "not an integer"); |
130 } | 130 } |
131 if (modulus is! int) { | 131 if (modulus is! int) { |
132 throw new ArgumentError.value(modulus, "modulus", "not an integer"); | 132 throw new ArgumentError.value(modulus, "modulus", "not an integer"); |
133 } | 133 } |
134 if (exponent < 0) throw new RangeError.range(exponent, 0, null, "exponent"); | 134 if (exponent < 0) throw new RangeError.range(exponent, 0, null, "exponent"); |
135 if (modulus <= 0) throw new RangeError.range(modulus, 1, null, "modulus"); | 135 if (modulus <= 0) throw new RangeError.range(modulus, 1, null, "modulus"); |
136 if (exponent == 0) return 1; | 136 if (exponent == 0) return 1; |
137 if (fletch.enableBigint) { | 137 if (dartino.enableBigint) { |
138 return this._toBigint().modPow(exponent, modulus); | 138 return this._toBigint().modPow(exponent, modulus); |
139 } else { | 139 } else { |
140 throw new UnimplementedError(); | 140 throw new UnimplementedError(); |
141 } | 141 } |
142 } | 142 } |
143 | 143 |
144 int modInverse(int modulus) { | 144 int modInverse(int modulus) { |
145 if (modulus is! int) { | 145 if (modulus is! int) { |
146 throw new ArgumentError.value(modulus, "modulus", "not an integer"); | 146 throw new ArgumentError.value(modulus, "modulus", "not an integer"); |
147 } | 147 } |
148 if (modulus <= 0) throw new RangeError.range(modulus, 1, null, "modulus"); | 148 if (modulus <= 0) throw new RangeError.range(modulus, 1, null, "modulus"); |
149 if (modulus == 1) return 0; | 149 if (modulus == 1) return 0; |
150 if (fletch.enableBigint) { | 150 if (dartino.enableBigint) { |
151 return this._toBigint().modInverse(modulus); | 151 return this._toBigint().modInverse(modulus); |
152 } else { | 152 } else { |
153 throw new UnimplementedError(); | 153 throw new UnimplementedError(); |
154 } | 154 } |
155 } | 155 } |
156 | 156 |
157 int gcd(int other) { | 157 int gcd(int other) { |
158 if (other is! int) { | 158 if (other is! int) { |
159 throw new ArgumentError.value(other, "other", "not an integer"); | 159 throw new ArgumentError.value(other, "other", "not an integer"); |
160 } | 160 } |
161 int x = this.abs(); | 161 int x = this.abs(); |
162 int y = other.abs(); | 162 int y = other.abs(); |
163 if (x == 0) return y; | 163 if (x == 0) return y; |
164 if (y == 0) return x; | 164 if (y == 0) return x; |
165 if ((x == 1) || (y == 1)) return 1; | 165 if ((x == 1) || (y == 1)) return 1; |
166 if (fletch.enableBigint) { | 166 if (dartino.enableBigint) { |
167 return this._toBigint().gcd(other); | 167 return this._toBigint().gcd(other); |
168 } else { | 168 } else { |
169 throw new UnimplementedError(); | 169 throw new UnimplementedError(); |
170 } | 170 } |
171 } | 171 } |
172 | 172 |
173 bool get isEven => (this & 1) == 0; | 173 bool get isEven => (this & 1) == 0; |
174 | 174 |
175 bool get isOdd => (this & 1) == 1; | 175 bool get isOdd => (this & 1) == 1; |
176 | 176 |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
247 bool _compareGtFromDouble(double other) => other > toDouble(); | 247 bool _compareGtFromDouble(double other) => other > toDouble(); |
248 | 248 |
249 bool _compareGeFromDouble(double other) => other >= toDouble(); | 249 bool _compareGeFromDouble(double other) => other >= toDouble(); |
250 | 250 |
251 double _remainderFromDouble(double other) => other.remainder(toDouble()); | 251 double _remainderFromDouble(double other) => other.remainder(toDouble()); |
252 } | 252 } |
253 | 253 |
254 class _Smi extends _IntBase { | 254 class _Smi extends _IntBase { |
255 int get hashCode => identityHashCode(this); | 255 int get hashCode => identityHashCode(this); |
256 | 256 |
257 @fletch.native external String toString(); | 257 @dartino.native external String toString(); |
258 | 258 |
259 @fletch.native external double toDouble(); | 259 @dartino.native external double toDouble(); |
260 | 260 |
261 @fletch.native external int _toMint(); | 261 @dartino.native external int _toMint(); |
262 | 262 |
263 int _toBigint() { | 263 int _toBigint() { |
264 if (fletch.enableBigint) { | 264 if (dartino.enableBigint) { |
265 return new _Bigint._fromInt(this); | 265 return new _Bigint._fromInt(this); |
266 } else { | 266 } else { |
267 throw new UnimplementedError(); | 267 throw new UnimplementedError(); |
268 } | 268 } |
269 } | 269 } |
270 | 270 |
271 int _toBigintOrDouble() { | 271 int _toBigintOrDouble() { |
272 if (fletch.enableBigint) { | 272 if (dartino.enableBigint) { |
273 return new _Bigint._fromInt(this); | 273 return new _Bigint._fromInt(this); |
274 } else { | 274 } else { |
275 throw new UnimplementedError(); | 275 throw new UnimplementedError(); |
276 } | 276 } |
277 } | 277 } |
278 | 278 |
279 @fletch.native num operator -() { | 279 @dartino.native num operator -() { |
280 return -_toMint(); | 280 return -_toMint(); |
281 } | 281 } |
282 | 282 |
283 @fletch.native num operator +(other) { | 283 @dartino.native num operator +(other) { |
284 // TODO(kasperl): Check error. | 284 // TODO(kasperl): Check error. |
285 return other._addFromInteger(this); | 285 return other._addFromInteger(this); |
286 } | 286 } |
287 | 287 |
288 @fletch.native num operator -(other) { | 288 @dartino.native num operator -(other) { |
289 // TODO(kasperl): Check error. | 289 // TODO(kasperl): Check error. |
290 return other._subFromInteger(this); | 290 return other._subFromInteger(this); |
291 } | 291 } |
292 | 292 |
293 @fletch.native num operator *(other) { | 293 @dartino.native num operator *(other) { |
294 // TODO(kasperl): Check error. | 294 // TODO(kasperl): Check error. |
295 return other._mulFromInteger(this); | 295 return other._mulFromInteger(this); |
296 } | 296 } |
297 | 297 |
298 @fletch.native num operator %(other) { | 298 @dartino.native num operator %(other) { |
299 switch (fletch.nativeError) { | 299 switch (dartino.nativeError) { |
300 case fletch.wrongArgumentType: | 300 case dartino.wrongArgumentType: |
301 return other._modFromInteger(this); | 301 return other._modFromInteger(this); |
302 case fletch.indexOutOfBounds: | 302 case dartino.indexOutOfBounds: |
303 throw new IntegerDivisionByZeroException(); | 303 throw new IntegerDivisionByZeroException(); |
304 } | 304 } |
305 } | 305 } |
306 | 306 |
307 @fletch.native num operator /(other) { | 307 @dartino.native num operator /(other) { |
308 // TODO(kasperl): Check error. | 308 // TODO(kasperl): Check error. |
309 return other._divFromInteger(this); | 309 return other._divFromInteger(this); |
310 } | 310 } |
311 | 311 |
312 @fletch.native int operator ~/(other) { | 312 @dartino.native int operator ~/(other) { |
313 switch (fletch.nativeError) { | 313 switch (dartino.nativeError) { |
314 case fletch.wrongArgumentType: | 314 case dartino.wrongArgumentType: |
315 return other._truncDivFromInteger(this); | 315 return other._truncDivFromInteger(this); |
316 case fletch.indexOutOfBounds: | 316 case dartino.indexOutOfBounds: |
317 throw new IntegerDivisionByZeroException(); | 317 throw new IntegerDivisionByZeroException(); |
318 } | 318 } |
319 } | 319 } |
320 | 320 |
321 @fletch.native external int operator ~(); | 321 @dartino.native external int operator ~(); |
322 | 322 |
323 @fletch.native int operator &(other) { | 323 @dartino.native int operator &(other) { |
324 // TODO(kasperl): Check error. | 324 // TODO(kasperl): Check error. |
325 return other._bitAndFromInteger(this); | 325 return other._bitAndFromInteger(this); |
326 } | 326 } |
327 | 327 |
328 @fletch.native int operator |(other) { | 328 @dartino.native int operator |(other) { |
329 // TODO(kasperl): Check error. | 329 // TODO(kasperl): Check error. |
330 return other._bitOrFromInteger(this); | 330 return other._bitOrFromInteger(this); |
331 } | 331 } |
332 | 332 |
333 @fletch.native int operator ^(other) { | 333 @dartino.native int operator ^(other) { |
334 // TODO(kasperl): Check error. | 334 // TODO(kasperl): Check error. |
335 return other._bitXorFromInteger(this); | 335 return other._bitXorFromInteger(this); |
336 } | 336 } |
337 | 337 |
338 @fletch.native int operator >>(other) { | 338 @dartino.native int operator >>(other) { |
339 // TODO(kasperl): Check error. | 339 // TODO(kasperl): Check error. |
340 return other._bitShrFromInteger(this); | 340 return other._bitShrFromInteger(this); |
341 } | 341 } |
342 | 342 |
343 @fletch.native int operator <<(other) { | 343 @dartino.native int operator <<(other) { |
344 // TODO(kasperl): Check error. | 344 // TODO(kasperl): Check error. |
345 return other._bitShlFromInteger(this); | 345 return other._bitShlFromInteger(this); |
346 } | 346 } |
347 | 347 |
348 @fletch.native bool operator ==(other) { | 348 @dartino.native bool operator ==(other) { |
349 if (other is! num) return false; | 349 if (other is! num) return false; |
350 // TODO(kasperl): Check error. | 350 // TODO(kasperl): Check error. |
351 return other._compareEqFromInteger(this); | 351 return other._compareEqFromInteger(this); |
352 } | 352 } |
353 | 353 |
354 @fletch.native bool operator <(other) { | 354 @dartino.native bool operator <(other) { |
355 // TODO(kasperl): Check error. | 355 // TODO(kasperl): Check error. |
356 return other._compareLtFromInteger(this); | 356 return other._compareLtFromInteger(this); |
357 } | 357 } |
358 | 358 |
359 @fletch.native bool operator <=(other) { | 359 @dartino.native bool operator <=(other) { |
360 // TODO(kasperl): Check error. | 360 // TODO(kasperl): Check error. |
361 return other._compareLeFromInteger(this); | 361 return other._compareLeFromInteger(this); |
362 } | 362 } |
363 | 363 |
364 @fletch.native bool operator >(other) { | 364 @dartino.native bool operator >(other) { |
365 // TODO(kasperl): Check error. | 365 // TODO(kasperl): Check error. |
366 return other._compareGtFromInteger(this); | 366 return other._compareGtFromInteger(this); |
367 } | 367 } |
368 | 368 |
369 @fletch.native bool operator >=(other) { | 369 @dartino.native bool operator >=(other) { |
370 // TODO(kasperl): Check error. | 370 // TODO(kasperl): Check error. |
371 return other._compareGeFromInteger(this); | 371 return other._compareGeFromInteger(this); |
372 } | 372 } |
373 | 373 |
374 // In the following double-dispatch helpers, [other] might | 374 // In the following double-dispatch helpers, [other] might |
375 // be a small integer in case of overflows. Calling toMint() | 375 // be a small integer in case of overflows. Calling toMint() |
376 // on [other] isn't strictly necessary but it makes the | 376 // on [other] isn't strictly necessary but it makes the |
377 // overflow case a litte bit faster. | 377 // overflow case a litte bit faster. |
378 int _addFromInteger(other) => other._toMint() + _toMint(); | 378 int _addFromInteger(other) => other._toMint() + _toMint(); |
379 | 379 |
(...skipping 24 matching lines...) Expand all Loading... |
404 bool _compareLeFromInteger(other) => other._toMint() <= _toMint(); | 404 bool _compareLeFromInteger(other) => other._toMint() <= _toMint(); |
405 | 405 |
406 bool _compareGtFromInteger(other) => other._toMint() > _toMint(); | 406 bool _compareGtFromInteger(other) => other._toMint() > _toMint(); |
407 | 407 |
408 bool _compareGeFromInteger(other) => other._toMint() >= _toMint(); | 408 bool _compareGeFromInteger(other) => other._toMint() >= _toMint(); |
409 } | 409 } |
410 | 410 |
411 class _Mint extends _IntBase { | 411 class _Mint extends _IntBase { |
412 int get hashCode => identityHashCode(this); | 412 int get hashCode => identityHashCode(this); |
413 | 413 |
414 @fletch.native external String toString(); | 414 @dartino.native external String toString(); |
415 | 415 |
416 @fletch.native external double toDouble(); | 416 @dartino.native external double toDouble(); |
417 | 417 |
418 int _toMint() => this; | 418 int _toMint() => this; |
419 | 419 |
420 int _toBigint() { | 420 int _toBigint() { |
421 if (fletch.enableBigint) { | 421 if (dartino.enableBigint) { |
422 return new _Bigint._fromInt(this); | 422 return new _Bigint._fromInt(this); |
423 } else { | 423 } else { |
424 throw new UnimplementedError(); | 424 throw new UnimplementedError(); |
425 } | 425 } |
426 } | 426 } |
427 | 427 |
428 int _toBigintOrDouble() { | 428 int _toBigintOrDouble() { |
429 if (fletch.enableBigint) { | 429 if (dartino.enableBigint) { |
430 return new _Bigint._fromInt(this); | 430 return new _Bigint._fromInt(this); |
431 } else { | 431 } else { |
432 throw new UnimplementedError(); | 432 throw new UnimplementedError(); |
433 } | 433 } |
434 } | 434 } |
435 | 435 |
436 @fletch.native num operator -() { | 436 @dartino.native num operator -() { |
437 if (fletch.enableBigint) { | 437 if (dartino.enableBigint) { |
438 return -_toBigint(); | 438 return -_toBigint(); |
439 } else { | 439 } else { |
440 throw new UnimplementedError('Overflow to big integer'); | 440 throw new UnimplementedError('Overflow to big integer'); |
441 } | 441 } |
442 } | 442 } |
443 | 443 |
444 @fletch.native num operator +(other) { | 444 @dartino.native num operator +(other) { |
445 switch (fletch.nativeError) { | 445 switch (dartino.nativeError) { |
446 case fletch.wrongArgumentType: | 446 case dartino.wrongArgumentType: |
447 return other._addFromInteger(this); | 447 return other._addFromInteger(this); |
448 case fletch.indexOutOfBounds: | 448 case dartino.indexOutOfBounds: |
449 if (fletch.enableBigint) { | 449 if (dartino.enableBigint) { |
450 return other._toBigint()._addFromInteger(this); | 450 return other._toBigint()._addFromInteger(this); |
451 } else { | 451 } else { |
452 throw new UnimplementedError('Overflow to big integer'); | 452 throw new UnimplementedError('Overflow to big integer'); |
453 } | 453 } |
454 } | 454 } |
455 } | 455 } |
456 | 456 |
457 @fletch.native num operator -(other) { | 457 @dartino.native num operator -(other) { |
458 switch (fletch.nativeError) { | 458 switch (dartino.nativeError) { |
459 case fletch.wrongArgumentType: | 459 case dartino.wrongArgumentType: |
460 return other._subFromInteger(this); | 460 return other._subFromInteger(this); |
461 case fletch.indexOutOfBounds: | 461 case dartino.indexOutOfBounds: |
462 if (fletch.enableBigint) { | 462 if (dartino.enableBigint) { |
463 return other._toBigint()._subFromInteger(this); | 463 return other._toBigint()._subFromInteger(this); |
464 } else { | 464 } else { |
465 throw new UnimplementedError('Overflow to big integer'); | 465 throw new UnimplementedError('Overflow to big integer'); |
466 } | 466 } |
467 } | 467 } |
468 } | 468 } |
469 | 469 |
470 @fletch.native num operator *(other) { | 470 @dartino.native num operator *(other) { |
471 switch (fletch.nativeError) { | 471 switch (dartino.nativeError) { |
472 case fletch.wrongArgumentType: | 472 case dartino.wrongArgumentType: |
473 return other._mulFromInteger(this); | 473 return other._mulFromInteger(this); |
474 case fletch.indexOutOfBounds: | 474 case dartino.indexOutOfBounds: |
475 if (fletch.enableBigint) { | 475 if (dartino.enableBigint) { |
476 return other._toBigint()._mulFromInteger(this); | 476 return other._toBigint()._mulFromInteger(this); |
477 } else { | 477 } else { |
478 throw new UnimplementedError('Overflow to big integer'); | 478 throw new UnimplementedError('Overflow to big integer'); |
479 } | 479 } |
480 } | 480 } |
481 } | 481 } |
482 | 482 |
483 @fletch.native num operator %(other) { | 483 @dartino.native num operator %(other) { |
484 switch (fletch.nativeError) { | 484 switch (dartino.nativeError) { |
485 case fletch.wrongArgumentType: | 485 case dartino.wrongArgumentType: |
486 return other._modFromInteger(this); | 486 return other._modFromInteger(this); |
487 case fletch.indexOutOfBounds: | 487 case dartino.indexOutOfBounds: |
488 if (fletch.enableBigint) { | 488 if (dartino.enableBigint) { |
489 return other._toBigint()._modFromInteger(this); | 489 return other._toBigint()._modFromInteger(this); |
490 } else { | 490 } else { |
491 throw new UnimplementedError('Overflow to big integer'); | 491 throw new UnimplementedError('Overflow to big integer'); |
492 } | 492 } |
493 case fletch.illegalState: | 493 case dartino.illegalState: |
494 throw new IntegerDivisionByZeroException(); | 494 throw new IntegerDivisionByZeroException(); |
495 } | 495 } |
496 } | 496 } |
497 | 497 |
498 @fletch.native num operator /(other) { | 498 @dartino.native num operator /(other) { |
499 // TODO(kasperl): Check error. | 499 // TODO(kasperl): Check error. |
500 return other._divFromInteger(this); | 500 return other._divFromInteger(this); |
501 } | 501 } |
502 | 502 |
503 @fletch.native int operator ~/(other) { | 503 @dartino.native int operator ~/(other) { |
504 switch (fletch.nativeError) { | 504 switch (dartino.nativeError) { |
505 case fletch.wrongArgumentType: | 505 case dartino.wrongArgumentType: |
506 return other._truncDivFromInteger(this); | 506 return other._truncDivFromInteger(this); |
507 case fletch.indexOutOfBounds: | 507 case dartino.indexOutOfBounds: |
508 if (fletch.enableBigint) { | 508 if (dartino.enableBigint) { |
509 return other._toBigint()._truncDivFromInteger(this); | 509 return other._toBigint()._truncDivFromInteger(this); |
510 } else { | 510 } else { |
511 throw new UnimplementedError('Overflow to big integer'); | 511 throw new UnimplementedError('Overflow to big integer'); |
512 } | 512 } |
513 case fletch.illegalState: | 513 case dartino.illegalState: |
514 throw new IntegerDivisionByZeroException(); | 514 throw new IntegerDivisionByZeroException(); |
515 } | 515 } |
516 } | 516 } |
517 | 517 |
518 @fletch.native external int operator ~(); | 518 @dartino.native external int operator ~(); |
519 | 519 |
520 @fletch.native int operator &(other) { | 520 @dartino.native int operator &(other) { |
521 // TODO(kasperl): Check error. | 521 // TODO(kasperl): Check error. |
522 return other._bitAndFromInteger(this); | 522 return other._bitAndFromInteger(this); |
523 } | 523 } |
524 | 524 |
525 @fletch.native int operator |(other) { | 525 @dartino.native int operator |(other) { |
526 // TODO(kasperl): Check error. | 526 // TODO(kasperl): Check error. |
527 return other._bitOrFromInteger(this); | 527 return other._bitOrFromInteger(this); |
528 } | 528 } |
529 | 529 |
530 @fletch.native int operator ^(other) { | 530 @dartino.native int operator ^(other) { |
531 // TODO(kasperl): Check error. | 531 // TODO(kasperl): Check error. |
532 return other._bitXorFromInteger(this); | 532 return other._bitXorFromInteger(this); |
533 } | 533 } |
534 | 534 |
535 @fletch.native int operator >>(other) { | 535 @dartino.native int operator >>(other) { |
536 // TODO(kasperl): Check error. | 536 // TODO(kasperl): Check error. |
537 return other._bitShrFromInteger(this); | 537 return other._bitShrFromInteger(this); |
538 } | 538 } |
539 | 539 |
540 @fletch.native int operator <<(other) { | 540 @dartino.native int operator <<(other) { |
541 switch (fletch.nativeError) { | 541 switch (dartino.nativeError) { |
542 case fletch.wrongArgumentType: | 542 case dartino.wrongArgumentType: |
543 return other._bitShlFromInteger(this); | 543 return other._bitShlFromInteger(this); |
544 case fletch.indexOutOfBounds: | 544 case dartino.indexOutOfBounds: |
545 if (fletch.enableBigint) { | 545 if (dartino.enableBigint) { |
546 return other._toBigint()._bitShlFromInteger(this); | 546 return other._toBigint()._bitShlFromInteger(this); |
547 } else { | 547 } else { |
548 throw new UnimplementedError('Overflow to big integer'); | 548 throw new UnimplementedError('Overflow to big integer'); |
549 } | 549 } |
550 } | 550 } |
551 } | 551 } |
552 | 552 |
553 @fletch.native bool operator ==(other) { | 553 @dartino.native bool operator ==(other) { |
554 if (other is! num) return false; | 554 if (other is! num) return false; |
555 // TODO(kasperl): Check error. | 555 // TODO(kasperl): Check error. |
556 return other._compareEqFromInteger(this); | 556 return other._compareEqFromInteger(this); |
557 } | 557 } |
558 | 558 |
559 @fletch.native bool operator <(other) { | 559 @dartino.native bool operator <(other) { |
560 // TODO(kasperl): Check error. | 560 // TODO(kasperl): Check error. |
561 return other._compareLtFromInteger(this); | 561 return other._compareLtFromInteger(this); |
562 } | 562 } |
563 | 563 |
564 @fletch.native bool operator <=(other) { | 564 @dartino.native bool operator <=(other) { |
565 // TODO(kasperl): Check error. | 565 // TODO(kasperl): Check error. |
566 return other._compareLeFromInteger(this); | 566 return other._compareLeFromInteger(this); |
567 } | 567 } |
568 | 568 |
569 @fletch.native bool operator >(other) { | 569 @dartino.native bool operator >(other) { |
570 // TODO(kasperl): Check error. | 570 // TODO(kasperl): Check error. |
571 return other._compareGtFromInteger(this); | 571 return other._compareGtFromInteger(this); |
572 } | 572 } |
573 | 573 |
574 @fletch.native bool operator >=(other) { | 574 @dartino.native bool operator >=(other) { |
575 // TODO(kasperl): Check error. | 575 // TODO(kasperl): Check error. |
576 return other._compareGeFromInteger(this); | 576 return other._compareGeFromInteger(this); |
577 } | 577 } |
578 | 578 |
579 int _addFromInteger(other) => other._toMint() + this; | 579 int _addFromInteger(other) => other._toMint() + this; |
580 | 580 |
581 int _subFromInteger(other) => other._toMint() - this; | 581 int _subFromInteger(other) => other._toMint() - this; |
582 | 582 |
583 int _mulFromInteger(other) => other._toMint() * this; | 583 int _mulFromInteger(other) => other._toMint() * this; |
584 | 584 |
(...skipping 16 matching lines...) Expand all Loading... |
601 bool _compareEqFromInteger(other) => other._toMint() == this; | 601 bool _compareEqFromInteger(other) => other._toMint() == this; |
602 | 602 |
603 bool _compareLtFromInteger(other) => other._toMint() < this; | 603 bool _compareLtFromInteger(other) => other._toMint() < this; |
604 | 604 |
605 bool _compareLeFromInteger(other) => other._toMint() <= this; | 605 bool _compareLeFromInteger(other) => other._toMint() <= this; |
606 | 606 |
607 bool _compareGtFromInteger(other) => other._toMint() > this; | 607 bool _compareGtFromInteger(other) => other._toMint() > this; |
608 | 608 |
609 bool _compareGeFromInteger(other) => other._toMint() >= this; | 609 bool _compareGeFromInteger(other) => other._toMint() >= this; |
610 } | 610 } |
OLD | NEW |