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);
+	}
+}
+