Actual source code: petsckspmod.F

petsc-3.9.4 2018-09-11
Report Typos and Errors

  2:         module petscpcdefdummy
  3:         use petscdmdef
  4:         use petscmatdef
  5: #include <../src/ksp/f90-mod/petscpc.h>
  6: #include <../src/ksp/f90-mod/petscksp.h>
  7:         end module

  9:         module petscpcdef
 10:         use petscpcdefdummy
 11:         interface operator(.ne.)
 12:           function pcnotequal(A,B)
 13:             use petscpcdefdummy
 14:             logical pcnotequal
 15:             type(tPC), intent(in) :: A,B
 16:           end function
 17:         end interface operator (.ne.)
 18:         interface operator(.eq.)
 19:           function pcequals(A,B)
 20:             use petscpcdefdummy
 21:             logical pcequals
 22:             type(tPC), intent(in) :: A,B
 23:           end function
 24:         end interface operator (.eq.)
 25:         end module

 27:         function pcnotequal(A,B)
 28:           use petscpcdefdummy
 29:           logical pcnotequal
 30:           type(tPC), intent(in) :: A,B
 31:           pcnotequal = (A%v .ne. B%v)
 32:         end function

 34:         function pcequals(A,B)
 35:           use petscpcdefdummy
 36:           logical pcequals
 37:           type(tPC), intent(in) :: A,B
 38:           pcequals = (A%v .eq. B%v)
 39:         end function

 41:         module petsckspdefdummy
 42:         use petscpcdef
 43:         end module

 45:         module petsckspdef
 46:         use petsckspdefdummy
 47:         interface operator(.ne.)
 48:           function kspnotequal(A,B)
 49:             use petsckspdefdummy
 50:             logical kspnotequal
 51:             type(tKSP), intent(in) :: A,B
 52:           end function
 53:         end interface operator (.ne.)
 54:         interface operator(.eq.)
 55:           function kspequals(A,B)
 56:             use petsckspdefdummy
 57:             logical kspequals
 58:             type(tKSP), intent(in) :: A,B
 59:           end function
 60:         end interface operator (.eq.)
 61:         end module

 63:         function kspnotequal(A,B)
 64:           use petsckspdefdummy
 65:           logical kspnotequal
 66:           type(tKSP), intent(in) :: A,B
 67:           kspnotequal = (A%v .ne. B%v)
 68:         end function

 70:         function kspequals(A,B)
 71:           use petsckspdefdummy
 72:           logical kspequals
 73:           type(tKSP), intent(in) :: A,B
 74:           kspequals = (A%v .eq. B%v)
 75:         end function

 77:         module petscpc
 78:         use petsckspdef
 79:         use petscdm
 80:         use petscmat
 81: #include <../src/ksp/f90-mod/petscpc.h90>
 82:         interface
 83: #include <../src/ksp/f90-mod/ftn-auto-interfaces/petscpc.h90>
 84:         end interface
 85:         end module

 87:         module petscksp
 88:         use petsckspdef
 89:         use petscpc
 90: #include <../src/ksp/f90-mod/petscksp.h90>
 91:         interface
 92: #include <../src/ksp/f90-mod/ftn-auto-interfaces/petscksp.h90>
 93:         end interface
 94:         end module