Chromium Code Reviews| Index: runtime/lib/typeddata.dart |
| =================================================================== |
| --- runtime/lib/typeddata.dart (revision 19984) |
| +++ runtime/lib/typeddata.dart (working copy) |
| @@ -475,35 +475,85 @@ |
| // Internal utility methods. |
| - int _getInt8(int index) native "TypedData_GetInt8"; |
| - void _setInt8(int index, int value) native "TypedData_SetInt8"; |
| + int _getInt8(int offsetInBytes) native "TypedData_GetInt8"; |
| + void _setInt8(int offsetInBytes, int value) native "TypedData_SetInt8"; |
| - int _getUint8(int index) native "TypedData_GetUint8"; |
| - void _setUint8(int index, int value) native "TypedData_SetUint8"; |
| + int _getUint8(int offsetInBytes) native "TypedData_GetUint8"; |
| + void _setUint8(int offsetInBytes, int value) native "TypedData_SetUint8"; |
| - int _getInt16(int index) native "TypedData_GetInt16"; |
| - void _setInt16(int index, int value) native "TypedData_SetInt16"; |
| + int _getIndexedInt16(int index) { |
|
Florian Schneider
2013/03/14 10:12:00
It does not make a huge difference, but it may not
siva
2013/03/14 11:16:34
True, I will move them to the respective classes.
|
| + return _getInt16(index * Int16List.BYTES_PER_ELEMENT); |
| + } |
| + int _getInt16(int offsetInBytes) native "TypedData_GetInt16"; |
| + void _setIndexedInt16(int index, int value) { |
| + _setInt16(index * Int16List.BYTES_PER_ELEMENT, value); |
| + } |
| + void _setInt16(int offsetInBytes, int value) native "TypedData_SetInt16"; |
| - int _getUint16(int index) native "TypedData_GetUint16"; |
| - void _setUint16(int index, int value) native "TypedData_SetUint16"; |
| + int _getIndexedUint16(int index) { |
| + return _getUint16(index * Uint16List.BYTES_PER_ELEMENT); |
| + } |
| + int _getUint16(int offsetInBytes) native "TypedData_GetUint16"; |
| + void _setIndexedUint16(int index, int value) { |
| + _setUint16(index * Uint16List.BYTES_PER_ELEMENT, value); |
| + } |
| + void _setUint16(int offsetInBytes, int value) native "TypedData_SetUint16"; |
| - int _getInt32(int index) native "TypedData_GetInt32"; |
| - void _setInt32(int index, int value) native "TypedData_SetInt32"; |
| + int _getIndexedInt32(int index) { |
| + return _getInt32(index * Int32List.BYTES_PER_ELEMENT); |
| + } |
| + int _getInt32(int offsetInBytes) native "TypedData_GetInt32"; |
| + void _setIndexedInt32(int index, int value) { |
| + _setInt32(index * Int32List.BYTES_PER_ELEMENT, value); |
| + } |
| + void _setInt32(int offsetInBytes, int value) native "TypedData_SetInt32"; |
| - int _getUint32(int index) native "TypedData_GetUint32"; |
| - void _setUint32(int index, int value) native "TypedData_SetUint32"; |
| + int _getIndexedUint32(int index) { |
| + return _getUint32(index * Uint32List.BYTES_PER_ELEMENT); |
| + } |
| + int _getUint32(int offsetInBytes) native "TypedData_GetUint32"; |
| + void _setIndexedUint32(int index, int value) { |
| + _setInt32(index * Uint32List.BYTES_PER_ELEMENT, value); |
| + } |
| + void _setUint32(int offsetInBytes, int value) native "TypedData_SetUint32"; |
| - int _getInt64(int index) native "TypedData_GetInt64"; |
| - void _setInt64(int index, int value) native "TypedData_SetInt64"; |
| + int _getIndexedInt64(int index) { |
| + return _getInt64(index * Int64List.BYTES_PER_ELEMENT); |
| + } |
| + int _getInt64(int offsetInBytes) native "TypedData_GetInt64"; |
| + void _setIndexedInt64(int index, int value) { |
| + _setInt64(index * Int64List.BYTES_PER_ELEMENT, value); |
| + } |
| + void _setInt64(int offsetInBytes, int value) native "TypedData_SetInt64"; |
| - int _getUint64(int index) native "TypedData_GetUint64"; |
| - void _setUint64(int index, int value) native "TypedData_SetUint64"; |
| + int _getIndexedUint64(int index) { |
| + return _getUint64(index * Uint64List.BYTES_PER_ELEMENT); |
| + } |
| + int _getUint64(int offsetInBytes) native "TypedData_GetUint64"; |
| + void _setIndexedUint64(int index, int value) { |
| + _setUint64(index * Uint64List.BYTES_PER_ELEMENT, value); |
| + } |
| + void _setUint64(int offsetInBytes, int value) native "TypedData_SetUint64"; |
| - double _getFloat32(int index) native "TypedData_GetFloat32"; |
| - void _setFloat32(int index, double value) native "TypedData_SetFloat32"; |
| + double _getIndexedFloat32(int index) { |
| + return _getFloat32(index * Float32List.BYTES_PER_ELEMENT); |
| + } |
| + double _getFloat32(int offsetInBytes) native "TypedData_GetFloat32"; |
| + void _setIndexedFloat32(int index, double value) { |
| + _setFloat32(index * Float32List.BYTES_PER_ELEMENT, value); |
| + } |
| + void _setFloat32(int offsetInBytes, double value) |
| + native "TypedData_SetFloat32"; |
| - double _getFloat64(int index) native "TypedData_GetFloat64"; |
| - void _setFloat64(int index, double value) native "TypedData_SetFloat64"; |
| + double _getIndexedFloat64(int index) { |
| + return _getFloat64(index * Float64List.BYTES_PER_ELEMENT); |
| + } |
| + double _getFloat64(int offsetInBytes) native "TypedData_GetFloat64"; |
| + void _setIndexedFloat64(int index, double value) { |
| + _setFloat64(index * Float64List.BYTES_PER_ELEMENT, value); |
| + } |
| + void _setFloat64(int offsetInBytes, double value) |
| + native "TypedData_SetFloat64"; |
| } |
| @@ -713,7 +763,7 @@ |
| String message = "$index must be in the range [0..$length)"; |
| throw new RangeError(message); |
| } |
| - return _getInt16(index); |
| + return _getIndexedInt16(index); |
| } |
| void operator[]=(int index, int value) { |
| @@ -721,7 +771,7 @@ |
| String message = "$index must be in the range [0..$length)"; |
| throw new RangeError(message); |
| } |
| - _setInt16(index, _toInt16(value)); |
| + _setIndexedInt16(index, _toInt16(value)); |
| } |
| Iterator<int> get iterator { |
| @@ -774,7 +824,7 @@ |
| String message = "$index must be in the range [0..$length)"; |
| throw new RangeError(message); |
| } |
| - return _getUint16(index); |
| + return _getIndexedUint16(index); |
| } |
| void operator[]=(int index, int value) { |
| @@ -782,7 +832,7 @@ |
| String message = "$index must be in the range [0..$length)"; |
| throw new RangeError(message); |
| } |
| - _setUint16(index, _toUint16(value)); |
| + _setIndexedUint16(index, _toUint16(value)); |
| } |
| Iterator<int> get iterator { |
| @@ -835,7 +885,7 @@ |
| String message = "$index must be in the range [0..$length)"; |
| throw new RangeError(message); |
| } |
| - return _getInt32(index); |
| + return _getIndexedInt32(index); |
| } |
| void operator[]=(int index, int value) { |
| @@ -843,7 +893,7 @@ |
| String message = "$index must be in the range [0..$length)"; |
| throw new RangeError(message); |
| } |
| - _setInt32(index, _toInt32(value)); |
| + _setIndexedInt32(index, _toInt32(value)); |
| } |
| Iterator<int> get iterator { |
| @@ -896,7 +946,7 @@ |
| String message = "$index must be in the range [0..$length)"; |
| throw new RangeError(message); |
| } |
| - return _getUint32(index); |
| + return _getIndexedUint32(index); |
| } |
| void operator[]=(int index, int value) { |
| @@ -904,7 +954,7 @@ |
| String message = "$index must be in the range [0..$length)"; |
| throw new RangeError(message); |
| } |
| - _setUint32(index, _toUint32(value)); |
| + _setIndexedUint32(index, _toUint32(value)); |
| } |
| Iterator<int> get iterator { |
| @@ -957,7 +1007,7 @@ |
| String message = "$index must be in the range [0..$length)"; |
| throw new RangeError(message); |
| } |
| - return _getInt64(index); |
| + return _getIndexedInt64(index); |
| } |
| void operator[]=(int index, int value) { |
| @@ -965,7 +1015,7 @@ |
| String message = "$index must be in the range [0..$length)"; |
| throw new RangeError(message); |
| } |
| - _setInt64(index, _toInt64(value)); |
| + _setIndexedInt64(index, _toInt64(value)); |
| } |
| Iterator<int> get iterator { |
| @@ -1018,7 +1068,7 @@ |
| String message = "$index must be in the range [0..$length)"; |
| throw new RangeError(message); |
| } |
| - return _getUint64(index); |
| + return _getIndexedUint64(index); |
| } |
| void operator[]=(int index, int value) { |
| @@ -1026,7 +1076,7 @@ |
| String message = "$index must be in the range [0..$length)"; |
| throw new RangeError(message); |
| } |
| - _setUint64(index, _toUint64(value)); |
| + _setIndexedUint64(index, _toUint64(value)); |
| } |
| Iterator<int> get iterator { |
| @@ -1079,7 +1129,7 @@ |
| String message = "$index must be in the range [0..$length)"; |
| throw new RangeError(message); |
| } |
| - return _getFloat32(index); |
| + return _getIndexedFloat32(index); |
| } |
| void operator[]=(int index, double value) { |
| @@ -1087,7 +1137,7 @@ |
| String message = "$index must be in the range [0..$length)"; |
| throw new RangeError(message); |
| } |
| - _setFloat32(index, value); |
| + _setIndexedFloat32(index, value); |
| } |
| Iterator<double> get iterator { |
| @@ -1140,7 +1190,7 @@ |
| String message = "$index must be in the range [0..$length)"; |
| throw new RangeError(message); |
| } |
| - return _getFloat64(index); |
| + return _getIndexedFloat64(index); |
| } |
| void operator[]=(int index, double value) { |
| @@ -1148,7 +1198,7 @@ |
| String message = "$index must be in the range [0..$length)"; |
| throw new RangeError(message); |
| } |
| - _setFloat64(index, value); |
| + _setIndexedFloat64(index, value); |
| } |
| Iterator<double> get iterator { |
| @@ -1350,7 +1400,7 @@ |
| String message = "$index must be in the range [0..$length)"; |
| throw new RangeError(message); |
| } |
| - return _getInt16(index); |
| + return _getIndexedInt16(index); |
| } |
| void operator[]=(int index, int value) { |
| @@ -1358,7 +1408,7 @@ |
| String message = "$index must be in the range [0..$length)"; |
| throw new RangeError(message); |
| } |
| - _setInt16(index, _toInt16(value)); |
| + _setIndexedInt16(index, _toInt16(value)); |
| } |
| Iterator<int> get iterator { |
| @@ -1403,7 +1453,7 @@ |
| String message = "$index must be in the range [0..$length)"; |
| throw new RangeError(message); |
| } |
| - return _getUint16(index); |
| + return _getIndexedUint16(index); |
| } |
| void operator[]=(int index, int value) { |
| @@ -1411,7 +1461,7 @@ |
| String message = "$index must be in the range [0..$length)"; |
| throw new RangeError(message); |
| } |
| - _setUint16(index, _toUint16(value)); |
| + _setIndexedUint16(index, _toUint16(value)); |
| } |
| Iterator<int> get iterator { |
| @@ -1456,7 +1506,7 @@ |
| String message = "$index must be in the range [0..$length)"; |
| throw new RangeError(message); |
| } |
| - return _getInt32(index); |
| + return _getIndexedInt32(index); |
| } |
| void operator[]=(int index, int value) { |
| @@ -1464,7 +1514,7 @@ |
| String message = "$index must be in the range [0..$length)"; |
| throw new RangeError(message); |
| } |
| - _setInt32(index, _toInt32(value)); |
| + _setIndexedInt32(index, _toInt32(value)); |
| } |
| Iterator<int> get iterator { |
| @@ -1509,7 +1559,7 @@ |
| String message = "$index must be in the range [0..$length)"; |
| throw new RangeError(message); |
| } |
| - return _getUint32(index); |
| + return _getIndexedUint32(index); |
| } |
| void operator[]=(int index, int value) { |
| @@ -1517,7 +1567,7 @@ |
| String message = "$index must be in the range [0..$length)"; |
| throw new RangeError(message); |
| } |
| - _setUint32(index, _toUint32(value)); |
| + _setIndexedUint32(index, _toUint32(value)); |
| } |
| Iterator<int> get iterator { |
| @@ -1562,7 +1612,7 @@ |
| String message = "$index must be in the range [0..$length)"; |
| throw new RangeError(message); |
| } |
| - return _getInt64(index); |
| + return _getIndexedInt64(index); |
| } |
| void operator[]=(int index, int value) { |
| @@ -1570,7 +1620,7 @@ |
| String message = "$index must be in the range [0..$length)"; |
| throw new RangeError(message); |
| } |
| - _setInt64(index, _toInt64(value)); |
| + _setIndexedInt64(index, _toInt64(value)); |
| } |
| Iterator<int> get iterator { |
| @@ -1615,7 +1665,7 @@ |
| String message = "$index must be in the range [0..$length)"; |
| throw new RangeError(message); |
| } |
| - return _getUint64(index); |
| + return _getIndexedUint64(index); |
| } |
| void operator[]=(int index, int value) { |
| @@ -1623,7 +1673,7 @@ |
| String message = "$index must be in the range [0..$length)"; |
| throw new RangeError(message); |
| } |
| - _setUint64(index, _toUint64(value)); |
| + _setIndexedUint64(index, _toUint64(value)); |
| } |
| Iterator<int> get iterator { |
| @@ -1668,7 +1718,7 @@ |
| String message = "$index must be in the range [0..$length)"; |
| throw new RangeError(message); |
| } |
| - return _getFloat32(index); |
| + return _getIndexedFloat32(index); |
| } |
| void operator[]=(int index, double value) { |
| @@ -1676,7 +1726,7 @@ |
| String message = "$index must be in the range [0..$length)"; |
| throw new RangeError(message); |
| } |
| - _setFloat32(index, value); |
| + _setIndexedFloat32(index, value); |
| } |
| Iterator<double> get iterator { |
| @@ -1721,7 +1771,7 @@ |
| String message = "$index must be in the range [0..$length)"; |
| throw new RangeError(message); |
| } |
| - return _getFloat64(index); |
| + return _getIndexedFloat64(index); |
| } |
| void operator[]=(int index, double value) { |
| @@ -1729,7 +1779,7 @@ |
| String message = "$index must be in the range [0..$length)"; |
| throw new RangeError(message); |
| } |
| - _setFloat64(index, value); |
| + _setIndexedFloat64(index, value); |
| } |
| Iterator<double> get iterator { |