xref: /petsc/src/sys/ftn-mod/petscsys.h90 (revision 0b8bdde92eb4bc9ed9cee42fe7fcadba66103007)
102c639afSMartin Diehlinterface
2*3f7bdce8SBarry Smith  subroutine PetscPrintf(comm, msg, ierr)
3fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
4b06eb4cdSBarry Smith    use petscmpi
55ca1f5dcSBarry Smith    MPIU_Comm :: comm
6*3f7bdce8SBarry Smith    character(len=*) :: msg
7*3f7bdce8SBarry Smith    PetscErrorCode :: ierr
8*3f7bdce8SBarry Smith  end subroutine
9*3f7bdce8SBarry Smith
10*3f7bdce8SBarry Smith  subroutine PetscSynchronizedPrintf(comm, msg, ierr)
11*3f7bdce8SBarry Smith    use, intrinsic :: ISO_C_binding
12*3f7bdce8SBarry Smith    use petscmpi
13*3f7bdce8SBarry Smith    MPIU_Comm :: comm
14*3f7bdce8SBarry Smith    character(len=*) :: msg
156dd63270SBarry Smith    PetscErrorCode :: ierr
1602c639afSMartin Diehl  end subroutine
176dd63270SBarry Smith
186dd63270SBarry Smith#if defined(PETSC_HAVE_FORTRAN_FREE_LINE_LENGTH_NONE)
196dd63270SBarry Smith  subroutine PetscErrorf(ierr, line, file)
20fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
216dd63270SBarry Smith    PetscErrorCode, intent(in) :: ierr
226dd63270SBarry Smith    integer, intent(in) ::  line
236dd63270SBarry Smith    character(*) file
243d1372b2SMartin Diehl  end subroutine
256dd63270SBarry Smith
266dd63270SBarry Smith  subroutine PetscErrorMPI(ierr, line, file)
27fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
286dd63270SBarry Smith    PetscErrorCode, intent(inout) :: ierr
296dd63270SBarry Smith    integer, intent(in) ::  line
306dd63270SBarry Smith    character(*) file
313d1372b2SMartin Diehl  end subroutine
326dd63270SBarry Smith#else
336dd63270SBarry Smith  subroutine PetscErrorf(ierr)
34fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
356dd63270SBarry Smith    PetscErrorCode, intent(in) :: ierr
363d1372b2SMartin Diehl  end subroutine
376dd63270SBarry Smith
386dd63270SBarry Smith  subroutine PetscErrorMPI(ierr)
39fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
406dd63270SBarry Smith    PetscErrorCode, intent(inout) :: ierr
413d1372b2SMartin Diehl  end subroutine
426dd63270SBarry Smith#endif
436dd63270SBarry Smith
446dd63270SBarry Smith  subroutine MPIU_abort(comm, ierr)
45fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
46b06eb4cdSBarry Smith    use petscmpi
47b06eb4cdSBarry Smith    MPIU_Comm, intent(in) ::  comm
486dd63270SBarry Smith    PetscErrorCode, intent(in) ::  ierr
496dd63270SBarry Smith  end subroutine
506dd63270SBarry Smith
510da4d79bSMartin Diehl  subroutine PetscViewerASCIIStdoutSetFileUnit(unit, ierr)
52fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
536dd63270SBarry Smith    integer4 unit
540da4d79bSMartin Diehl    PetscErrorCode, intent(out) :: ierr
556dd63270SBarry Smith  end subroutine
566dd63270SBarry Smith
576dd63270SBarry Smith  subroutine PetscLogEventBegin(event, ierr)
58fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
596dd63270SBarry Smith    PetscLogEvent, intent(in) :: event
606dd63270SBarry Smith    PetscErrorCode, intent(out) :: ierr
613d1372b2SMartin Diehl  end subroutine
626dd63270SBarry Smith
636dd63270SBarry Smith  subroutine PetscLogEventEnd(event, ierr)
64fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
656dd63270SBarry Smith    PetscLogEvent, intent(in) :: event
666dd63270SBarry Smith    PetscErrorCode, intent(out) :: ierr
673d1372b2SMartin Diehl  end subroutine
686dd63270SBarry Smith
6902c639afSMartin Diehl  subroutine PetscIntArray1dDestroy(a, ierr)
70fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
7102c639afSMartin Diehl    PetscInt, pointer :: a(:)
726dd63270SBarry Smith    PetscErrorCode    :: ierr
7302c639afSMartin Diehl  end subroutine
746dd63270SBarry Smith
7502c639afSMartin Diehl  subroutine PetscShmgetAllocateArrayScalar(start, len, d1, ierr)
76fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
776dd63270SBarry Smith    PetscInt :: start, len
786dd63270SBarry Smith    PetscScalar, pointer :: d1(:)
790da4d79bSMartin Diehl    PetscErrorCode, intent(out) :: ierr
8002c639afSMartin Diehl  end subroutine
816dd63270SBarry Smith
8202c639afSMartin Diehl  subroutine PetscShmgetDeallocateArrayScalar(d1, ierr)
83fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
846dd63270SBarry Smith    PetscScalar, pointer :: d1(:)
850da4d79bSMartin Diehl    PetscErrorCode, intent(out) :: ierr
8602c639afSMartin Diehl  end subroutine
876dd63270SBarry Smith
8802c639afSMartin Diehl  subroutine PetscShmgetAllocateArrayInt(start, len, d1, ierr)
89fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
906dd63270SBarry Smith    PetscInt :: start, len
916dd63270SBarry Smith    PetscInt, pointer :: d1(:)
920da4d79bSMartin Diehl    PetscErrorCode, intent(out) :: ierr
9302c639afSMartin Diehl  end subroutine
946dd63270SBarry Smith
9502c639afSMartin Diehl  subroutine PetscShmgetDeallocateArrayInt(d1, ierr)
96fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
976dd63270SBarry Smith    PetscInt, pointer :: d1(:)
980da4d79bSMartin Diehl    PetscErrorCode, intent(out) :: ierr
9902c639afSMartin Diehl  end subroutine
10002c639afSMartin Diehlend interface
1013d1372b2SMartin Diehl
1023d1372b2SMartin Diehl#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
1033d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscPrintf
104*3f7bdce8SBarry Smith!DEC$ ATTRIBUTES DLLEXPORT::PetscSynchronizedPrintf
1053d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscErrorf
1063d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscErrorMPI
1073d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::MPIU_abort
1083d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscViewerASCIIStdoutSetFileUnit
1093d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscLogEventBegin
1103d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscLogEventEnd
1113d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscIntArray1dDestroy
1123d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscShmgetAllocateArrayScalar
1133d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscShmgetDeallocateArrayScalar
1143d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscShmgetAllocateArrayInt
1153d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscShmgetDeallocateArrayInt
1163d1372b2SMartin Diehl#endif
117