xref: /libCEED/tests/t110-vector.c (revision a9e65696a8c8214eb82d2dcf9ed1f28a32d2c94e)
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     n;
10   CeedScalar *a, *b;
11 
12   CeedInit(argv[1], &ceed);
13 
14   n = 10;
15   CeedVectorCreate(ceed, n, &x);
16   CeedVectorSetValue(x, 0.0);
17 
18   // Two write accesses should generate an error
19   CeedVectorGetArray(x, CEED_MEM_HOST, &a);
20   CeedVectorGetArray(x, CEED_MEM_HOST, &b);
21 
22   // LCOV_EXCL_START
23   CeedVectorRestoreArray(x, &a);
24   CeedVectorRestoreArray(x, &b);
25 
26   CeedVectorDestroy(&x);
27   CeedDestroy(&ceed);
28   return 0;
29   // LCOV_EXCL_STOP
30 }
31