1) changes on the definitely written analysis: it only takes care about locations...
[IRC.git] / Robust / src / ClassLibrary / SSJava / SSJAVA.java
1 public class SSJAVA {
2
3   // Definitely written analysis assumes that the first parameter may have write
4   // effects through the below methods
5
6   static void arrayinit(float array[], float value) {
7     for (int i = 0; i < array.length; i++) {
8       array[i] = value;
9     }
10   }
11
12   static void arrayinit(int array[], int value) {
13     for (int i = 0; i < array.length; i++) {
14       array[i] = value;
15     }
16   }
17
18   static void arrayinit(float array[][][], int size_1, int size_2, int size_3, float value) {
19
20     for (int idx1 = 0; idx1 < size_1; idx1++) {
21       if (array[idx1].length != size_2) {
22         throw new Error("Array initilizatiion failed to assign to all of elements.");
23       }
24       for (int idx2 = 0; idx2 < size_2; idx2++) {
25         if (array[idx1][idx2].length != size_2) {
26           throw new Error("Array initilizatiion failed to assign to all of elements.");
27         }
28         for (int idx3 = 0; idx3 < size_3; idx3++) {
29           array[idx1][idx2][idx3] = value;
30         }
31       }
32     }
33   }
34
35   static void arrayinit(float array[][], int size_1, int size_2, float value) {
36
37     for (int idx1 = 0; idx1 < size_1; idx1++) {
38       if (array[idx1].length != size_2) {
39         throw new Error("Array initilizatiion failed to assign to all of elements.");
40       }
41       for (int idx2 = 0; idx2 < size_2; idx2++) {
42         array[idx1][idx2] = value;
43       }
44     }
45   }
46
47 }