1c4762a1bSJed Brown 2c4762a1bSJed Brown /* tests MatSeqSBAIJSetPreallocationCSR() and MatMPISBAIJSetPreallocationCSR() */ 3c4762a1bSJed Brown 4c4762a1bSJed Brown #include <petsc.h> 5c4762a1bSJed Brown 6c4762a1bSJed Brown int main(int argc, char **args) 7c4762a1bSJed Brown { 8c4762a1bSJed Brown PetscInt ia[3] = { 0, 2, 4}; 9c4762a1bSJed Brown PetscInt ja[4] = { 0, 1, 0, 1}; 10c4762a1bSJed Brown PetscScalar c[16] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }; 11c4762a1bSJed Brown Mat ssbaij; 12c4762a1bSJed Brown Mat msbaij; 13c4762a1bSJed Brown 14*327415f7SBarry Smith PetscFunctionBeginUser; 159566063dSJacob Faibussowitsch PetscCall(PetscInitialize(&argc,&args,(char*)0,(char*)0)); 16c4762a1bSJed Brown 179566063dSJacob Faibussowitsch PetscCall(MatCreate(PETSC_COMM_SELF, &ssbaij)); 189566063dSJacob Faibussowitsch PetscCall(MatCreate(PETSC_COMM_SELF, &msbaij)); 199566063dSJacob Faibussowitsch PetscCall(MatSetType(ssbaij, MATSEQSBAIJ)); 209566063dSJacob Faibussowitsch PetscCall(MatSetType(msbaij, MATMPISBAIJ)); 219566063dSJacob Faibussowitsch PetscCall(MatSetBlockSize(ssbaij, 2)); 229566063dSJacob Faibussowitsch PetscCall(MatSetSizes(ssbaij, 4, 4, 4, 4)); 239566063dSJacob Faibussowitsch PetscCall(MatSetBlockSize(msbaij, 2)); 249566063dSJacob Faibussowitsch PetscCall(MatSetSizes(msbaij, 4, 4, 4, 4)); 259566063dSJacob Faibussowitsch PetscCall(MatSeqSBAIJSetPreallocationCSR(ssbaij, 2, ia, ja, c)); 269566063dSJacob Faibussowitsch PetscCall(MatMPISBAIJSetPreallocationCSR(msbaij, 2, ia, ja, c)); 279566063dSJacob Faibussowitsch PetscCall(MatView(ssbaij, PETSC_VIEWER_STDOUT_(PETSC_COMM_SELF))); 289566063dSJacob Faibussowitsch PetscCall(MatView(msbaij, PETSC_VIEWER_STDOUT_(PETSC_COMM_SELF))); 299566063dSJacob Faibussowitsch PetscCall(MatDestroy(&ssbaij)); 309566063dSJacob Faibussowitsch PetscCall(MatDestroy(&msbaij)); 319566063dSJacob Faibussowitsch PetscCall(PetscFinalize()); 32b122ec5aSJacob Faibussowitsch return 0; 33c4762a1bSJed Brown } 34c4762a1bSJed Brown 35c4762a1bSJed Brown /*TEST 36c4762a1bSJed Brown 37c4762a1bSJed Brown test: 38c4762a1bSJed Brown filter: sed "s?\.??g" 39c4762a1bSJed Brown 40c4762a1bSJed Brown TEST*/ 41