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 30 31 32 33 34 35 36 37 38 39 40 41 42
|
void function_test_natural(char * function_name, IDL_LONG n_q_values, double *q_values, double *p_values, double *results)
{
int i;
sasfit_param param;
// Sets the parameters according to user-defined values.
for (i = 0; i < MAXPAR; i = i + 1)
{
param.p[i] = *p_values++;
}
if (strcmp(function_name, "sphere") == 0)
// Loop over the q values.
for (i = 0; i < (int)n_q_values; i = i + 1)
{
*results++ = (double) sasfit_ff_sphere(*q_values++, ¶m);
}
else
*results++ = -9999.999;
}
void function_test(int argc, void *argv[])
{
double *q_values, *p_values, *results;
IDL_LONG n_q_values;
char * function_name;
function_name = argv[0];
n_q_values = (IDL_LONG) argv[1];
q_values = argv[2];
p_values = argv[3];
results = argv[4];
function_test_natural(function_name, n_q_values, q_values, p_values, results);
} |
Partager