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

Side by Side Diff: runtime/lib/typeddata.dart

Issue 13834008: Add fromList constructor to typeddata typed lists. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 8 months 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
« no previous file with comments | « no previous file | sdk/lib/typeddata/typeddata.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 classes for Int8List ..... Float64List and ByteData implementations. 5 // patch classes for Int8List ..... Float64List and ByteData implementations.
6 6
7 patch class Int8List { 7 patch class Int8List {
8 /* patch */ factory Int8List(int length) { 8 /* patch */ factory Int8List(int length) {
9 return new _Int8Array(length); 9 return new _Int8Array(length);
10 } 10 }
11 11
12 /* patch */ factory Int8List.transferable(int length) { 12 /* patch */ factory Int8List.transferable(int length) {
13 return _newTransferable(length); 13 return _newTransferable(length);
14 } 14 }
15 15
16 /* patch */ factory Int8List.fromList(List<int> elements) {
Anton Muhin 2013/04/10 13:32:19 might be too esoteric, but why not => new _Int8Ar
Mads Ager (google) 2013/04/10 13:34:23 Yeah, I had a variation on that one but didn't lik
17 var result = new _Int8Array(elements.length);
18 for (int i = 0; i < elements.length; i++) result[i] = elements[i];
Ivan Posva 2013/04/12 16:21:35 Curly braces.
Mads Ager (google) 2013/04/15 06:00:07 Done.
19 return result;
20 }
21
16 /* patch */ factory Int8List.view(ByteBuffer buffer, 22 /* patch */ factory Int8List.view(ByteBuffer buffer,
17 [int offsetInBytes = 0, int length]) { 23 [int offsetInBytes = 0, int length]) {
18 return new _Int8ArrayView(buffer, offsetInBytes, length); 24 return new _Int8ArrayView(buffer, offsetInBytes, length);
19 } 25 }
20 26
21 static _ExternalInt8Array _newTransferable(int length) { 27 static _ExternalInt8Array _newTransferable(int length) {
22 return new _ExternalInt8Array(length); 28 return new _ExternalInt8Array(length);
23 } 29 }
24 } 30 }
25 31
26 32
27 patch class Uint8List { 33 patch class Uint8List {
28 /* patch */ factory Uint8List(int length) { 34 /* patch */ factory Uint8List(int length) {
29 return new _Uint8Array(length); 35 return new _Uint8Array(length);
30 } 36 }
31 37
32 /* patch */ factory Uint8List.transferable(int length) { 38 /* patch */ factory Uint8List.transferable(int length) {
33 return _newTransferable(length); 39 return _newTransferable(length);
34 } 40 }
35 41
42 /* patch */ factory Uint8List.fromList(List<int> elements) {
43 var result = new _Uint8Array(elements.length);
44 for (int i = 0; i < elements.length; i++) result[i] = elements[i];
Ivan Posva 2013/04/12 16:21:35 Ditto here and below.
Mads Ager (google) 2013/04/15 06:00:07 Done.
45 return result;
46 }
47
36 /* patch */ factory Uint8List.view(ByteBuffer buffer, 48 /* patch */ factory Uint8List.view(ByteBuffer buffer,
37 [int offsetInBytes = 0, int length]) { 49 [int offsetInBytes = 0, int length]) {
38 return new _Uint8ArrayView(buffer, offsetInBytes, length); 50 return new _Uint8ArrayView(buffer, offsetInBytes, length);
39 } 51 }
40 52
41 static _ExternalUint8Array _newTransferable(int length) { 53 static _ExternalUint8Array _newTransferable(int length) {
42 return new _ExternalUint8Array(length); 54 return new _ExternalUint8Array(length);
43 } 55 }
44 } 56 }
45 57
46 58
47 patch class Uint8ClampedList { 59 patch class Uint8ClampedList {
48 /* patch */ factory Uint8ClampedList(int length) { 60 /* patch */ factory Uint8ClampedList(int length) {
49 return new _Uint8ClampedArray(length); 61 return new _Uint8ClampedArray(length);
50 } 62 }
51 63
52 /* patch */ factory Uint8ClampedList.transferable(int length) { 64 /* patch */ factory Uint8ClampedList.transferable(int length) {
53 return _newTransferable(length); 65 return _newTransferable(length);
54 } 66 }
55 67
68 /* patch */ factory Uint8ClampedList.fromList(List<int> elements) {
69 var result = new _Uint8ClampedArray(elements.length);
70 for (int i = 0; i < elements.length; i++) result[i] = elements[i];
71 return result;
72 }
73
56 /* patch */ factory Uint8ClampedList.view(ByteBuffer buffer, 74 /* patch */ factory Uint8ClampedList.view(ByteBuffer buffer,
57 [int offsetInBytes = 0, 75 [int offsetInBytes = 0,
58 int length]) { 76 int length]) {
59 return new _Uint8ClampedArrayView(buffer, offsetInBytes, length); 77 return new _Uint8ClampedArrayView(buffer, offsetInBytes, length);
60 } 78 }
61 79
62 static _ExternalUint8ClampedArray _newTransferable(int length) { 80 static _ExternalUint8ClampedArray _newTransferable(int length) {
63 return new _ExternalUint8ClampedArray(length); 81 return new _ExternalUint8ClampedArray(length);
64 } 82 }
65 } 83 }
66 84
67 85
68 patch class Int16List { 86 patch class Int16List {
69 /* patch */ factory Int16List(int length) { 87 /* patch */ factory Int16List(int length) {
70 return new _Int16Array(length); 88 return new _Int16Array(length);
71 } 89 }
72 90
73 /* patch */ factory Int16List.transferable(int length) { 91 /* patch */ factory Int16List.transferable(int length) {
74 return _newTransferable(length); 92 return _newTransferable(length);
75 } 93 }
76 94
95 /* patch */ factory Int16List.fromList(List<int> elements) {
96 var result = new _Int16Array(elements.length);
97 for (int i = 0; i < elements.length; i++) result[i] = elements[i];
98 return result;
99 }
100
77 /* patch */ factory Int16List.view(ByteBuffer buffer, 101 /* patch */ factory Int16List.view(ByteBuffer buffer,
78 [int offsetInBytes = 0, int length]) { 102 [int offsetInBytes = 0, int length]) {
79 return new _Int16ArrayView(buffer, offsetInBytes, length); 103 return new _Int16ArrayView(buffer, offsetInBytes, length);
80 } 104 }
81 105
82 static _ExternalInt16Array _newTransferable(int length) { 106 static _ExternalInt16Array _newTransferable(int length) {
83 return new _ExternalInt16Array(length); 107 return new _ExternalInt16Array(length);
84 } 108 }
85 } 109 }
86 110
87 111
88 patch class Uint16List { 112 patch class Uint16List {
89 /* patch */ factory Uint16List(int length) { 113 /* patch */ factory Uint16List(int length) {
90 return new _Uint16Array(length); 114 return new _Uint16Array(length);
91 } 115 }
92 116
93 /* patch */ factory Uint16List.transferable(int length) { 117 /* patch */ factory Uint16List.transferable(int length) {
94 return _newTransferable(length); 118 return _newTransferable(length);
95 } 119 }
96 120
121 /* patch */ factory Uint16List.fromList(List<int> elements) {
122 var result = new _Uint16Array(elements.length);
123 for (int i = 0; i < elements.length; i++) result[i] = elements[i];
124 return result;
125 }
126
97 /* patch */ factory Uint16List.view(ByteBuffer buffer, 127 /* patch */ factory Uint16List.view(ByteBuffer buffer,
98 [int offsetInBytes = 0, int length]) { 128 [int offsetInBytes = 0, int length]) {
99 return new _Uint16ArrayView(buffer, offsetInBytes, length); 129 return new _Uint16ArrayView(buffer, offsetInBytes, length);
100 } 130 }
101 131
102 static _ExternalUint16Array _newTransferable(int length) { 132 static _ExternalUint16Array _newTransferable(int length) {
103 return new _ExternalUint16Array(length); 133 return new _ExternalUint16Array(length);
104 } 134 }
105 } 135 }
106 136
107 137
108 patch class Int32List { 138 patch class Int32List {
109 /* patch */ factory Int32List(int length) { 139 /* patch */ factory Int32List(int length) {
110 return new _Int32Array(length); 140 return new _Int32Array(length);
111 } 141 }
112 142
113 /* patch */ factory Int32List.transferable(int length) { 143 /* patch */ factory Int32List.transferable(int length) {
114 return _newTransferable(length); 144 return _newTransferable(length);
115 } 145 }
116 146
147 /* patch */ factory Int32List.fromList(List<int> elements) {
148 var result = new _Int32Array(elements.length);
149 for (int i = 0; i < elements.length; i++) result[i] = elements[i];
150 return result;
151 }
152
117 /* patch */ factory Int32List.view(ByteBuffer buffer, 153 /* patch */ factory Int32List.view(ByteBuffer buffer,
118 [int offsetInBytes = 0, int length]) { 154 [int offsetInBytes = 0, int length]) {
119 return new _Int32ArrayView(buffer, offsetInBytes, length); 155 return new _Int32ArrayView(buffer, offsetInBytes, length);
120 } 156 }
121 157
122 static _ExternalInt32Array _newTransferable(int length) { 158 static _ExternalInt32Array _newTransferable(int length) {
123 return new _ExternalInt32Array(length); 159 return new _ExternalInt32Array(length);
124 } 160 }
125 } 161 }
126 162
127 163
128 patch class Uint32List { 164 patch class Uint32List {
129 /* patch */ factory Uint32List(int length) { 165 /* patch */ factory Uint32List(int length) {
130 return new _Uint32Array(length); 166 return new _Uint32Array(length);
131 } 167 }
132 168
133 /* patch */ factory Uint32List.transferable(int length) { 169 /* patch */ factory Uint32List.transferable(int length) {
134 return _newTransferable(length); 170 return _newTransferable(length);
135 } 171 }
136 172
173 /* patch */ factory Uint32List.fromList(List<int> elements) {
174 var result = new _Uint32Array(elements.length);
175 for (int i = 0; i < elements.length; i++) result[i] = elements[i];
176 return result;
177 }
178
137 /* patch */ factory Uint32List.view(ByteBuffer buffer, 179 /* patch */ factory Uint32List.view(ByteBuffer buffer,
138 [int offsetInBytes = 0, int length]) { 180 [int offsetInBytes = 0, int length]) {
139 return new _Uint32ArrayView(buffer, offsetInBytes, length); 181 return new _Uint32ArrayView(buffer, offsetInBytes, length);
140 } 182 }
141 183
142 static _ExternalUint32Array _newTransferable(int length) { 184 static _ExternalUint32Array _newTransferable(int length) {
143 return new _ExternalUint32Array(length); 185 return new _ExternalUint32Array(length);
144 } 186 }
145 } 187 }
146 188
147 189
148 patch class Int64List { 190 patch class Int64List {
149 /* patch */ factory Int64List(int length) { 191 /* patch */ factory Int64List(int length) {
150 return new _Int64Array(length); 192 return new _Int64Array(length);
151 } 193 }
152 194
153 /* patch */ factory Int64List.transferable(int length) { 195 /* patch */ factory Int64List.transferable(int length) {
154 return _newTransferable(length); 196 return _newTransferable(length);
155 } 197 }
156 198
199 /* patch */ factory Int64List.fromList(List<int> elements) {
200 var result = new _Int64Array(elements.length);
201 for (int i = 0; i < elements.length; i++) result[i] = elements[i];
202 return result;
203 }
204
157 /* patch */ factory Int64List.view(ByteBuffer buffer, 205 /* patch */ factory Int64List.view(ByteBuffer buffer,
158 [int offsetInBytes = 0, int length]) { 206 [int offsetInBytes = 0, int length]) {
159 return new _Int64ArrayView(buffer, offsetInBytes, length); 207 return new _Int64ArrayView(buffer, offsetInBytes, length);
160 } 208 }
161 209
162 static _ExternalInt64Array _newTransferable(int length) { 210 static _ExternalInt64Array _newTransferable(int length) {
163 return new _ExternalInt64Array(length); 211 return new _ExternalInt64Array(length);
164 } 212 }
165 } 213 }
166 214
167 215
168 patch class Uint64List { 216 patch class Uint64List {
169 /* patch */ factory Uint64List(int length) { 217 /* patch */ factory Uint64List(int length) {
170 return new _Uint64Array(length); 218 return new _Uint64Array(length);
171 } 219 }
172 220
173 /* patch */ factory Uint64List.transferable(int length) { 221 /* patch */ factory Uint64List.transferable(int length) {
174 return _newTransferable(length); 222 return _newTransferable(length);
175 } 223 }
176 224
225 /* patch */ factory Uint64List.fromList(List<int> elements) {
226 var result = new _Uint64Array(elements.length);
227 for (int i = 0; i < elements.length; i++) result[i] = elements[i];
228 return result;
229 }
230
177 /* patch */ factory Uint64List.view(ByteBuffer buffer, 231 /* patch */ factory Uint64List.view(ByteBuffer buffer,
178 [int offsetInBytes = 0, int length]) { 232 [int offsetInBytes = 0, int length]) {
179 return new _Uint64ArrayView(buffer, offsetInBytes, length); 233 return new _Uint64ArrayView(buffer, offsetInBytes, length);
180 } 234 }
181 235
182 static _ExternalUint64Array _newTransferable(int length) { 236 static _ExternalUint64Array _newTransferable(int length) {
183 return new _ExternalUint64Array(length); 237 return new _ExternalUint64Array(length);
184 } 238 }
185 } 239 }
186 240
187 241
188 patch class Float32List { 242 patch class Float32List {
189 /* patch */ factory Float32List(int length) { 243 /* patch */ factory Float32List(int length) {
190 return new _Float32Array(length); 244 return new _Float32Array(length);
191 } 245 }
192 246
193 /* patch */ factory Float32List.transferable(int length) { 247 /* patch */ factory Float32List.transferable(int length) {
194 return _newTransferable(length); 248 return _newTransferable(length);
195 } 249 }
196 250
251 /* patch */ factory Float32List.fromList(List<double> elements) {
252 var result = new _Float32Array(elements.length);
253 for (int i = 0; i < elements.length; i++) result[i] = elements[i];
254 return result;
255 }
256
197 /* patch */ factory Float32List.view(ByteBuffer buffer, 257 /* patch */ factory Float32List.view(ByteBuffer buffer,
198 [int offsetInBytes = 0, int length]) { 258 [int offsetInBytes = 0, int length]) {
199 return new _Float32ArrayView(buffer, offsetInBytes, length); 259 return new _Float32ArrayView(buffer, offsetInBytes, length);
200 } 260 }
201 261
202 static _ExternalFloat32Array _newTransferable(int length) { 262 static _ExternalFloat32Array _newTransferable(int length) {
203 return new _ExternalFloat32Array(length); 263 return new _ExternalFloat32Array(length);
204 } 264 }
205 } 265 }
206 266
207 267
208 patch class Float64List { 268 patch class Float64List {
209 /* patch */ factory Float64List(int length) { 269 /* patch */ factory Float64List(int length) {
210 return new _Float64Array(length); 270 return new _Float64Array(length);
211 } 271 }
212 272
213 /* patch */ factory Float64List.transferable(int length) { 273 /* patch */ factory Float64List.transferable(int length) {
214 return _newTransferable(length); 274 return _newTransferable(length);
215 } 275 }
216 276
277 /* patch */ factory Float64List.fromList(List<double> elements) {
278 var result = new _Float64Array(elements.length);
279 for (int i = 0; i < elements.length; i++) result[i] = elements[i];
280 return result;
281 }
282
217 /* patch */ factory Float64List.view(ByteBuffer buffer, 283 /* patch */ factory Float64List.view(ByteBuffer buffer,
218 [int offsetInBytes = 0, int length]) { 284 [int offsetInBytes = 0, int length]) {
219 return new _Float64ArrayView(buffer, offsetInBytes, length); 285 return new _Float64ArrayView(buffer, offsetInBytes, length);
220 } 286 }
221 287
222 static _ExternalFloat64Array _newTransferable(int length) { 288 static _ExternalFloat64Array _newTransferable(int length) {
223 return new _ExternalFloat64Array(length); 289 return new _ExternalFloat64Array(length);
224 } 290 }
225 } 291 }
226 292
(...skipping 2859 matching lines...) Expand 10 before | Expand all | Expand 10 after
3086 return value; 3152 return value;
3087 } 3153 }
3088 return object; 3154 return object;
3089 } 3155 }
3090 3156
3091 3157
3092 void _throwRangeError(int index, int length) { 3158 void _throwRangeError(int index, int length) {
3093 String message = "$index must be in the range [0..$length)"; 3159 String message = "$index must be in the range [0..$length)";
3094 throw new RangeError(message); 3160 throw new RangeError(message);
3095 } 3161 }
OLDNEW
« no previous file with comments | « no previous file | sdk/lib/typeddata/typeddata.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698