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