#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