19560d06aSjeremylt /// @file
2*ac5aa7bcSJeremy L Thompson /// Test creation, copying, and destruction of a H^1 Lagrange basis
3*ac5aa7bcSJeremy L Thompson /// \test Test creation, copying, and destruction of a H^1 Lagrange basis
49560d06aSjeremylt #include <ceed.h>
549aac155SJeremy L Thompson #include <stdio.h>
69560d06aSjeremylt
main(int argc,char ** argv)79560d06aSjeremylt int main(int argc, char **argv) {
89560d06aSjeremylt Ceed ceed;
94fee36f0SJeremy L Thompson CeedBasis basis, basis_2;
104fee36f0SJeremy L Thompson CeedInt p = 4;
119560d06aSjeremylt
129560d06aSjeremylt CeedInit(argv[1], &ceed);
139560d06aSjeremylt
144fee36f0SJeremy L Thompson CeedBasisCreateTensorH1Lagrange(ceed, 1, 1, p, 4, CEED_GAUSS_LOBATTO, &basis);
154fee36f0SJeremy L Thompson CeedBasisCreateTensorH1Lagrange(ceed, 1, 1, p + 1, 4, CEED_GAUSS_LOBATTO, &basis_2);
169560d06aSjeremylt
174fee36f0SJeremy L Thompson CeedBasisReferenceCopy(basis, &basis_2); // This destroys the previous basis_2
184fee36f0SJeremy L Thompson CeedBasisDestroy(&basis);
199560d06aSjeremylt
204fee36f0SJeremy L Thompson CeedInt p_2;
214fee36f0SJeremy L Thompson CeedBasisGetNumNodes1D(basis_2, &p_2);
224fee36f0SJeremy L Thompson if (p != p_2) printf("Error copying CeedBasis reference\n");
239560d06aSjeremylt
244fee36f0SJeremy L Thompson CeedBasisDestroy(&basis_2);
259560d06aSjeremylt CeedDestroy(&ceed);
269560d06aSjeremylt return 0;
279560d06aSjeremylt }
28