#define N 4
#define M 5
double func(double x) {
return x*x;
}
int main() {
array double y1[N], x1[N];
array float y2[N][M], x2[N][M]; /* diff data types, diff dim */
array int mask1[N] = {1, 0, 1, 0};
linspace(x1, 1, N);
fevalarray(y1, func, x1);
printf("y1 = %f\n", y1);
linspace(x1, 1, N);
fevalarray(y1, func, x1, mask1, -1);
printf("y1 = %f\n", y1);
linspace(x2, 1, N*M);
fevalarray(y2, func, x2);
printf("y2 = %f\n", y2);
}
y1 = 1.000000 4.000000 9.000000 16.000000
y1 = 1.000000 -1.000000 9.000000 -1.000000
y2 = 1.000000 4.000000 9.000000 16.000000 25.000000
36.000000 49.000000 64.000000 81.000000 100.000000
121.000000 144.000000 169.000000 196.000000 225.000000
256.000000 289.000000 324.000000 361.000000 400.000000