1 /// @file
2 /// Test CeedVectorGetArray to modify array
3 /// \test Test CeedVectorGetArray to modify array
4 #include <ceed.h>
5 #include <stdio.h>
6
main(int argc,char ** argv)7 int main(int argc, char **argv) {
8 Ceed ceed;
9 CeedVector x;
10 const CeedInt len = 10;
11 CeedScalar array[len];
12
13 CeedInit(argv[1], &ceed);
14
15 CeedVectorCreate(ceed, len, &x);
16 for (CeedInt i = 0; i < len; i++) array[i] = 0;
17 CeedVectorSetArray(x, CEED_MEM_HOST, CEED_USE_POINTER, array);
18
19 {
20 CeedScalar *writable_array;
21
22 CeedVectorGetArray(x, CEED_MEM_HOST, &writable_array);
23 writable_array[3] = -3.14;
24 CeedVectorRestoreArray(x, &writable_array);
25 }
26
27 if (array[3] != (CeedScalar)(-3.14)) printf("Error writing array[3] = %f\n", (CeedScalar)array[3]);
28
29 CeedVectorDestroy(&x);
30 CeedDestroy(&ceed);
31 return 0;
32 }
33