MCPcopy Create free account
hub / github.com/ReadyTalk/avian / unsafeArray

Method unsafeArray

test/UnsafeTest.java:79–135  ·  view source on GitHub ↗
(Unsafe u)

Source from the content-addressed store, hash-verified

77 }
78
79 private static void unsafeArray(Unsafe u) {
80 final int offset = u.arrayBaseOffset(long[].class);
81 final int scale = u.arrayIndexScale(long[].class);
82 final int size = 64;
83 final long[] array = new long[size];
84
85 for (int i = 0; i < size; ++i)
86 u.putBooleanVolatile(array, offset + (i * scale), i % 2 == 0);
87
88 for (int i = 0; i < size; ++i)
89 expect(u.getBooleanVolatile(array, offset + (i * scale))
90 == (i % 2 == 0));
91
92 for (int i = 0; i < size; ++i)
93 u.putByteVolatile(array, offset + (i * scale), (byte) 42);
94
95 for (int i = 0; i < size; ++i)
96 expect(u.getByteVolatile(array, offset + (i * scale)) == 42);
97
98 for (int i = 0; i < size; ++i)
99 u.putShortVolatile(array, offset + (i * scale), (short) -12345);
100
101 for (int i = 0; i < size; ++i)
102 expect(u.getShortVolatile(array, offset + (i * scale)) == -12345);
103
104 for (int i = 0; i < size; ++i)
105 u.putCharVolatile(array, offset + (i * scale), (char) 23456);
106
107 for (int i = 0; i < size; ++i)
108 expect(u.getCharVolatile(array, offset + (i * scale)) == 23456);
109
110 for (int i = 0; i < size; ++i)
111 u.putIntVolatile(array, offset + (i * scale), 0x12345678);
112
113 for (int i = 0; i < size; ++i)
114 expect(u.getIntVolatile(array, offset + (i * scale)) == 0x12345678);
115
116 for (int i = 0; i < size; ++i)
117 u.putFloatVolatile(array, offset + (i * scale), 1.2345678F);
118
119 for (int i = 0; i < size; ++i)
120 expect(u.getFloatVolatile(array, offset + (i * scale)) == 1.2345678F);
121
122 for (int i = 0; i < size; ++i)
123 u.putLongVolatile(array, offset + (i * scale), 0x1234567890ABCDEFL);
124
125 for (int i = 0; i < size; ++i)
126 expect(u.getLongVolatile(array, offset + (i * scale))
127 == 0x1234567890ABCDEFL);
128
129 for (int i = 0; i < size; ++i)
130 u.putDoubleVolatile(array, offset + (i * scale), 1.23456789012345D);
131
132 for (int i = 0; i < size; ++i)
133 expect(u.getDoubleVolatile(array, offset + (i * scale))
134 == 1.23456789012345D);
135 }
136

Callers 1

mainMethod · 0.95

Calls 15

expectMethod · 0.95
arrayBaseOffsetMethod · 0.80
arrayIndexScaleMethod · 0.80
putBooleanVolatileMethod · 0.80
getBooleanVolatileMethod · 0.80
putByteVolatileMethod · 0.80
getByteVolatileMethod · 0.80
putShortVolatileMethod · 0.80
getShortVolatileMethod · 0.80
putCharVolatileMethod · 0.80
getCharVolatileMethod · 0.80
putIntVolatileMethod · 0.80

Tested by

no test coverage detected