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

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

Issue 19646005: Add two argument shuffle operations to Float32x4 (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 5 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 | « runtime/lib/simd128.cc ('k') | runtime/vm/bootstrap_natives.h » ('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 }
(...skipping 2253 matching lines...) Expand 10 before | Expand all | Expand 10 after
2264 Float32x4 get wwyw => _shuffle(0xDF); 2264 Float32x4 get wwyw => _shuffle(0xDF);
2265 Float32x4 get wwzx => _shuffle(0x2F); 2265 Float32x4 get wwzx => _shuffle(0x2F);
2266 Float32x4 get wwzy => _shuffle(0x6F); 2266 Float32x4 get wwzy => _shuffle(0x6F);
2267 Float32x4 get wwzz => _shuffle(0xAF); 2267 Float32x4 get wwzz => _shuffle(0xAF);
2268 Float32x4 get wwzw => _shuffle(0xEF); 2268 Float32x4 get wwzw => _shuffle(0xEF);
2269 Float32x4 get wwwx => _shuffle(0x3F); 2269 Float32x4 get wwwx => _shuffle(0x3F);
2270 Float32x4 get wwwy => _shuffle(0x7F); 2270 Float32x4 get wwwy => _shuffle(0x7F);
2271 Float32x4 get wwwz => _shuffle(0xBF); 2271 Float32x4 get wwwz => _shuffle(0xBF);
2272 Float32x4 get wwww => _shuffle(0xFF); 2272 Float32x4 get wwww => _shuffle(0xFF);
2273 Float32x4 _shuffle(int mask) native "Float32x4_shuffle"; 2273 Float32x4 _shuffle(int mask) native "Float32x4_shuffle";
2274
2275 Float32x4 withZWInXY(Float32x4 other) native "Float32x4_withZWInXY";
2276 Float32x4 interleaveXY(Float32x4 other) native "Float32x4_interleaveXY";
2277 Float32x4 interleaveZW(Float32x4 other) native "Float32x4_interleaveZW";
2278 Float32x4 interleaveXYPairs(Float32x4 other)
2279 native "Float32x4_interleaveXYPairs";
2280 Float32x4 interleaveZWPairs(Float32x4 other)
2281 native "Float32x4_interleaveZWPairs";
2282
2274 Float32x4 withX(double x) native "Float32x4_setX"; 2283 Float32x4 withX(double x) native "Float32x4_setX";
2275 Float32x4 withY(double y) native "Float32x4_setY"; 2284 Float32x4 withY(double y) native "Float32x4_setY";
2276 Float32x4 withZ(double z) native "Float32x4_setZ"; 2285 Float32x4 withZ(double z) native "Float32x4_setZ";
2277 Float32x4 withW(double w) native "Float32x4_setW"; 2286 Float32x4 withW(double w) native "Float32x4_setW";
2278 Float32x4 min(Float32x4 other) { 2287 Float32x4 min(Float32x4 other) {
2279 return _min(other); 2288 return _min(other);
2280 } 2289 }
2281 Float32x4 _min(Float32x4 other) native "Float32x4_min"; 2290 Float32x4 _min(Float32x4 other) native "Float32x4_min";
2282 Float32x4 max(Float32x4 other) { 2291 Float32x4 max(Float32x4 other) {
2283 return _max(other); 2292 return _max(other);
(...skipping 1084 matching lines...) Expand 10 before | Expand all | Expand 10 after
3368 return value; 3377 return value;
3369 } 3378 }
3370 return object; 3379 return object;
3371 } 3380 }
3372 3381
3373 3382
3374 void _throwRangeError(int index, int length) { 3383 void _throwRangeError(int index, int length) {
3375 String message = "$index must be in the range [0..$length)"; 3384 String message = "$index must be in the range [0..$length)";
3376 throw new RangeError(message); 3385 throw new RangeError(message);
3377 } 3386 }
OLDNEW
« no previous file with comments | « runtime/lib/simd128.cc ('k') | runtime/vm/bootstrap_natives.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698