14411cf47Sjeremylt /// @file
2*8bbba8cdSJeremy L Thompson /// Test checking BasisApply input/output vectors compatibility with basis
3*8bbba8cdSJeremy L Thompson /// \test Test checking BasisApply input/output vectors compatibility with basis
4f85e4a7bSJeremy L Thompson
5f85e4a7bSJeremy L Thompson //TESTARGS(only="cpu") {ceed_resource}
657c64913Sjeremylt #include <ceed.h>
757c64913Sjeremylt #include <math.h>
857c64913Sjeremylt
main(int argc,char ** argv)957c64913Sjeremylt int main(int argc, char **argv) {
1057c64913Sjeremylt Ceed ceed;
114fee36f0SJeremy L Thompson CeedBasis basis;
124fee36f0SJeremy L Thompson CeedVector u, v;
134fee36f0SJeremy L Thompson CeedInt q = 8, p = 2, num_comp = 1, dim = 3, len = pow((CeedScalar)(q), dim);
1457c64913Sjeremylt
1557c64913Sjeremylt CeedInit(argv[1], &ceed);
1657c64913Sjeremylt
174fee36f0SJeremy L Thompson CeedVectorCreate(ceed, len, &u);
18*8bbba8cdSJeremy L Thompson CeedVectorCreate(ceed, len - 1, &v);
19aedaa0e5Sjeremylt
204fee36f0SJeremy L Thompson CeedBasisCreateTensorH1Lagrange(ceed, dim, num_comp, p, q, CEED_GAUSS, &basis);
21aedaa0e5Sjeremylt
2252bfb9bbSJeremy L Thompson // Basis apply will error because dimensions don't agree
234fee36f0SJeremy L Thompson CeedBasisApply(basis, 1, CEED_NOTRANSPOSE, CEED_EVAL_INTERP, u, v);
24aedaa0e5Sjeremylt
25a2546046Sjeremylt // LCOV_EXCL_START
264fee36f0SJeremy L Thompson CeedBasisDestroy(&basis);
274fee36f0SJeremy L Thompson CeedVectorDestroy(&u);
284fee36f0SJeremy L Thompson CeedVectorDestroy(&v);
2957c64913Sjeremylt CeedDestroy(&ceed);
3057c64913Sjeremylt return 0;
3152bfb9bbSJeremy L Thompson // LCOV_EXCL_STOP
3257c64913Sjeremylt }
33