1 /// @file
2 /// Test creation, copying, and destruction for QFunction and QFunctionContext
3 /// \test Test creation, copying, and destruction for QFunction and QFunctionContext
4 #include <ceed.h>
5 #include <stdio.h>
6
7 #include "t400-qfunction.h"
8
main(int argc,char ** argv)9 int main(int argc, char **argv) {
10 Ceed ceed;
11 CeedQFunction qf, qf_2;
12 CeedQFunctionContext ctx, ctx_2;
13
14 CeedInit(argv[1], &ceed);
15
16 CeedQFunctionCreateInterior(ceed, 1, setup, setup_loc, &qf);
17 CeedQFunctionCreateInterior(ceed, 1, mass, mass_loc, &qf_2);
18
19 CeedQFunctionReferenceCopy(qf, &qf_2); // This destroys the previous qf_2
20 if (qf != qf_2) printf("Error copying CeedQFunction reference\n");
21
22 CeedQFunctionContextCreate(ceed, &ctx);
23 CeedQFunctionContextCreate(ceed, &ctx_2);
24
25 CeedQFunctionContextReferenceCopy(ctx, &ctx_2);
26 if (ctx != ctx_2) printf("Error copying CeedQFunctionContext reference\n");
27
28 CeedQFunctionDestroy(&qf);
29 CeedQFunctionDestroy(&qf_2);
30 CeedQFunctionContextDestroy(&ctx);
31 CeedQFunctionContextDestroy(&ctx_2);
32 CeedDestroy(&ceed);
33 return 0;
34 }
35