1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29:
| public class DllImports { public delegate double UebergabeFunk(double i); [DllImport("NR.dll", EntryPoint="?fnNR@@YAHXZ")] public static extern int fnNr(); [DllImport("NR.dll", EntryPoint="?mrqmin@NR@@YAXABV?$NRVec@N@@00AAV2@ABV?$NRVec@_N@@AAV?$NRMat@N@@3AANP6AXN041@Z4@Z")] public unsafe static extern void mrqmin(float[] x, float[] y, float[] sig, int ndata, float[] a, int[] ia, int ma, float[][]* covar, float[][]* alpha, float* chisq, UebergabeFunk func, float* alambda); public DllImports() {
} public unsafe void fit(float[] x, float[] y, float[] sig, int ndata, float[] a, int[] ia, int ma, float[][] covar, float[][] alpha, float chisq, float alambda) { UebergabeFunk Uebergabe = new UebergabeFunk(this.EI); DllImports.mrqmin(x,y,sig,ndata,a,ia,ma,&covar,&alpha,&chisq, Uebergabe, &alambda); } public double EI(double i) { return 0; } } |