19560d06aSjeremylt /// @file 25fb68f37SKaren (Ren) Stengel /// Test creation, reference copying, and destroying of a vector 35fb68f37SKaren (Ren) Stengel /// \test Test creation, reference copying, and destroying of a vector 49560d06aSjeremylt #include <ceed.h> 5*49aac155SJeremy L Thompson #include <stdio.h> 69560d06aSjeremylt 79560d06aSjeremylt int main(int argc, char **argv) { 89560d06aSjeremylt Ceed ceed; 99560d06aSjeremylt CeedVector x, x_2; 104fee36f0SJeremy L Thompson CeedInt len = 10; 119560d06aSjeremylt 129560d06aSjeremylt CeedInit(argv[1], &ceed); 139560d06aSjeremylt 144fee36f0SJeremy L Thompson CeedVectorCreate(ceed, len, &x); 154fee36f0SJeremy L Thompson CeedVectorCreate(ceed, len + 1, &x_2); 169560d06aSjeremylt 179560d06aSjeremylt CeedVectorReferenceCopy(x, &x_2); // This destroys the previous x_2 189560d06aSjeremylt CeedVectorDestroy(&x); 199560d06aSjeremylt 204fee36f0SJeremy L Thompson { 214fee36f0SJeremy L Thompson CeedSize len_2; 224fee36f0SJeremy L Thompson 234fee36f0SJeremy L Thompson CeedVectorGetLength(x_2, &len_2); // Second reference still valid 244fee36f0SJeremy L Thompson if (len_2 != len) printf("Error copying CeedVector reference\n"); 254fee36f0SJeremy L Thompson } 269560d06aSjeremylt 279560d06aSjeremylt CeedVectorDestroy(&x_2); 289560d06aSjeremylt CeedDestroy(&ceed); 299560d06aSjeremylt return 0; 309560d06aSjeremylt } 31