public void lm() throws Exception {
DoublePtr x = new DoublePtr(
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);
IntPtr n = new IntPtr(20);
IntPtr p = new IntPtr(2);
DoublePtr y = new DoublePtr(
4.17,5.58,5.18,6.11,4.5,4.61,5.17,4.53,5.33,5.14,4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69 );
IntPtr ny = new IntPtr(1);
DoublePtr tol = new DoublePtr(1e-7);
DoublePtr coefficients = new DoublePtr(0, 0);
DoublePtr residuals = new DoublePtr(
4.17,5.58,5.18,6.11,4.5,4.61,5.17,4.53,5.33,5.14,4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69 );
DoublePtr effects = new DoublePtr(
4.17,5.58,5.18,6.11,4.5,4.61,5.17,4.53,5.33,5.14,4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69 );
IntPtr rank = new IntPtr(0);
DoublePtr qraux = new DoublePtr(0,0);
IntPtr pivot = new IntPtr(1,2);
DoublePtr work = new DoublePtr(0,0,0,0);
// rg.renjin.gcc.runtime.DoublePtr, org.renjin.gcc.runtime.IntPtr, org.renjin.gcc.runtime.IntPtr, org.renjin.gcc.runtime.DoublePtr, org.renjin.gcc.runtime.IntPtr, org.renjin.gcc.runtime.DoublePtr, org.renjin.gcc.runtime.DoublePtr, org.renjin.gcc.runtime.DoublePtr, org.renjin.gcc.runtime.DoublePtr, org.renjin.gcc.runtime.IntPtr, org.renjin.gcc.runtime.IntPtr, org.renjin.gcc.runtime.DoublePtr, org.renjin.gcc.runtime.DoublePtr
call("dqrls_", x, n, p, y, ny, tol, coefficients, residuals, effects, rank, pivot, qraux, work);
//
//