Mercurial > pub > dyncall > bindings
diff java/jdc/examples/UnixMathExample.java @ 21:40a2c4198016
- working jdc (but with memleaks, currently)
- added example
author | cslag |
---|---|
date | Wed, 30 Mar 2016 23:40:52 +0200 |
parents | |
children | 4ee8d6aa7721 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/java/jdc/examples/UnixMathExample.java Wed Mar 30 23:40:52 2016 +0200 @@ -0,0 +1,28 @@ +import org.dyncall.DC; + +class UnixMathExample +{ + public static void main(String args[]) + { + long lib = DC.load("/usr/lib/libm.so"); + System.out.format("libm.so handle: %x\n", lib); + + long f0 = DC.find(lib, "sqrtf"); + System.out.format("found sqrft at: %x\n", f0); + + long f1 = DC.find(lib, "pow"); + System.out.format("found pow at: %x\n", f1); + + long vm = DC.newCallVM(4096); + DC.argFloat(vm, 36.f); + float r0 = DC.callFloat(vm, f0); + System.out.format("sqrtf(36.f) = %f\n", r0); + + DC.reset(vm); + DC.argDouble(vm, 2.); + DC.argDouble(vm, 10.); + double r1 = DC.callDouble(vm, f1); + System.out.format("pow(2., 10.) = %f\n", r1); + } +} +