106 for (int i = 0; i < 64; i++) {
107 long value = 1L << i;
108 checkValue(reader, value - 2);
109 checkValue(reader, value - 1);
110 checkValue(reader, value);
111 checkValue(reader, value + 1);
112 checkValue(reader, value + 2);
113
114 checkValue(reader, -value - 2);
115 checkValue(reader, -value - 1);
116 checkValue(reader, -value);
117 checkValue(reader, -value + 1);
118 checkValue(reader, -value + 2);
119 }
120 }
121
122 private static void test01(boolean supportsUnalignedMemoryAccess) {
123 UnsafeArrayTypeWriter writer = UnsafeArrayTypeWriter.create(supportsUnalignedMemoryAccess);
124 putValues(writer);
125
126 byte[] array = new byte[(int) writer.getBytesWritten()];
127 writer.toArray(array);
128 UnsafeArrayTypeReader reader = UnsafeArrayTypeReader.create(array, 0, supportsUnalignedMemoryAccess);
129 checkValues(reader);
130 }
131
132 @Test
133 public void test01a() {
134 test01(getTarget().arch.supportsUnalignedMemoryAccess());
135 }
136
137 @Test
138 public void test01b() {
139 test01(false);
140 }
141
142 private static void checkSignedSize(TypeWriter writer, long value, int expectedSize) {
143 long sizeBefore = writer.getBytesWritten();
144 writer.putSV(value);
145 Assert.assertEquals(expectedSize, writer.getBytesWritten() - sizeBefore);
146 }
|
106 for (int i = 0; i < 64; i++) {
107 long value = 1L << i;
108 checkValue(reader, value - 2);
109 checkValue(reader, value - 1);
110 checkValue(reader, value);
111 checkValue(reader, value + 1);
112 checkValue(reader, value + 2);
113
114 checkValue(reader, -value - 2);
115 checkValue(reader, -value - 1);
116 checkValue(reader, -value);
117 checkValue(reader, -value + 1);
118 checkValue(reader, -value + 2);
119 }
120 }
121
122 private static void test01(boolean supportsUnalignedMemoryAccess) {
123 UnsafeArrayTypeWriter writer = UnsafeArrayTypeWriter.create(supportsUnalignedMemoryAccess);
124 putValues(writer);
125
126 byte[] array = new byte[TypeConversion.asU4(writer.getBytesWritten())];
127 writer.toArray(array);
128 UnsafeArrayTypeReader reader = UnsafeArrayTypeReader.create(array, 0, supportsUnalignedMemoryAccess);
129 checkValues(reader);
130 }
131
132 @Test
133 public void test01a() {
134 test01(getTarget().arch.supportsUnalignedMemoryAccess());
135 }
136
137 @Test
138 public void test01b() {
139 test01(false);
140 }
141
142 private static void checkSignedSize(TypeWriter writer, long value, int expectedSize) {
143 long sizeBefore = writer.getBytesWritten();
144 writer.putSV(value);
145 Assert.assertEquals(expectedSize, writer.getBytesWritten() - sizeBefore);
146 }
|