167. Calling the modf() foreign function
Let’s consider that we want to call the This method gets a Since this method is part of UCRT, it can be found via Nothing new so far! Next, we need to define the proper modf() foreign function. This function is part of the C standard library with the following syntax (double modf(double x, double *intptr);
double x and returns the signed fractional part of x. The intptr is a pointer argument used to point to the memory address where the integer part should be stored as a double value.defaultLookup():Linker linker = Linker.nativeLinker();
SymbolLookup libLookup = linker.defaultLookup();
try (Arena arena = Arena.ofConfined()) {
MemorySegment segmentModf = libLookup.find("modf").get();
...
MethodHandle. Because the second argument of modf() is a pointer, we need to specify a value layout of type ADDRESS: MethodHandle...