xref: /libCEED/tests/t111-vector.c (revision 0126412d32e96658dcd899fe3d8b989fdf201e32)
1 /// @file
2 /// Test CeedVectorGetArray state counter
3 /// \test Test CeedVectorGetArray state counter
4 #include <ceed.h>
5 
6 int main(int argc, char **argv) {
7   Ceed        ceed;
8   CeedVector  x;
9   CeedInt     len = 10;
10   CeedScalar *a, b[len];
11 
12   CeedInit(argv[1], &ceed);
13 
14   CeedVectorCreate(ceed, len, &x);
15   CeedVectorSetValue(x, 0.0);
16 
17   // Two write accesses should generate an error
18   CeedVectorGetArray(x, CEED_MEM_HOST, &a);
19   CeedVectorSetArray(x, CEED_MEM_HOST, CEED_COPY_VALUES, b);
20 
21   // LCOV_EXCL_START
22   CeedVectorRestoreArray(x, &a);
23 
24   CeedVectorDestroy(&x);
25   CeedDestroy(&ceed);
26   return 0;
27   // LCOV_EXCL_STOP
28 }
29