Actual source code: vecs.c


  2: #include <petscvec.h>

  4: PetscErrorCode VecsDestroy(Vecs x)
  5: {
  6:   VecDestroy(&(x)->v);
  7:   PetscFree(x);
  8:   return 0;
  9: }

 11: PetscErrorCode VecsCreateSeq(MPI_Comm comm, PetscInt p, PetscInt m, Vecs *x)
 12: {
 13:   PetscNew(x);
 14:   VecCreateSeq(comm, p * m, &(*x)->v);
 15:   (*x)->n = m;
 16:   return 0;
 17: }

 19: PetscErrorCode VecsCreateSeqWithArray(MPI_Comm comm, PetscInt p, PetscInt m, PetscScalar *a, Vecs *x)
 20: {
 21:   PetscNew(x);
 22:   VecCreateSeqWithArray(comm, 1, p * m, a, &(*x)->v);
 23:   (*x)->n = m;
 24:   return 0;
 25: }

 27: PetscErrorCode VecsDuplicate(Vecs x, Vecs *y)
 28: {
 29:   PetscNew(y);
 30:   VecDuplicate(x->v, &(*y)->v);
 31:   (*y)->n = x->n;
 32:   return 0;
 33: }