1! 2! Program to test object composition from Fortran 3! 4 program main 5 6#include <petsc/finclude/petscsys.h> 7#include <petsc/finclude/petscviewer.h> 8 use petscsys 9 implicit none 10 11 PetscErrorCode ierr 12 PetscObject o1, o2, o3 13 character*(PETSC_MAX_PATH_LEN) name 14 15 PetscCallA(PetscInitialize(ierr)) 16 PetscCallA(PetscViewerCreate(PETSC_COMM_WORLD,o1,ierr)) 17 PetscCallA(PetscViewerCreate(PETSC_COMM_WORLD,o2,ierr)) 18 name = 'matt' 19 PetscCallA(PetscObjectCompose(o1,name,o2,ierr)) 20 PetscCallA(PetscObjectQuery(o1,name,o3,ierr)) 21 if (o2 .ne. o3) then; SETERRA(PETSC_COMM_SELF,PETSC_ERR_PLIB,'PetscObjectQuery failed'); endif 22 23 PetscCallA(PetscViewerDestroy(o1,ierr)) 24 PetscCallA(PetscViewerDestroy(o2,ierr)) 25 PetscCallA(PetscFinalize(ierr)) 26 end 27 28! 29!/*TEST 30! 31! test: 32! suffix: 0 33! 34!TEST*/ 35