Hallo zusammen,
ich bastle mir gerade ein Löser für Differentialgleichungen in C.
Die meisten vorhandenen Löser sind ja in Fortran geschrieben, die auch zum Teil nach C portiert wurden. Nun ist mir aufgefallen, dass bei diesen in C übersetzten Lösern die Funktionsaufrufe furchtbar lang sind. Hier ein Beispiel:
Code:
static int dopcor (unsigned n, FcnEqDiff fcn, double x, double* y, double xend,
double hmax, double h, double* rtoler, double* atoler,
int itoler, FILE* fileout, SolTrait solout, int iout,
long nmax, double uround, int meth, long nstiff, double safe,
double beta, double fac1, double fac2, unsigned* icont, double* duser,
int* iuser)
Nun stellt sich für mich die Frage, ob dies nicht eher hinderlich ist und man(n) besser durch Zusammenfassen der Parameter in Strukturen oder Vektoren den Aufruf beschleunigen könnte.
Von der Lesbarkeit her, wäre es sicher sinnvoll.
Was meint Ihr?
Viele Grüße
Andreas
Lesezeichen