1 /// @file 2 /// Test square Gauss Lobatto interp1d is identity 3 /// \test Test square Gauss Lobatto interp1d is identity 4 #include <ceed.h> 5 #include <stdio.h> 6 #include <math.h> 7 8 int main(int argc, char **argv) { 9 Ceed ceed; 10 CeedBasis b; 11 int i, dim = 2, P1d = 4, Q1d = 4, len = (int)(pow((double)(Q1d), dim) + 0.4); 12 CeedScalar u[len], v[len]; 13 14 CeedInit(argv[1], &ceed); 15 for (i = 0; i < len; i++) { 16 u[i] = 1.0; 17 } 18 CeedBasisCreateTensorH1Lagrange(ceed, dim, 1, P1d, Q1d, CEED_GAUSS_LOBATTO, &b); 19 CeedBasisApply(b, 1, CEED_NOTRANSPOSE, CEED_EVAL_INTERP, u, v); 20 for (i = 0; i < len; i++) { 21 if (fabs(v[i] - 1.) > 1e-15) printf("v[%d] = %f != 1.\n", i, v[i]); 22 } 23 CeedBasisDestroy(&b); 24 CeedDestroy(&ceed); 25 return 0; 26 } 27