Index: utils/matrix/float32.dart |
diff --git a/utils/matrix/float32.dart b/utils/matrix/float32.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..0c54f694248ec2fc75c096b4d3def9d50099a177 |
--- /dev/null |
+++ b/utils/matrix/float32.dart |
@@ -0,0 +1,27 @@ |
+// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+/** |
+ * Emulates the browser's Float32Array (so Matrix4 can be used outside |
+ * the browser. |
+ * (Note this stores entries as 64-bit doubles, since there is no |
+ * 32-bit float type on the vm.) |
+ */ |
+class Float32Array { |
+ final List<double> buf; |
+ |
+ Float32Array(int size) : buf = new List<double>(size) { |
+ for (int i = 0; i < size; i++) { |
+ buf[i] = 0.0; |
+ } |
+ } |
+ |
+ double operator [](int i) { |
+ return buf[i]; |
+ } |
+ |
+ void operator []=(int i, num value) { |
+ buf[i] = (value != null) ? value.toDouble() : 0.0; |
+ } |
+} |