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