/************************************************************************* * ODE solver results * * Called after OdeSolverIteration returned False. * * INPUT PARAMETERS: * State - algorithm state (used by OdeSolverIteration). * * OUTPUT PARAMETERS: * M - number of tabulated values, M>=1 * XTbl - array[0..M-1], values of X * YTbl - array[0..M-1,0..N-1], values of Y in X[i] * Rep - solver report: * Rep.TerminationType completetion code: * -2 X is not ordered by ascending/descending or * there are non-distinct X[], i.e. X[i]=X[i+1] * -1 incorrect parameters were specified * 1 task has been solved * Rep.NFEV contains number of function calculations * * -- ALGLIB -- * Copyright 01.09.2009 by Bochkanov Sergey *************************************************************************/ public static void odesolverresults(ref odesolverstate state, ref int m, ref double[] xtbl, ref double[,] ytbl, ref odesolverreport rep) { double v = 0; int i = 0; int i_ = 0; rep.terminationtype = state.repterminationtype; if (rep.terminationtype > 0) { m = state.m; rep.nfev = state.repnfev; xtbl = new double[state.m]; v = state.xscale; for (i_ = 0; i_ <= state.m - 1; i_++) { xtbl[i_] = v * state.xg[i_]; } ytbl = new double[state.m, state.n]; for (i = 0; i <= state.m - 1; i++) { for (i_ = 0; i_ <= state.n - 1; i_++) { ytbl[i, i_] = state.ytbl[i, i_]; } } } else { rep.nfev = 0; } }
public override alglib.apobject make_copy() { odesolverreport _result = new odesolverreport(); _result.nfev = nfev; _result.terminationtype = terminationtype; return(_result); }
public static void odesolverresults(odesolverstate state, out int m, out double[] xtbl, out double[,] ytbl, out odesolverreport rep, alglib.xparams _params) { m = 0; xtbl = new double[0]; ytbl = new double[0, 0]; rep = new odesolverreport(); odesolver.odesolverresults(state.innerobj, ref m, ref xtbl, ref ytbl, rep.innerobj, _params); }
/************************************************************************* * ODE solver results * * Called after OdeSolverIteration returned False. * * INPUT PARAMETERS: * State - algorithm state (used by OdeSolverIteration). * * OUTPUT PARAMETERS: * M - number of tabulated values, M>=1 * XTbl - array[0..M-1], values of X * YTbl - array[0..M-1,0..N-1], values of Y in X[i] * Rep - solver report: * Rep.TerminationType completetion code: * -2 X is not ordered by ascending/descending or * there are non-distinct X[], i.e. X[i]=X[i+1] * -1 incorrect parameters were specified * 1 task has been solved * Rep.NFEV contains number of function calculations * * -- ALGLIB -- * Copyright 01.09.2009 by Bochkanov Sergey *************************************************************************/ public static void odesolverresults(odesolverstate state, out int m, out double[] xtbl, out double[,] ytbl, out odesolverreport rep) { m = 0; xtbl = new double[0]; ytbl = new double[0, 0]; rep = new odesolverreport(); odesolver.odesolverresults(state.innerobj, ref m, ref xtbl, ref ytbl, rep.innerobj); return; }
/************************************************************************* ODE solver results Called after OdeSolverIteration returned False. INPUT PARAMETERS: State - algorithm state (used by OdeSolverIteration). OUTPUT PARAMETERS: M - number of tabulated values, M>=1 XTbl - array[0..M-1], values of X YTbl - array[0..M-1,0..N-1], values of Y in X[i] Rep - solver report: * Rep.TerminationType completetion code: * -2 X is not ordered by ascending/descending or there are non-distinct X[], i.e. X[i]=X[i+1] * -1 incorrect parameters were specified * 1 task has been solved * Rep.NFEV contains number of function calculations -- ALGLIB -- Copyright 01.09.2009 by Bochkanov Sergey *************************************************************************/ public static void odesolverresults(odesolverstate state, ref int m, ref double[] xtbl, ref double[,] ytbl, odesolverreport rep) { double v = 0; int i = 0; int i_ = 0; m = 0; xtbl = new double[0]; ytbl = new double[0,0]; rep.terminationtype = state.repterminationtype; if( rep.terminationtype>0 ) { m = state.m; rep.nfev = state.repnfev; xtbl = new double[state.m]; v = state.xscale; for(i_=0; i_<=state.m-1;i_++) { xtbl[i_] = v*state.xg[i_]; } ytbl = new double[state.m, state.n]; for(i=0; i<=state.m-1; i++) { for(i_=0; i_<=state.n-1;i_++) { ytbl[i,i_] = state.ytbl[i,i_]; } } } else { rep.nfev = 0; } }
/************************************************************************* ODE solver results Called after OdeSolverIteration returned False. INPUT PARAMETERS: State - algorithm state (used by OdeSolverIteration). OUTPUT PARAMETERS: M - number of tabulated values, M>=1 XTbl - array[0..M-1], values of X YTbl - array[0..M-1,0..N-1], values of Y in X[i] Rep - solver report: * Rep.TerminationType completetion code: * -2 X is not ordered by ascending/descending or there are non-distinct X[], i.e. X[i]=X[i+1] * -1 incorrect parameters were specified * 1 task has been solved * Rep.NFEV contains number of function calculations -- ALGLIB -- Copyright 01.09.2009 by Bochkanov Sergey *************************************************************************/ public static void odesolverresults(odesolverstate state, out int m, out double[] xtbl, out double[,] ytbl, out odesolverreport rep) { m = 0; xtbl = new double[0]; ytbl = new double[0,0]; rep = new odesolverreport(); odesolver.odesolverresults(state.innerobj, ref m, ref xtbl, ref ytbl, rep.innerobj); return; }
public override alglib.apobject make_copy() { odesolverreport _result = new odesolverreport(); _result.nfev = nfev; _result.terminationtype = terminationtype; return _result; }