180181182183184185186187188189190
Method method = clazz.getMethod("testmax", DoublePtr.class); DoublePtr x = new DoublePtr(-1); method.invoke(null, x); assertThat(x.unwrap(), equalTo(0d)); x = new DoublePtr(Double.NaN); method.invoke(null, x); System.out.println(x.unwrap());
185186187188189190191192193194195
assertThat(x.unwrap(), equalTo(0d)); x = new DoublePtr(Double.NaN); method.invoke(null, x); System.out.println(x.unwrap()); assertTrue(Double.isNaN(x.unwrap())); } @Test
187188189190191192193194195196197
x = new DoublePtr(Double.NaN); method.invoke(null, x); System.out.println(x.unwrap()); assertTrue(Double.isNaN(x.unwrap())); } @Test public void fortran2darrays() throws Exception { Class clazz = compile("2darray.f", "ArrayTest");
210211212213214215216217218219220
DoublePtr y = new DoublePtr(0); method = clazz.getMethod("localarray_", DoublePtr.class); method.invoke(null, y); assertThat(y.unwrap(), equalTo(110d)); } @Test public void arrayC() throws Exception { Class clazz = compile("array.c", "ArrayCTest");
43444546474849505152
DoublePtr y = new DoublePtr(0); method = clazz.getMethod("localarray_", DoublePtr.class); method.invoke(null, y); assertThat(y.unwrap(), equalTo(110d)); } }