677 double x = (double) vh.get(array, i); |
677 double x = (double) vh.get(array, i); |
678 assertEquals(x, VALUE_1, "failing compareAndExchangeRelease double value"); |
678 assertEquals(x, VALUE_1, "failing compareAndExchangeRelease double value"); |
679 } |
679 } |
680 |
680 |
681 { |
681 { |
682 boolean r = vh.weakCompareAndSet(array, i, VALUE_1, VALUE_2); |
682 boolean success = false; |
683 assertEquals(r, true, "weakCompareAndSet double"); |
683 for (int c = 0; c < WEAK_ATTEMPTS && !success; c++) { |
|
684 success = vh.weakCompareAndSet(array, i, VALUE_1, VALUE_2); |
|
685 } |
|
686 assertEquals(success, true, "weakCompareAndSet double"); |
684 double x = (double) vh.get(array, i); |
687 double x = (double) vh.get(array, i); |
685 assertEquals(x, VALUE_2, "weakCompareAndSet double value"); |
688 assertEquals(x, VALUE_2, "weakCompareAndSet double value"); |
686 } |
689 } |
687 |
690 |
688 { |
691 { |
689 boolean r = vh.weakCompareAndSetAcquire(array, i, VALUE_2, VALUE_1); |
692 boolean success = false; |
690 assertEquals(r, true, "weakCompareAndSetAcquire double"); |
693 for (int c = 0; c < WEAK_ATTEMPTS && !success; c++) { |
|
694 success = vh.weakCompareAndSetAcquire(array, i, VALUE_2, VALUE_1); |
|
695 } |
|
696 assertEquals(success, true, "weakCompareAndSetAcquire double"); |
691 double x = (double) vh.get(array, i); |
697 double x = (double) vh.get(array, i); |
692 assertEquals(x, VALUE_1, "weakCompareAndSetAcquire double"); |
698 assertEquals(x, VALUE_1, "weakCompareAndSetAcquire double"); |
693 } |
699 } |
694 |
700 |
695 { |
701 { |
696 boolean r = vh.weakCompareAndSetRelease(array, i, VALUE_1, VALUE_2); |
702 boolean success = false; |
697 assertEquals(r, true, "weakCompareAndSetRelease double"); |
703 for (int c = 0; c < WEAK_ATTEMPTS && !success; c++) { |
|
704 success = vh.weakCompareAndSetRelease(array, i, VALUE_1, VALUE_2); |
|
705 } |
|
706 assertEquals(success, true, "weakCompareAndSetRelease double"); |
698 double x = (double) vh.get(array, i); |
707 double x = (double) vh.get(array, i); |
699 assertEquals(x, VALUE_2, "weakCompareAndSetRelease double"); |
708 assertEquals(x, VALUE_2, "weakCompareAndSetRelease double"); |
700 } |
709 } |
701 |
710 |
702 // Compare set and get |
711 // Compare set and get |
810 double x = (double) vh.get(array, i); |
819 double x = (double) vh.get(array, i); |
811 assertEquals(x, VALUE_1, "failing compareAndExchangeRelease double value"); |
820 assertEquals(x, VALUE_1, "failing compareAndExchangeRelease double value"); |
812 } |
821 } |
813 |
822 |
814 { |
823 { |
815 boolean r = vh.weakCompareAndSet(array, i, VALUE_1, VALUE_2); |
824 boolean success = false; |
816 assertEquals(r, true, "weakCompareAndSet double"); |
825 for (int c = 0; c < WEAK_ATTEMPTS && !success; c++) { |
|
826 success = vh.weakCompareAndSet(array, i, VALUE_1, VALUE_2); |
|
827 } |
|
828 assertEquals(success, true, "weakCompareAndSet double"); |
817 double x = (double) vh.get(array, i); |
829 double x = (double) vh.get(array, i); |
818 assertEquals(x, VALUE_2, "weakCompareAndSet double value"); |
830 assertEquals(x, VALUE_2, "weakCompareAndSet double value"); |
819 } |
831 } |
820 |
832 |
821 { |
833 { |
822 boolean r = vh.weakCompareAndSetAcquire(array, i, VALUE_2, VALUE_1); |
834 boolean success = false; |
823 assertEquals(r, true, "weakCompareAndSetAcquire double"); |
835 for (int c = 0; c < WEAK_ATTEMPTS && !success; c++) { |
|
836 success = vh.weakCompareAndSetAcquire(array, i, VALUE_2, VALUE_1); |
|
837 } |
|
838 assertEquals(success, true, "weakCompareAndSetAcquire double"); |
824 double x = (double) vh.get(array, i); |
839 double x = (double) vh.get(array, i); |
825 assertEquals(x, VALUE_1, "weakCompareAndSetAcquire double"); |
840 assertEquals(x, VALUE_1, "weakCompareAndSetAcquire double"); |
826 } |
841 } |
827 |
842 |
828 { |
843 { |
829 boolean r = vh.weakCompareAndSetRelease(array, i, VALUE_1, VALUE_2); |
844 boolean success = false; |
830 assertEquals(r, true, "weakCompareAndSetRelease double"); |
845 for (int c = 0; c < WEAK_ATTEMPTS && !success; c++) { |
|
846 success = vh.weakCompareAndSetRelease(array, i, VALUE_1, VALUE_2); |
|
847 } |
|
848 assertEquals(success, true, "weakCompareAndSetRelease double"); |
831 double x = (double) vh.get(array, i); |
849 double x = (double) vh.get(array, i); |
832 assertEquals(x, VALUE_2, "weakCompareAndSetRelease double"); |
850 assertEquals(x, VALUE_2, "weakCompareAndSetRelease double"); |
833 } |
851 } |
834 |
852 |
835 // Compare set and get |
853 // Compare set and get |