98 public @Stable double v; |
98 public @Stable double v; |
99 |
99 |
100 public static final DefaultValue c = new DefaultValue(); |
100 public static final DefaultValue c = new DefaultValue(); |
101 public static double get() { return c.v; } |
101 public static double get() { return c.v; } |
102 public static void test() throws Exception { |
102 public static void test() throws Exception { |
103 double val1 = get(); |
103 double val1 = get(); |
104 c.v = 1.0; double val2 = get(); |
104 c.v = 1.0; double val2 = get(); |
105 assertEquals(val1, 0); |
105 assertEquals(val1, 0); |
106 assertEquals(val2, 1.0); |
106 assertEquals(val2, 1.0); |
107 } |
107 } |
108 } |
108 } |
128 public static @Stable double v; |
128 public static @Stable double v; |
129 |
129 |
130 public static final DefaultStaticValue c = new DefaultStaticValue(); |
130 public static final DefaultStaticValue c = new DefaultStaticValue(); |
131 public static double get() { return c.v; } |
131 public static double get() { return c.v; } |
132 public static void test() throws Exception { |
132 public static void test() throws Exception { |
133 double val1 = get(); |
133 double val1 = get(); |
134 c.v = 1.0; double val2 = get(); |
134 c.v = 1.0; double val2 = get(); |
135 assertEquals(val1, 0); |
135 assertEquals(val1, 0); |
136 assertEquals(val2, 1.0); |
136 assertEquals(val2, 1.0); |
137 } |
137 } |
138 } |
138 } |
178 public static double get1() { return c.v[10]; } |
178 public static double get1() { return c.v[10]; } |
179 public static double[] get2() { return c.v; } |
179 public static double[] get2() { return c.v; } |
180 public static void test() throws Exception { |
180 public static void test() throws Exception { |
181 { |
181 { |
182 c.v = new double[1]; c.v[0] = 1.0; double val1 = get(); |
182 c.v = new double[1]; c.v[0] = 1.0; double val1 = get(); |
183 c.v[0] = 2.0; double val2 = get(); |
183 c.v[0] = 2.0; double val2 = get(); |
184 assertEquals(val1, 1.0); |
184 assertEquals(val1, 1.0); |
185 assertEquals(val2, (isStableEnabled ? 1.0 : 2.0)); |
185 assertEquals(val2, (isStableEnabled ? 1.0 : 2.0)); |
186 |
186 |
187 c.v = new double[1]; c.v[0] = 3.0; double val3 = get(); |
187 c.v = new double[1]; c.v[0] = 3.0; double val3 = get(); |
188 assertEquals(val3, (isStableEnabled ? (isStableEnabled ? 1.0 : 2.0) |
188 assertEquals(val3, (isStableEnabled ? (isStableEnabled ? 1.0 : 2.0) |
189 : 3.0)); |
189 : 3.0)); |
190 } |
190 } |
191 |
191 |
192 { |
192 { |
193 c.v = new double[20]; c.v[10] = 1.0; double val1 = get1(); |
193 c.v = new double[20]; c.v[10] = 1.0; double val1 = get1(); |
194 c.v[10] = 2.0; double val2 = get1(); |
194 c.v[10] = 2.0; double val2 = get1(); |
195 assertEquals(val1, 1.0); |
195 assertEquals(val1, 1.0); |
196 assertEquals(val2, (isStableEnabled ? 1.0 : 2.0)); |
196 assertEquals(val2, (isStableEnabled ? 1.0 : 2.0)); |
197 |
197 |
198 c.v = new double[20]; c.v[10] = 3.0; double val3 = get1(); |
198 c.v = new double[20]; c.v[10] = 3.0; double val3 = get1(); |
199 assertEquals(val3, (isStableEnabled ? (isStableEnabled ? 1.0 : 2.0) |
199 assertEquals(val3, (isStableEnabled ? (isStableEnabled ? 1.0 : 2.0) |
200 : 3.0)); |
200 : 3.0)); |
201 } |
201 } |
202 |
202 |
203 { |
203 { |
204 c.v = new double[1]; double[] val1 = get2(); |
204 c.v = new double[1]; double[] val1 = get2(); |
205 c.v = new double[1]; double[] val2 = get2(); |
205 c.v = new double[1]; double[] val2 = get2(); |
218 public static double[] get1() { return c.v[0]; } |
218 public static double[] get1() { return c.v[0]; } |
219 public static double[][] get2() { return c.v; } |
219 public static double[][] get2() { return c.v; } |
220 public static void test() throws Exception { |
220 public static void test() throws Exception { |
221 { |
221 { |
222 c.v = new double[1][1]; c.v[0][0] = 1.0; double val1 = get(); |
222 c.v = new double[1][1]; c.v[0][0] = 1.0; double val1 = get(); |
223 c.v[0][0] = 2.0; double val2 = get(); |
223 c.v[0][0] = 2.0; double val2 = get(); |
224 assertEquals(val1, 1.0); |
224 assertEquals(val1, 1.0); |
225 assertEquals(val2, (isStableEnabled ? 1.0 : 2.0)); |
225 assertEquals(val2, (isStableEnabled ? 1.0 : 2.0)); |
226 |
226 |
227 c.v = new double[1][1]; c.v[0][0] = 3.0; double val3 = get(); |
227 c.v = new double[1][1]; c.v[0][0] = 3.0; double val3 = get(); |
228 assertEquals(val3, (isStableEnabled ? (isStableEnabled ? 1.0 : 2.0) |
228 assertEquals(val3, (isStableEnabled ? (isStableEnabled ? 1.0 : 2.0) |
229 : 3.0)); |
229 : 3.0)); |
230 |
230 |
231 c.v[0] = new double[1]; c.v[0][0] = 4.0; double val4 = get(); |
231 c.v[0] = new double[1]; c.v[0][0] = 4.0; double val4 = get(); |
232 assertEquals(val4, (isStableEnabled ? (isStableEnabled ? 1.0 : 2.0) |
232 assertEquals(val4, (isStableEnabled ? (isStableEnabled ? 1.0 : 2.0) |
233 : 4.0)); |
233 : 4.0)); |
234 } |
234 } |
235 |
235 |
236 { |
236 { |
237 c.v = new double[1][1]; double[] val1 = get1(); |
237 c.v = new double[1][1]; double[] val1 = get1(); |
238 c.v[0] = new double[1]; double[] val2 = get1(); |
238 c.v[0] = new double[1]; double[] val2 = get1(); |
258 public static double[][] get2() { return c.v[0]; } |
258 public static double[][] get2() { return c.v[0]; } |
259 public static double[][][] get3() { return c.v; } |
259 public static double[][][] get3() { return c.v; } |
260 public static void test() throws Exception { |
260 public static void test() throws Exception { |
261 { |
261 { |
262 c.v = new double[1][1][1]; c.v[0][0][0] = 1.0; double val1 = get(); |
262 c.v = new double[1][1][1]; c.v[0][0][0] = 1.0; double val1 = get(); |
263 c.v[0][0][0] = 2.0; double val2 = get(); |
263 c.v[0][0][0] = 2.0; double val2 = get(); |
264 assertEquals(val1, 1.0); |
264 assertEquals(val1, 1.0); |
265 assertEquals(val2, (isStableEnabled ? 1.0 : 2.0)); |
265 assertEquals(val2, (isStableEnabled ? 1.0 : 2.0)); |
266 |
266 |
267 c.v = new double[1][1][1]; c.v[0][0][0] = 3.0; double val3 = get(); |
267 c.v = new double[1][1][1]; c.v[0][0][0] = 3.0; double val3 = get(); |
268 assertEquals(val3, (isStableEnabled ? (isStableEnabled ? 1.0 : 2.0) |
268 assertEquals(val3, (isStableEnabled ? (isStableEnabled ? 1.0 : 2.0) |
269 : 3.0)); |
269 : 3.0)); |
270 |
270 |
271 c.v[0] = new double[1][1]; c.v[0][0][0] = 4.0; double val4 = get(); |
271 c.v[0] = new double[1][1]; c.v[0][0][0] = 4.0; double val4 = get(); |
272 assertEquals(val4, (isStableEnabled ? (isStableEnabled ? 1.0 : 2.0) |
272 assertEquals(val4, (isStableEnabled ? (isStableEnabled ? 1.0 : 2.0) |
273 : 4.0)); |
273 : 4.0)); |
274 |
274 |
275 c.v[0][0] = new double[1]; c.v[0][0][0] = 5.0; double val5 = get(); |
275 c.v[0][0] = new double[1]; c.v[0][0][0] = 5.0; double val5 = get(); |
276 assertEquals(val5, (isStableEnabled ? (isStableEnabled ? 1.0 : 2.0) |
276 assertEquals(val5, (isStableEnabled ? (isStableEnabled ? 1.0 : 2.0) |
277 : 5.0)); |
277 : 5.0)); |
278 } |
278 } |
279 |
279 |
280 { |
280 { |
281 c.v = new double[1][1][1]; double[] val1 = get1(); |
281 c.v = new double[1][1][1]; double[] val1 = get1(); |
282 c.v[0][0] = new double[1]; double[] val2 = get1(); |
282 c.v[0][0] = new double[1]; double[] val2 = get1(); |
309 public static double[][][] get3() { return c.v[0]; } |
309 public static double[][][] get3() { return c.v[0]; } |
310 public static double[][][][] get4() { return c.v; } |
310 public static double[][][][] get4() { return c.v; } |
311 public static void test() throws Exception { |
311 public static void test() throws Exception { |
312 { |
312 { |
313 c.v = new double[1][1][1][1]; c.v[0][0][0][0] = 1.0; double val1 = get(); |
313 c.v = new double[1][1][1][1]; c.v[0][0][0][0] = 1.0; double val1 = get(); |
314 c.v[0][0][0][0] = 2.0; double val2 = get(); |
314 c.v[0][0][0][0] = 2.0; double val2 = get(); |
315 assertEquals(val1, 1.0); |
315 assertEquals(val1, 1.0); |
316 assertEquals(val2, (isStableEnabled ? 1.0 : 2.0)); |
316 assertEquals(val2, (isStableEnabled ? 1.0 : 2.0)); |
317 |
317 |
318 c.v = new double[1][1][1][1]; c.v[0][0][0][0] = 3.0; double val3 = get(); |
318 c.v = new double[1][1][1][1]; c.v[0][0][0][0] = 3.0; double val3 = get(); |
319 assertEquals(val3, (isStableEnabled ? (isStableEnabled ? 1.0 : 2.0) |
319 assertEquals(val3, (isStableEnabled ? (isStableEnabled ? 1.0 : 2.0) |
320 : 3.0)); |
320 : 3.0)); |
321 |
321 |
322 c.v[0] = new double[1][1][1]; c.v[0][0][0][0] = 4.0; double val4 = get(); |
322 c.v[0] = new double[1][1][1]; c.v[0][0][0][0] = 4.0; double val4 = get(); |
323 assertEquals(val4, (isStableEnabled ? (isStableEnabled ? 1.0 : 2.0) |
323 assertEquals(val4, (isStableEnabled ? (isStableEnabled ? 1.0 : 2.0) |
324 : 4.0)); |
324 : 4.0)); |
325 |
325 |
326 c.v[0][0] = new double[1][1]; c.v[0][0][0][0] = 5.0; double val5 = get(); |
326 c.v[0][0] = new double[1][1]; c.v[0][0][0][0] = 5.0; double val5 = get(); |
327 assertEquals(val5, (isStableEnabled ? (isStableEnabled ? 1.0 : 2.0) |
327 assertEquals(val5, (isStableEnabled ? (isStableEnabled ? 1.0 : 2.0) |
328 : 5.0)); |
328 : 5.0)); |
329 |
329 |
330 c.v[0][0][0] = new double[1]; c.v[0][0][0][0] = 6.0; double val6 = get(); |
330 c.v[0][0][0] = new double[1]; c.v[0][0][0][0] = 6.0; double val6 = get(); |
331 assertEquals(val6, (isStableEnabled ? (isStableEnabled ? 1.0 : 2.0) |
331 assertEquals(val6, (isStableEnabled ? (isStableEnabled ? 1.0 : 2.0) |
332 : 6.0)); |
332 : 6.0)); |
333 } |
333 } |
334 |
334 |
335 { |
335 { |
336 c.v = new double[1][1][1][1]; double[] val1 = get1(); |
336 c.v = new double[1][1][1][1]; double[] val1 = get1(); |
337 c.v[0][0][0] = new double[1]; double[] val2 = get1(); |
337 c.v[0][0][0] = new double[1]; double[] val2 = get1(); |
368 public static double[] get1() { return (double[])c.v; } |
368 public static double[] get1() { return (double[])c.v; } |
369 |
369 |
370 public static void test() throws Exception { |
370 public static void test() throws Exception { |
371 { |
371 { |
372 c.v = new double[1]; ((double[])c.v)[0] = 1.0; double val1 = get(); |
372 c.v = new double[1]; ((double[])c.v)[0] = 1.0; double val1 = get(); |
373 ((double[])c.v)[0] = 2.0; double val2 = get(); |
373 ((double[])c.v)[0] = 2.0; double val2 = get(); |
374 |
374 |
375 assertEquals(val1, 1.0); |
375 assertEquals(val1, 1.0); |
376 assertEquals(val2, 2.0); |
376 assertEquals(val2, 2.0); |
377 } |
377 } |
378 |
378 |
395 public static Object[] get2() { return c.v; } |
395 public static Object[] get2() { return c.v; } |
396 |
396 |
397 public static void test() throws Exception { |
397 public static void test() throws Exception { |
398 { |
398 { |
399 c.v = new double[1][1]; ((double[][])c.v)[0][0] = 1.0; double val1 = get(); |
399 c.v = new double[1][1]; ((double[][])c.v)[0][0] = 1.0; double val1 = get(); |
400 ((double[][])c.v)[0][0] = 2.0; double val2 = get(); |
400 ((double[][])c.v)[0][0] = 2.0; double val2 = get(); |
401 |
401 |
402 assertEquals(val1, 1.0); |
402 assertEquals(val1, 1.0); |
403 assertEquals(val2, 2.0); |
403 assertEquals(val2, 2.0); |
404 } |
404 } |
405 |
405 |
406 { |
406 { |
407 c.v = new double[1][1]; c.v[0] = new double[0]; double[] val1 = get1(); |
407 c.v = new double[1][1]; c.v[0] = new double[0]; double[] val1 = get1(); |
408 c.v[0] = new double[0]; double[] val2 = get1(); |
408 c.v[0] = new double[0]; double[] val2 = get1(); |
409 |
409 |
410 assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); |
410 assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); |
411 } |
411 } |
412 |
412 |
413 { |
413 { |
431 public static Object[][] get3() { return c.v; } |
431 public static Object[][] get3() { return c.v; } |
432 |
432 |
433 public static void test() throws Exception { |
433 public static void test() throws Exception { |
434 { |
434 { |
435 c.v = new double[1][1][1]; ((double[][][])c.v)[0][0][0] = 1.0; double val1 = get(); |
435 c.v = new double[1][1][1]; ((double[][][])c.v)[0][0][0] = 1.0; double val1 = get(); |
436 ((double[][][])c.v)[0][0][0] = 2.0; double val2 = get(); |
436 ((double[][][])c.v)[0][0][0] = 2.0; double val2 = get(); |
437 |
437 |
438 assertEquals(val1, 1.0); |
438 assertEquals(val1, 1.0); |
439 assertEquals(val2, 2.0); |
439 assertEquals(val2, 2.0); |
440 } |
440 } |
441 |
441 |
442 { |
442 { |
443 c.v = new double[1][1][1]; c.v[0][0] = new double[0]; double[] val1 = get1(); |
443 c.v = new double[1][1][1]; c.v[0][0] = new double[0]; double[] val1 = get1(); |
444 c.v[0][0] = new double[0]; double[] val2 = get1(); |
444 c.v[0][0] = new double[0]; double[] val2 = get1(); |
445 |
445 |
446 assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); |
446 assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); |
447 } |
447 } |
448 |
448 |
449 { |
449 { |
450 c.v = new double[1][1][1]; c.v[0] = new double[0][0]; double[][] val1 = get2(); |
450 c.v = new double[1][1][1]; c.v[0] = new double[0][0]; double[][] val1 = get2(); |
451 c.v[0] = new double[0][0]; double[][] val2 = get2(); |
451 c.v[0] = new double[0][0]; double[][] val2 = get2(); |
452 |
452 |
453 assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); |
453 assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); |
454 } |
454 } |
455 |
455 |
456 { |
456 { |
476 public static double get1() { return get().a; } |
476 public static double get1() { return get().a; } |
477 |
477 |
478 public static void test() throws Exception { |
478 public static void test() throws Exception { |
479 { |
479 { |
480 c.v = new A(); c.v.a = 1.0; A val1 = get(); |
480 c.v = new A(); c.v.a = 1.0; A val1 = get(); |
481 c.v.a = 2.0; A val2 = get(); |
481 c.v.a = 2.0; A val2 = get(); |
482 |
482 |
483 assertEquals(val1.a, 2.0); |
483 assertEquals(val1.a, 2.0); |
484 assertEquals(val2.a, 2.0); |
484 assertEquals(val2.a, 2.0); |
485 } |
485 } |
486 |
486 |
487 { |
487 { |
488 c.v = new A(); c.v.a = 1.0; double val1 = get1(); |
488 c.v = new A(); c.v.a = 1.0; double val1 = get1(); |
489 c.v.a = 2.0; double val2 = get1(); |
489 c.v.a = 2.0; double val2 = get1(); |
490 c.v = new A(); c.v.a = 3.0; double val3 = get1(); |
490 c.v = new A(); c.v.a = 3.0; double val3 = get1(); |
491 |
491 |
492 assertEquals(val1, 1.0); |
492 assertEquals(val1, 1.0); |
493 assertEquals(val2, (isStableEnabled ? 1.0 : 2.0)); |
493 assertEquals(val2, (isStableEnabled ? 1.0 : 2.0)); |
494 assertEquals(val3, (isStableEnabled ? 1.0 : 3.0)); |
494 assertEquals(val3, (isStableEnabled ? 1.0 : 3.0)); |
510 public static double get1() { return get().a; } |
510 public static double get1() { return get().a; } |
511 |
511 |
512 public static void test() throws Exception { |
512 public static void test() throws Exception { |
513 { |
513 { |
514 c.v = new A(); c.v.next = new A(); c.v.next.next = c.v; |
514 c.v = new A(); c.v.next = new A(); c.v.next.next = c.v; |
515 c.v.a = 1.0; c.v.next.a = 1.0; A val1 = get(); |
515 c.v.a = 1.0; c.v.next.a = 1.0; A val1 = get(); |
516 c.v.a = 2.0; c.v.next.a = 2.0; A val2 = get(); |
516 c.v.a = 2.0; c.v.next.a = 2.0; A val2 = get(); |
517 |
517 |
518 assertEquals(val1.a, 2.0); |
518 assertEquals(val1.a, 2.0); |
519 assertEquals(val2.a, 2.0); |
519 assertEquals(val2.a, 2.0); |
520 } |
520 } |
521 |
521 |
522 { |
522 { |
523 c.v = new A(); c.v.next = c.v; |
523 c.v = new A(); c.v.next = c.v; |
524 c.v.a = 1.0; double val1 = get1(); |
524 c.v.a = 1.0; double val1 = get1(); |
525 c.v.a = 2.0; double val2 = get1(); |
525 c.v.a = 2.0; double val2 = get1(); |
526 c.v = new A(); c.v.next = c.v; |
526 c.v = new A(); c.v.next = c.v; |
527 c.v.a = 3.0; double val3 = get1(); |
527 c.v.a = 3.0; double val3 = get1(); |
528 |
528 |
529 assertEquals(val1, 1.0); |
529 assertEquals(val1, 1.0); |
530 assertEquals(val2, (isStableEnabled ? 1.0 : 2.0)); |
530 assertEquals(val2, (isStableEnabled ? 1.0 : 2.0)); |
531 assertEquals(val3, (isStableEnabled ? 1.0 : 3.0)); |
531 assertEquals(val3, (isStableEnabled ? 1.0 : 3.0)); |
532 } |
532 } |
548 public static double get1() { return c.v.left.left.right.left.a; } |
548 public static double get1() { return c.v.left.left.right.left.a; } |
549 |
549 |
550 public static void test() throws Exception { |
550 public static void test() throws Exception { |
551 { |
551 { |
552 c.v = new A(); c.v.left = c.v.right = c.v; |
552 c.v = new A(); c.v.left = c.v.right = c.v; |
553 c.v.a = 1.0; double val1 = get(); double val2 = get1(); |
553 c.v.a = 1.0; double val1 = get(); double val2 = get1(); |
554 c.v.a = 2.0; double val3 = get(); double val4 = get1(); |
554 c.v.a = 2.0; double val3 = get(); double val4 = get1(); |
555 |
555 |
556 assertEquals(val1, 1.0); |
556 assertEquals(val1, 1.0); |
557 assertEquals(val3, (isStableEnabled ? 1.0 : 2.0)); |
557 assertEquals(val3, (isStableEnabled ? 1.0 : 2.0)); |
558 |
558 |
559 assertEquals(val2, 1.0); |
559 assertEquals(val2, 1.0); |
579 |
579 |
580 public static void test() throws Exception { |
580 public static void test() throws Exception { |
581 { |
581 { |
582 A elem = new A(); |
582 A elem = new A(); |
583 c.v = new A[] { elem, elem }; c.v[0].left = c.v[0].right = c.v; |
583 c.v = new A[] { elem, elem }; c.v[0].left = c.v[0].right = c.v; |
584 elem.a = 1.0; double val1 = get(); double val2 = get1(); |
584 elem.a = 1.0; double val1 = get(); double val2 = get1(); |
585 elem.a = 2.0; double val3 = get(); double val4 = get1(); |
585 elem.a = 2.0; double val3 = get(); double val4 = get1(); |
586 |
586 |
587 assertEquals(val1, 1.0); |
587 assertEquals(val1, 1.0); |
588 assertEquals(val3, (isStableEnabled ? 1.0 : 2.0)); |
588 assertEquals(val3, (isStableEnabled ? 1.0 : 2.0)); |
589 |
589 |
590 assertEquals(val2, 1.0); |
590 assertEquals(val2, 1.0); |