| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 patch class Float32x4 { | 5 patch class Float32x4 { |
| 6 /* patch */ factory Float32x4(double x, double y, double z, double w) { | 6 /* patch */ factory Float32x4(double x, double y, double z, double w) { |
| 7 return new _Float32x4(x, y, z, w); | 7 return new _Float32x4(x, y, z, w); |
| 8 } | 8 } |
| 9 /* patch */ factory Float32x4.zero() { | 9 /* patch */ factory Float32x4.zero() { |
| 10 return new _Float32x4.zero(); | 10 return new _Float32x4.zero(); |
| (...skipping 595 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 606 return result; | 606 return result; |
| 607 } | 607 } |
| 608 void setRange(int start, int length, List<Float32x4> from, | 608 void setRange(int start, int length, List<Float32x4> from, |
| 609 [int startFrom = 0]) { | 609 [int startFrom = 0]) { |
| 610 if (from is _Float32x4Array) { | 610 if (from is _Float32x4Array) { |
| 611 _setRange(start * _BYTES_PER_ELEMENT, | 611 _setRange(start * _BYTES_PER_ELEMENT, |
| 612 length * _BYTES_PER_ELEMENT, | 612 length * _BYTES_PER_ELEMENT, |
| 613 from, | 613 from, |
| 614 startFrom * _BYTES_PER_ELEMENT); | 614 startFrom * _BYTES_PER_ELEMENT); |
| 615 } else { | 615 } else { |
| 616 Arrays.copy(from, startFrom, this, start, length); | 616 IterableMixinWorkaround.setRangeList( |
| 617 this, start, length, from, startFrom); |
| 617 } | 618 } |
| 618 } | 619 } |
| 619 String toString() { | 620 String toString() { |
| 620 return Collections.collectionToString(this); | 621 return Collections.collectionToString(this); |
| 621 } | 622 } |
| 622 int bytesPerElement() { | 623 int bytesPerElement() { |
| 623 return _BYTES_PER_ELEMENT; | 624 return _BYTES_PER_ELEMENT; |
| 624 } | 625 } |
| 625 int lengthInBytes() { | 626 int lengthInBytes() { |
| 626 return _length() * _BYTES_PER_ELEMENT; | 627 return _length() * _BYTES_PER_ELEMENT; |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 668 | 669 |
| 669 List<Float32x4> getRange(int start, int length) { | 670 List<Float32x4> getRange(int start, int length) { |
| 670 _rangeCheck(this.length, start, length); | 671 _rangeCheck(this.length, start, length); |
| 671 List<Float32x4> result = new Float32List(length); | 672 List<Float32x4> result = new Float32List(length); |
| 672 result.setRange(0, length, this, start); | 673 result.setRange(0, length, this, start); |
| 673 return result; | 674 return result; |
| 674 } | 675 } |
| 675 | 676 |
| 676 void setRange(int start, int length, List<Float32x4> from, | 677 void setRange(int start, int length, List<Float32x4> from, |
| 677 [int startFrom = 0]) { | 678 [int startFrom = 0]) { |
| 678 Arrays.copy(from, startFrom, this, start, length); | 679 IterableMixinWorkaround.setRangeList(this, start, length, from, startFrom); |
| 679 } | 680 } |
| 680 | 681 |
| 681 String toString() { | 682 String toString() { |
| 682 return Collections.collectionToString(this); | 683 return Collections.collectionToString(this); |
| 683 } | 684 } |
| 684 | 685 |
| 685 int bytesPerElement() { | 686 int bytesPerElement() { |
| 686 return _BYTES_PER_ELEMENT; | 687 return _BYTES_PER_ELEMENT; |
| 687 } | 688 } |
| 688 | 689 |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 724 } | 725 } |
| 725 | 726 |
| 726 void setRange(int start, int length, List<Float32x4> from, | 727 void setRange(int start, int length, List<Float32x4> from, |
| 727 [int startFrom = 0]) { | 728 [int startFrom = 0]) { |
| 728 if (from is _ExternalFloat32x4Array) { | 729 if (from is _ExternalFloat32x4Array) { |
| 729 _setRange(start * _BYTES_PER_ELEMENT, | 730 _setRange(start * _BYTES_PER_ELEMENT, |
| 730 length * _BYTES_PER_ELEMENT, | 731 length * _BYTES_PER_ELEMENT, |
| 731 from, | 732 from, |
| 732 startFrom * _BYTES_PER_ELEMENT); | 733 startFrom * _BYTES_PER_ELEMENT); |
| 733 } else { | 734 } else { |
| 734 Arrays.copy(from, startFrom, this, start, length); | 735 IterableMixinWorkaround.setRangeList( |
| 736 this, start, length, from, startFrom); |
| 735 } | 737 } |
| 736 } | 738 } |
| 737 | 739 |
| 738 String toString() { | 740 String toString() { |
| 739 return Collections.collectionToString(this); | 741 return Collections.collectionToString(this); |
| 740 } | 742 } |
| 741 | 743 |
| 742 int bytesPerElement() { | 744 int bytesPerElement() { |
| 743 return _BYTES_PER_ELEMENT; | 745 return _BYTES_PER_ELEMENT; |
| 744 } | 746 } |
| 745 | 747 |
| 746 int lengthInBytes() { | 748 int lengthInBytes() { |
| 747 return _length() * _BYTES_PER_ELEMENT; | 749 return _length() * _BYTES_PER_ELEMENT; |
| 748 } | 750 } |
| 749 | 751 |
| 750 static const int _BYTES_PER_ELEMENT = 16; | 752 static const int _BYTES_PER_ELEMENT = 16; |
| 751 | 753 |
| 752 Float32x4 _getIndexed(int index) | 754 Float32x4 _getIndexed(int index) |
| 753 native "ExternalFloat32x4Array_getIndexed"; | 755 native "ExternalFloat32x4Array_getIndexed"; |
| 754 int _setIndexed(int index, Float32x4 value) | 756 int _setIndexed(int index, Float32x4 value) |
| 755 native "ExternalFloat32x4Array_setIndexed"; | 757 native "ExternalFloat32x4Array_setIndexed"; |
| 756 } | 758 } |
| OLD | NEW |