| Index: tests/standalone/float_array_test.dart
|
| ===================================================================
|
| --- tests/standalone/float_array_test.dart (revision 13556)
|
| +++ tests/standalone/float_array_test.dart (working copy)
|
| @@ -9,7 +9,7 @@
|
|
|
| #import('dart:scalarlist');
|
|
|
| -void testCreateFloatArray() {
|
| +void testCreateFloat32Array() {
|
| Float32List floatArray;
|
|
|
| floatArray = new Float32List(0);
|
| @@ -22,7 +22,7 @@
|
| }
|
| }
|
|
|
| -void testSetRange() {
|
| +void testSetRange32() {
|
| Float32List floatArray = new Float32List(3);
|
|
|
| List<num> list = [10.0, 11.0, 12.0];
|
| @@ -39,13 +39,14 @@
|
| Expect.equals(20 + i, list[i]);
|
| }
|
|
|
| - floatArray.setRange(1, 2, const [8.0, 9.0]);
|
| + // 4.0e40 is larger than the largest representable float.
|
| + floatArray.setRange(1, 2, const [8.0, 4.0e40]);
|
| Expect.equals(20, floatArray[0]);
|
| Expect.equals(8, floatArray[1]);
|
| - Expect.equals(9, floatArray[2]);
|
| + Expect.equals(double.INFINITY, floatArray[2]);
|
| }
|
|
|
| -void testIndexOutOfRange() {
|
| +void testIndexOutOfRange32() {
|
| Float32List floatArray = new Float32List(3);
|
| List<num> list = const [0.0, 1.0, 2.0, 3.0];
|
|
|
| @@ -61,7 +62,7 @@
|
| });
|
| }
|
|
|
| -void testIndexOf() {
|
| +void testIndexOf32() {
|
| var list = new Float32List(10);
|
| for (int i = 0; i < list.length; i++) {
|
| list[i] = i + 10.0;
|
| @@ -81,11 +82,90 @@
|
| Expect.equals(-1, list.indexOf(20.0));
|
| }
|
|
|
| +void testCreateFloat64Array() {
|
| + Float64List floatArray;
|
| +
|
| + floatArray = new Float64List(0);
|
| + Expect.equals(0, floatArray.length);
|
| +
|
| + floatArray = new Float64List(10);
|
| + Expect.equals(10, floatArray.length);
|
| + for (int i = 0; i < 10; i++) {
|
| + Expect.equals(0.0, floatArray[i]);
|
| + }
|
| +}
|
| +
|
| +void testSetRange64() {
|
| + Float64List floatArray = new Float64List(3);
|
| +
|
| + List<num> list = [10.0, 11.0, 12.0];
|
| + floatArray.setRange(0, 3, list);
|
| + for (int i = 0; i < 3; i++) {
|
| + Expect.equals(10 + i, floatArray[i]);
|
| + }
|
| +
|
| + floatArray[0] = 20.0;
|
| + floatArray[1] = 21.0;
|
| + floatArray[2] = 22.0;
|
| + list.setRange(0, 3, floatArray);
|
| + for (int i = 0; i < 3; i++) {
|
| + Expect.equals(20 + i, list[i]);
|
| + }
|
| +
|
| + // Unlike Float32Array we can properly represent 4.0e40
|
| + floatArray.setRange(1, 2, const [8.0, 4.0e40]);
|
| + Expect.equals(20, floatArray[0]);
|
| + Expect.equals(8, floatArray[1]);
|
| + Expect.equals(4.0e40, floatArray[2]);
|
| +}
|
| +
|
| +void testIndexOutOfRange64() {
|
| + Float64List floatArray = new Float64List(3);
|
| + List<num> list = const [0.0, 1.0, 2.0, 3.0];
|
| +
|
| + Expect.throws(() {
|
| + floatArray[5] = 2.0;
|
| + });
|
| + Expect.throws(() {
|
| + floatArray.setRange(0, 4, list);
|
| + });
|
| +
|
| + Expect.throws(() {
|
| + floatArray.setRange(3, 1, list);
|
| + });
|
| +}
|
| +
|
| +void testIndexOf64() {
|
| + var list = new Float64List(10);
|
| + for (int i = 0; i < list.length; i++) {
|
| + list[i] = i + 10.0;
|
| + }
|
| + Expect.equals(0, list.indexOf(10));
|
| + Expect.equals(5, list.indexOf(15));
|
| + Expect.equals(9, list.indexOf(19));
|
| + Expect.equals(-1, list.indexOf(20));
|
| +
|
| + list = new Float64List(10);
|
| + for (int i = 0; i < list.length; i++) {
|
| + list[i] = i + 10.0;
|
| + }
|
| + Expect.equals(0, list.indexOf(10.0));
|
| + Expect.equals(5, list.indexOf(15.0));
|
| + Expect.equals(9, list.indexOf(19.0));
|
| + Expect.equals(-1, list.indexOf(20.0));
|
| +}
|
| +
|
| main() {
|
| for (int i = 0; i < 2000; i++) {
|
| - testCreateFloatArray();
|
| - testSetRange();
|
| - testIndexOutOfRange();
|
| - testIndexOf();
|
| + testCreateFloat32Array();
|
| + testSetRange32();
|
| + testIndexOutOfRange32();
|
| + testIndexOf32();
|
| }
|
| + for (int i = 0; i < 2000; i++) {
|
| + testCreateFloat64Array();
|
| + testSetRange64();
|
| + testIndexOutOfRange64();
|
| + testIndexOf64();
|
| + }
|
| }
|
|
|