< prev index next > test/jdk/tools/jextract/test8246400/LibTest8246400Test.java
Print this page
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
+ import jdk.incubator.foreign.MemoryAddress;
import jdk.incubator.foreign.MemorySegment;
import org.testng.annotations.Test;
import test.jextract.test8246400.*;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertTrue;
* @run testng/othervm -Dforeign.restricted=permit LibTest8246400Test
*/
public class LibTest8246400Test {
@Test
public void testSegmentRegister() {
- MemorySegment sum = null, callback = null;
+ MemorySegment sum = null;
+ MemoryAddress callback = null;
try (var scope = new CScope()) {
var v1 = CVector.allocate(scope);
CVector.x$set(v1, 1.0);
CVector.y$set(v1, 0.0);
assertEquals(CVector.y$get(sum.baseAddress()), 1.0, 0.1);
callback = cosine_similarity$dot.allocate((a, b) -> {
return (CVector.x$get(a.baseAddress()) * CVector.x$get(b.baseAddress())) +
(CVector.y$get(a.baseAddress()) * CVector.y$get(b.baseAddress()));
- });
- scope.register(callback);
+ }, scope);
- var value = cosine_similarity(v1.segment(), v2.segment(), callback.baseAddress());
+ var value = cosine_similarity(v1.segment(), v2.segment(), callback);
assertEquals(value, 0.0, 0.1);
- value = cosine_similarity(v1.segment(), v1.segment(), callback.baseAddress());
+ value = cosine_similarity(v1.segment(), v1.segment(), callback);
assertEquals(value, 1.0, 0.1);
}
assertTrue(!sum.isAlive());
- assertTrue(!callback.isAlive());
+ assertTrue(!callback.segment().isAlive());
}
}
< prev index next >