#define N 2
#define M 3
double complex func(double complex x) {
return x*x;
}
int main() {
array float complex y2[N][M], x2[N][M]; /* diff data types, diff dim */
array int mask1[N][M] = {1, 0, 1, 0, 1, 1};
linspace(x2, 1, N*M);
x2[1][2]=complex(2,3);
cfevalarray(y2, func, x2);
printf("y2 = %5.2f\n", y2);
cfevalarray(y2, func, x2, mask1, -1);
printf("y2 = %5.2f\n", y2);
}
y2 = complex( 1.00, 0.00) complex( 4.00, 0.00) complex( 9.00, 0.00)
complex(16.00, 0.00) complex(25.00, 0.00) complex(-5.00,12.00)
y2 = complex( 1.00, 0.00) complex(-1.00, 0.00) complex( 9.00, 0.00)
complex(-1.00, 0.00) complex(25.00, 0.00) complex(-5.00,12.00)