Actual source code: petsckspmod.F
petsc-3.10.3 2018-12-18
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