Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(114)

Side by Side Diff: lib/scalarlist/byte_arrays.dart

Issue 11275042: Renaming IndexOutOfRangeException to RangeError. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 /** 5 /**
6 * A random-access sequence of bytes that also provides random access to 6 * A random-access sequence of bytes that also provides random access to
7 * the fixed-width integers and floating point numbers represented by 7 * the fixed-width integers and floating point numbers represented by
8 * those bytes. Byte arrays may be used to pack and unpack data from 8 * those bytes. Byte arrays may be used to pack and unpack data from
9 * external sources (such as networks or files systems), and to process 9 * external sources (such as networks or files systems), and to process
10 * large quantities of numerical data more efficiently than would be possible 10 * large quantities of numerical data more efficiently than would be possible
(...skipping 16 matching lines...) Expand all
27 27
28 // TODO(lrn): Change the signature to match String.substring. 28 // TODO(lrn): Change the signature to match String.substring.
29 /** 29 /**
30 * Returns a [ByteArray] _view_ of a portion of this byte array. 30 * Returns a [ByteArray] _view_ of a portion of this byte array.
31 * The returned byte array consists of [length] bytes starting 31 * The returned byte array consists of [length] bytes starting
32 * at position [start] in this byte array. The returned byte array 32 * at position [start] in this byte array. The returned byte array
33 * is backed by the same data as this byte array. In other words, 33 * is backed by the same data as this byte array. In other words,
34 * changes to the returned byte array are visible in this byte array 34 * changes to the returned byte array are visible in this byte array
35 * and vice-versa. 35 * and vice-versa.
36 * 36 *
37 * Throws [IndexOutOfRangeException] if [start] or [length] are negative, or 37 * Throws [RangeError] if [start] or [length] are negative, or
38 * if `start + length` is greater than the length of this byte array. 38 * if `start + length` is greater than the length of this byte array.
39 * 39 *
40 * Throws [ArgumentError] if [length] is negative. 40 * Throws [ArgumentError] if [length] is negative.
41 */ 41 */
42 ByteArray subByteArray([int start, int length]); 42 ByteArray subByteArray([int start, int length]);
43 43
44 /** 44 /**
45 * Returns the (possibly negative) integer represented by the byte at the 45 * Returns the (possibly negative) integer represented by the byte at the
46 * specified [byteOffset] in this byte array, in two's complement binary 46 * specified [byteOffset] in this byte array, in two's complement binary
47 * representation. The return value will be between -128 and 127, inclusive. 47 * representation. The return value will be between -128 and 127, inclusive.
48 * 48 *
49 * Throws [IndexOutOfRangeException] if [byteOffset] is negative, or 49 * Throws [RangeError] if [byteOffset] is negative, or
50 * greater than or equal to the length of this byte array. 50 * greater than or equal to the length of this byte array.
51 */ 51 */
52 int getInt8(int byteOffset); 52 int getInt8(int byteOffset);
53 53
54 /** 54 /**
55 * Sets the byte at the specified [byteOffset] in this byte array to the 55 * Sets the byte at the specified [byteOffset] in this byte array to the
56 * two's complement binary representation of the specified [value], which 56 * two's complement binary representation of the specified [value], which
57 * must fit in a single byte. In other words, [value] must be between 57 * must fit in a single byte. In other words, [value] must be between
58 * -128 and 127, inclusive. 58 * -128 and 127, inclusive.
59 * 59 *
60 * Returns `byteOffset + 1`, which is the offset of the first byte in the 60 * Returns `byteOffset + 1`, which is the offset of the first byte in the
61 * array after the byte that was set by this call. This return value can 61 * array after the byte that was set by this call. This return value can
62 * be passed as the [byteOffset] parameter to a subsequent `setXxx` call. 62 * be passed as the [byteOffset] parameter to a subsequent `setXxx` call.
63 * 63 *
64 * Throws [IndexOutOfRangeException] if [byteOffset] is negative, or 64 * Throws [RangeError] if [byteOffset] is negative, or
65 * greater than or equal to the length of this byte array. 65 * greater than or equal to the length of this byte array.
66 * 66 *
67 * Throws [ArgumentError] if [value] is less than -128 or 67 * Throws [ArgumentError] if [value] is less than -128 or
68 * greater than 127. 68 * greater than 127.
69 */ 69 */
70 int setInt8(int byteOffset, int value); 70 int setInt8(int byteOffset, int value);
71 71
72 /** 72 /**
73 * Returns the positive integer represented by the byte at the specified 73 * Returns the positive integer represented by the byte at the specified
74 * [byteOffset] in this byte array, in unsigned binary form. The 74 * [byteOffset] in this byte array, in unsigned binary form. The
75 * return value will be between 0 and 255, inclusive. 75 * return value will be between 0 and 255, inclusive.
76 * 76 *
77 * Throws [IndexOutOfRangeException] if [byteOffset] is negative, or 77 * Throws [RangeError] if [byteOffset] is negative, or
78 * greater than or equal to the length of this byte array. 78 * greater than or equal to the length of this byte array.
79 */ 79 */
80 int getUint8(int byteOffset); 80 int getUint8(int byteOffset);
81 81
82 /** 82 /**
83 * Sets the byte at the specified [byteOffset] in this byte array to the 83 * Sets the byte at the specified [byteOffset] in this byte array to the
84 * unsigned binary representation of the specified [value], which must fit 84 * unsigned binary representation of the specified [value], which must fit
85 * in a single byte. in other words, [value] must be between 0 and 255, 85 * in a single byte. in other words, [value] must be between 0 and 255,
86 * inclusive. 86 * inclusive.
87 * 87 *
88 * Returns `byteOffset + 1`, which is the offset of the first byte in the 88 * Returns `byteOffset + 1`, which is the offset of the first byte in the
89 * array after the byte that was set by this call. This return value can 89 * array after the byte that was set by this call. This return value can
90 * be passed as the [byteOffset] parameter to a subsequent `setXxx` call. 90 * be passed as the [byteOffset] parameter to a subsequent `setXxx` call.
91 * 91 *
92 * Throws [IndexOutOfRangeException] if [byteOffset] is negative, 92 * Throws [RangeError] if [byteOffset] is negative,
93 * or greater than or equal to the length of this byte array. 93 * or greater than or equal to the length of this byte array.
94 * 94 *
95 * Throws [ArgumentError] if [value] is negative or 95 * Throws [ArgumentError] if [value] is negative or
96 * greater than 255. 96 * greater than 255.
97 */ 97 */
98 int setUint8(int byteOffset, int value); 98 int setUint8(int byteOffset, int value);
99 99
100 /** 100 /**
101 * Returns the (possibly negative) integer represented by the two bytes at 101 * Returns the (possibly negative) integer represented by the two bytes at
102 * the specified [byteOffset] in this byte array, in two's complement binary 102 * the specified [byteOffset] in this byte array, in two's complement binary
103 * form. The return value will be between 2<sup>15</sup> and 2<sup>15 - 1, 103 * form. The return value will be between 2<sup>15</sup> and 2<sup>15 - 1,
104 * inclusive. 104 * inclusive.
105 * 105 *
106 * Throws [IndexOutOfRangeException] if [byteOffset] is negative, or 106 * Throws [RangeError] if [byteOffset] is negative, or
107 * `byteOffset + 2` is greater than the length of this byte array. 107 * `byteOffset + 2` is greater than the length of this byte array.
108 */ 108 */
109 int getInt16(int byteOffset); 109 int getInt16(int byteOffset);
110 110
111 /** 111 /**
112 * Sets the two bytes starting at the specified [byteOffset] in this 112 * Sets the two bytes starting at the specified [byteOffset] in this
113 * byte array to the two's complement binary representation of the specified 113 * byte array to the two's complement binary representation of the specified
114 * [value], which must fit in two bytes. In other words, [value] must lie 114 * [value], which must fit in two bytes. In other words, [value] must lie
115 * between 2<sup>15</sup> and 2<sup>15 - 1, inclusive. 115 * between 2<sup>15</sup> and 2<sup>15 - 1, inclusive.
116 * 116 *
117 * Returns `byteOffset + 2`, which is the offset of the first byte in the 117 * Returns `byteOffset + 2`, which is the offset of the first byte in the
118 * array after the last byte that was set by this call. This return value can 118 * array after the last byte that was set by this call. This return value can
119 * be passed as the [byteOffset] parameter to a subsequent `setXxx` call. 119 * be passed as the [byteOffset] parameter to a subsequent `setXxx` call.
120 * 120 *
121 * Throws [IndexOutOfRangeException] if [byteOffset] is negative, or 121 * Throws [RangeError] if [byteOffset] is negative, or
122 * `byteOffset + 2` is greater than the length of this byte array. 122 * `byteOffset + 2` is greater than the length of this byte array.
123 * 123 *
124 * Throws [ArgumentError] if [value] is less than 2<sup>15</sup> 124 * Throws [ArgumentError] if [value] is less than 2<sup>15</sup>
125 * or greater than 2<sup>15 - 1. 125 * or greater than 2<sup>15 - 1.
126 */ 126 */
127 int setInt16(int byteOffset, int value); 127 int setInt16(int byteOffset, int value);
128 128
129 /** 129 /**
130 * Returns the positive integer represented by the two bytes starting 130 * Returns the positive integer represented by the two bytes starting
131 * at the specified [byteOffset] in this byte array, in unsigned binary 131 * at the specified [byteOffset] in this byte array, in unsigned binary
132 * form. The return value will be between 0 and 2<sup>16 - 1, inclusive. 132 * form. The return value will be between 0 and 2<sup>16 - 1, inclusive.
133 * 133 *
134 * Throws [IndexOutOfRangeException] if [byteOffset] is negative, or 134 * Throws [RangeError] if [byteOffset] is negative, or
135 * `byteOffset + 2` is greater than the length of this byte array. 135 * `byteOffset + 2` is greater than the length of this byte array.
136 */ 136 */
137 int getUint16(int byteOffset); 137 int getUint16(int byteOffset);
138 138
139 /** 139 /**
140 * Sets the two bytes starting at the specified [byteOffset] in this byte 140 * Sets the two bytes starting at the specified [byteOffset] in this byte
141 * array to the unsigned binary representation of the specified [value], 141 * array to the unsigned binary representation of the specified [value],
142 * which must fit in two bytes. in other words, [value] must be between 142 * which must fit in two bytes. in other words, [value] must be between
143 * 0 and 2<sup>16 - 1, inclusive. 143 * 0 and 2<sup>16 - 1, inclusive.
144 * 144 *
145 * Returns `byteOffset + 2`, which is the offset of the first byte in the 145 * Returns `byteOffset + 2`, which is the offset of the first byte in the
146 * array after the last byte that was set by this call. This return value can 146 * array after the last byte that was set by this call. This return value can
147 * be passed as the [byteOffset] parameter to a subsequent `setXxx` call. 147 * be passed as the [byteOffset] parameter to a subsequent `setXxx` call.
148 * 148 *
149 * Throws [IndexOutOfRangeException] if [byteOffset] is negative, or 149 * Throws [RangeError] if [byteOffset] is negative, or
150 * `byteOffset + 2` is greater than the length of this byte array. 150 * `byteOffset + 2` is greater than the length of this byte array.
151 * 151 *
152 * Throws [ArgumentError] if [value] is negative or 152 * Throws [ArgumentError] if [value] is negative or
153 * greater than 2<sup>16 - 1. 153 * greater than 2<sup>16 - 1.
154 */ 154 */
155 int setUint16(int byteOffset, int value); 155 int setUint16(int byteOffset, int value);
156 156
157 /** 157 /**
158 * Returns the (possibly negative) integer represented by the four bytes at 158 * Returns the (possibly negative) integer represented by the four bytes at
159 * the specified [byteOffset] in this byte array, in two's complement binary 159 * the specified [byteOffset] in this byte array, in two's complement binary
160 * form. The return value will be between 2<sup>31</sup> and 2<sup>31 - 1, 160 * form. The return value will be between 2<sup>31</sup> and 2<sup>31 - 1,
161 * inclusive. 161 * inclusive.
162 * 162 *
163 * Throws [IndexOutOfRangeException] if [byteOffset] is negative, or 163 * Throws [RangeError] if [byteOffset] is negative, or
164 * `byteOffset + 4` is greater than the length of this byte array. 164 * `byteOffset + 4` is greater than the length of this byte array.
165 */ 165 */
166 int getInt32(int byteOffset); 166 int getInt32(int byteOffset);
167 167
168 /** 168 /**
169 * Sets the four bytes starting at the specified [byteOffset] in this 169 * Sets the four bytes starting at the specified [byteOffset] in this
170 * byte array to the two's complement binary representation of the specified 170 * byte array to the two's complement binary representation of the specified
171 * [value], which must fit in four bytes. In other words, [value] must lie 171 * [value], which must fit in four bytes. In other words, [value] must lie
172 * between 2<sup>31</sup> and 2<sup>31 - 1, inclusive. 172 * between 2<sup>31</sup> and 2<sup>31 - 1, inclusive.
173 * 173 *
174 * Returns `byteOffset + 4`, which is the offset of the first byte in the 174 * Returns `byteOffset + 4`, which is the offset of the first byte in the
175 * array after the last byte that was set by this call. This return value can 175 * array after the last byte that was set by this call. This return value can
176 * be passed as the [byteOffset] parameter to a subsequent `setXxx` call. 176 * be passed as the [byteOffset] parameter to a subsequent `setXxx` call.
177 * 177 *
178 * Throws [IndexOutOfRangeException] if [byteOffset] is negative, or 178 * Throws [RangeError] if [byteOffset] is negative, or
179 * `byteOffset + 4` is greater than the length of this byte array. 179 * `byteOffset + 4` is greater than the length of this byte array.
180 * 180 *
181 * Throws [ArgumentError] if [value] is less than 2<sup>31</sup> 181 * Throws [ArgumentError] if [value] is less than 2<sup>31</sup>
182 * or greater than 2<sup>31 - 1. 182 * or greater than 2<sup>31 - 1.
183 */ 183 */
184 int setInt32(int byteOffset, int value); 184 int setInt32(int byteOffset, int value);
185 185
186 /** 186 /**
187 * Returns the positive integer represented by the four bytes starting 187 * Returns the positive integer represented by the four bytes starting
188 * at the specified [byteOffset] in this byte array, in unsigned binary 188 * at the specified [byteOffset] in this byte array, in unsigned binary
189 * form. The return value will be between 0 and 2<sup>32 - 1, inclusive. 189 * form. The return value will be between 0 and 2<sup>32 - 1, inclusive.
190 * 190 *
191 */ 191 */
192 int getUint32(int byteOffset); 192 int getUint32(int byteOffset);
193 193
194 /** 194 /**
195 * Sets the four bytes starting at the specified [byteOffset] in this byte 195 * Sets the four bytes starting at the specified [byteOffset] in this byte
196 * array to the unsigned binary representation of the specified [value], 196 * array to the unsigned binary representation of the specified [value],
197 * which must fit in four bytes. in other words, [value] must be between 197 * which must fit in four bytes. in other words, [value] must be between
198 * 0 and 2<sup>32 - 1, inclusive. 198 * 0 and 2<sup>32 - 1, inclusive.
199 * 199 *
200 * Returns `byteOffset + 4`, which is the offset of the first byte in the 200 * Returns `byteOffset + 4`, which is the offset of the first byte in the
201 * array after the last byte that was set by this call. This return value can 201 * array after the last byte that was set by this call. This return value can
202 * be passed as the [byteOffset] parameter to a subsequent `setXxx` call. 202 * be passed as the [byteOffset] parameter to a subsequent `setXxx` call.
203 * 203 *
204 * Throws [IndexOutOfRangeException] if [byteOffset] is negative, or 204 * Throws [RangeError] if [byteOffset] is negative, or
205 * `byteOffset + 4` is greater than the length of this byte array. 205 * `byteOffset + 4` is greater than the length of this byte array.
206 * 206 *
207 * Throws [ArgumentError] if [value] is negative or 207 * Throws [ArgumentError] if [value] is negative or
208 * greater than 2<sup>32 - 1. 208 * greater than 2<sup>32 - 1.
209 */ 209 */
210 int setUint32(int byteOffset, int value); 210 int setUint32(int byteOffset, int value);
211 211
212 /** 212 /**
213 * Returns the (possibly negative) integer represented by the eight bytes at 213 * Returns the (possibly negative) integer represented by the eight bytes at
214 * the specified [byteOffset] in this byte array, in two's complement binary 214 * the specified [byteOffset] in this byte array, in two's complement binary
215 * form. The return value will be between 2<sup>63</sup> and 2<sup>63 - 1, 215 * form. The return value will be between 2<sup>63</sup> and 2<sup>63 - 1,
216 * inclusive. 216 * inclusive.
217 * 217 *
218 * Throws [IndexOutOfRangeException] if [byteOffset] is negative, or 218 * Throws [RangeError] if [byteOffset] is negative, or
219 * `byteOffset + 8` is greater than the length of this byte array. 219 * `byteOffset + 8` is greater than the length of this byte array.
220 */ 220 */
221 int getInt64(int byteOffset); 221 int getInt64(int byteOffset);
222 222
223 /** 223 /**
224 * Sets the eight bytes starting at the specified [byteOffset] in this 224 * Sets the eight bytes starting at the specified [byteOffset] in this
225 * byte array to the two's complement binary representation of the specified 225 * byte array to the two's complement binary representation of the specified
226 * [value], which must fit in eight bytes. In other words, [value] must lie 226 * [value], which must fit in eight bytes. In other words, [value] must lie
227 * between 2<sup>63</sup> and 2<sup>63 - 1, inclusive. 227 * between 2<sup>63</sup> and 2<sup>63 - 1, inclusive.
228 * 228 *
229 * Returns `byteOffset + 8`, which is the offset of the first byte in the 229 * Returns `byteOffset + 8`, which is the offset of the first byte in the
230 * array after the last byte that was set by this call. This return value can 230 * array after the last byte that was set by this call. This return value can
231 * be passed as the [byteOffset] parameter to a subsequent `setXxx` call. 231 * be passed as the [byteOffset] parameter to a subsequent `setXxx` call.
232 * 232 *
233 * Throws [IndexOutOfRangeException] if [byteOffset] is negative, or 233 * Throws [RangeError] if [byteOffset] is negative, or
234 * `byteOffset + 8` is greater than the length of this byte array. 234 * `byteOffset + 8` is greater than the length of this byte array.
235 * 235 *
236 * Throws [ArgumentError] if [value] is less than 2<sup>63</sup> 236 * Throws [ArgumentError] if [value] is less than 2<sup>63</sup>
237 * or greater than 2<sup>63 - 1. 237 * or greater than 2<sup>63 - 1.
238 */ 238 */
239 int setInt64(int byteOffset, int value); 239 int setInt64(int byteOffset, int value);
240 240
241 /** 241 /**
242 * Returns the positive integer represented by the eight bytes starting 242 * Returns the positive integer represented by the eight bytes starting
243 * at the specified [byteOffset] in this byte array, in unsigned binary 243 * at the specified [byteOffset] in this byte array, in unsigned binary
244 * form. The return value will be between 0 and 2<sup>64 - 1, inclusive. 244 * form. The return value will be between 0 and 2<sup>64 - 1, inclusive.
245 * 245 *
246 * Throws [IndexOutOfRangeException] if [byteOffset] is negative, or 246 * Throws [RangeError] if [byteOffset] is negative, or
247 * `byteOffset + 8` is greater than the length of this byte array. 247 * `byteOffset + 8` is greater than the length of this byte array.
248 */ 248 */
249 int getUint64(int byteOffset); 249 int getUint64(int byteOffset);
250 250
251 /** 251 /**
252 * Sets the eight bytes starting at the specified [byteOffset] in this byte 252 * Sets the eight bytes starting at the specified [byteOffset] in this byte
253 * array to the unsigned binary representation of the specified [value], 253 * array to the unsigned binary representation of the specified [value],
254 * which must fit in eight bytes. in other words, [value] must be between 254 * which must fit in eight bytes. in other words, [value] must be between
255 * 0 and 2<sup>64 - 1, inclusive. 255 * 0 and 2<sup>64 - 1, inclusive.
256 * 256 *
257 * Returns `byteOffset + 8`, which is the offset of the first byte in the 257 * Returns `byteOffset + 8`, which is the offset of the first byte in the
258 * array after the last byte that was set by this call. This return value can 258 * array after the last byte that was set by this call. This return value can
259 * be passed as the [byteOffset] parameter to a subsequent `setXxx` call. 259 * be passed as the [byteOffset] parameter to a subsequent `setXxx` call.
260 * 260 *
261 * Throws [IndexOutOfRangeException] if [byteOffset] is negative, or 261 * Throws [RangeError] if [byteOffset] is negative, or
262 * `byteOffset + 8` is greater than the length of this byte array. 262 * `byteOffset + 8` is greater than the length of this byte array.
263 * 263 *
264 * Throws [ArgumentError] if [value] is negative or 264 * Throws [ArgumentError] if [value] is negative or
265 * greater than 2<sup>64 - 1. 265 * greater than 2<sup>64 - 1.
266 */ 266 */
267 int setUint64(int byteOffset, int value); 267 int setUint64(int byteOffset, int value);
268 268
269 /** 269 /**
270 * Returns the floating point number represented by the four bytes at 270 * Returns the floating point number represented by the four bytes at
271 * the specified [byteOffset] in this byte array, in IEEE 754 271 * the specified [byteOffset] in this byte array, in IEEE 754
272 * single-precision binary floating-point format (binary32). 272 * single-precision binary floating-point format (binary32).
273 * 273 *
274 * Throws [IndexOutOfRangeException] if [byteOffset] is negative, or 274 * Throws [RangeError] if [byteOffset] is negative, or
275 * `byteOffset + 4` is greater than the length of this byte array. 275 * `byteOffset + 4` is greater than the length of this byte array.
276 */ 276 */
277 double getFloat32(int byteOffset); 277 double getFloat32(int byteOffset);
278 278
279 /** 279 /**
280 * Sets the four bytes starting at the specified [byteOffset] in this 280 * Sets the four bytes starting at the specified [byteOffset] in this
281 * byte array to the IEEE 754 single-precision binary floating-point 281 * byte array to the IEEE 754 single-precision binary floating-point
282 * (binary32) representation of the specified [value]. 282 * (binary32) representation of the specified [value].
283 * 283 *
284 * **Note that this method can lose precision.** The input [value] is 284 * **Note that this method can lose precision.** The input [value] is
285 * a 64-bit floating point value, which will be converted to 32-bit 285 * a 64-bit floating point value, which will be converted to 32-bit
286 * floating point value by IEEE 754 rounding rules before it is stored. 286 * floating point value by IEEE 754 rounding rules before it is stored.
287 * If [value] cannot be represented exactly as a binary32, it will be 287 * If [value] cannot be represented exactly as a binary32, it will be
288 * converted to the nearest binary32 value. If two binary32 values are 288 * converted to the nearest binary32 value. If two binary32 values are
289 * equally close, the one whose least significant bit is zero will be used. 289 * equally close, the one whose least significant bit is zero will be used.
290 * Note that finite (but large) values can be converted to infinity, and 290 * Note that finite (but large) values can be converted to infinity, and
291 * small non-zero values can be converted to zero. 291 * small non-zero values can be converted to zero.
292 * 292 *
293 * Returns `byteOffset + 4`, which is the offset of the first byte in the 293 * Returns `byteOffset + 4`, which is the offset of the first byte in the
294 * array after the last byte that was set by this call. This return value can 294 * array after the last byte that was set by this call. This return value can
295 * be passed as the [byteOffset] parameter to a subsequent `setXxx` call. 295 * be passed as the [byteOffset] parameter to a subsequent `setXxx` call.
296 * 296 *
297 * Throws [IndexOutOfRangeException] if [byteOffset] is negative, or 297 * Throws [RangeError] if [byteOffset] is negative, or
298 * `byteOffset + 4` is greater than the length of this byte array. 298 * `byteOffset + 4` is greater than the length of this byte array.
299 */ 299 */
300 int setFloat32(int byteOffset, double value); 300 int setFloat32(int byteOffset, double value);
301 301
302 /** 302 /**
303 * Returns the floating point number represented by the eight bytes at 303 * Returns the floating point number represented by the eight bytes at
304 * the specified [byteOffset] in this byte array, in IEEE 754 304 * the specified [byteOffset] in this byte array, in IEEE 754
305 * double-precision binary floating-point format (binary64). 305 * double-precision binary floating-point format (binary64).
306 * 306 *
307 * Throws [IndexOutOfRangeException] if [byteOffset] is negative, or 307 * Throws [RangeError] if [byteOffset] is negative, or
308 * `byteOffset + 8` is greater than the length of this byte array. 308 * `byteOffset + 8` is greater than the length of this byte array.
309 */ 309 */
310 double getFloat64(int byteOffset); 310 double getFloat64(int byteOffset);
311 311
312 /** 312 /**
313 * Sets the eight bytes starting at the specified [byteOffset] in this 313 * Sets the eight bytes starting at the specified [byteOffset] in this
314 * byte array to the IEEE 754 double-precision binary floating-point 314 * byte array to the IEEE 754 double-precision binary floating-point
315 * (binary64) representation of the specified [value]. 315 * (binary64) representation of the specified [value].
316 * 316 *
317 * Returns `byteOffset + 8`, which is the offset of the first byte in the 317 * Returns `byteOffset + 8`, which is the offset of the first byte in the
318 * array after the last byte that was set by this call. This return value can 318 * array after the last byte that was set by this call. This return value can
319 * be passed as the [byteOffset] parameter to a subsequent `setXxx` call. 319 * be passed as the [byteOffset] parameter to a subsequent `setXxx` call.
320 * 320 *
321 * Throws [IndexOutOfRangeException] if [byteOffset] is negative, or 321 * Throws [RangeError] if [byteOffset] is negative, or
322 * `byteOffset + 8` is greater than the length of this byte array. 322 * `byteOffset + 8` is greater than the length of this byte array.
323 */ 323 */
324 int setFloat64(int byteOffset, double value); 324 int setFloat64(int byteOffset, double value);
325 } 325 }
326 326
327 /** 327 /**
328 * A "mixin interface" that allows a type, typically but not necessarily 328 * A "mixin interface" that allows a type, typically but not necessarily
329 * a [List], to be viewed as a [ByteArray]. 329 * a [List], to be viewed as a [ByteArray].
330 */ 330 */
331 abstract class ByteArrayViewable { 331 abstract class ByteArrayViewable {
(...skipping 330 matching lines...) Expand 10 before | Expand all | Expand 10 after
662 * [start] of the region is not divisible by 8. If, however, [array] 662 * [start] of the region is not divisible by 8. If, however, [array]
663 * is a view of another byte array, this constructor will throw 663 * is a view of another byte array, this constructor will throw
664 * [ArgumentError] if the implicit starting position in the 664 * [ArgumentError] if the implicit starting position in the
665 * "ultimately backing" byte array is not divisible by 8. In plain terms, 665 * "ultimately backing" byte array is not divisible by 8. In plain terms,
666 * this constructor throws [ArgumentError] if the specified 666 * this constructor throws [ArgumentError] if the specified
667 * region does not contain an integral number of "float64s," or if it 667 * region does not contain an integral number of "float64s," or if it
668 * is not "float64-aligned." 668 * is not "float64-aligned."
669 */ 669 */
670 external factory Float64List.view(ByteArray array, [int start, int length]); 670 external factory Float64List.view(ByteArray array, [int start, int length]);
671 } 671 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698