Something went wrong on our end
-
Mathieu Faverge authoredMathieu Faverge authored
spm_enums.F90 3.39 KiB
!
! @file spm_enums.F90
!
! SPM fortran 90 wrapper to define enums and datatypes
!
! @copyright 2017 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
! Univ. Bordeaux. All rights reserved.
!
! @version 6.0.0
! @author Mathieu Faverge
! @date 2017-01-01
!
! This file has been automatically generated with gen_wrappers.py
!
module spm_enums
use iso_c_binding
implicit none
! enum verbose
enum, bind(C)
enumerator :: SpmVerboseNot = 0
enumerator :: SpmVerboseNo = 1
enumerator :: SpmVerboseYes = 2
end enum
! enum coeftype
enum, bind(C)
enumerator :: SpmPattern = 0
enumerator :: SpmFloat = 2
enumerator :: SpmDouble = 3
enumerator :: SpmComplex32 = 4
enumerator :: SpmComplex64 = 5
end enum
! enum fmttype
enum, bind(C)
enumerator :: SpmCSC = 0
enumerator :: SpmCSR = 1
enumerator :: SpmIJV = 2
end enum
! enum error
enum, bind(C)
enumerator :: SPM_SUCCESS = 0
enumerator :: SPM_ERR_UNKNOWN = 1
enumerator :: SPM_ERR_ALLOC = 2
enumerator :: SPM_ERR_NOTIMPLEMENTED = 3
enumerator :: SPM_ERR_OUTOFMEMORY = 4
enumerator :: SPM_ERR_THREAD = 5
enumerator :: SPM_ERR_INTERNAL = 6
enumerator :: SPM_ERR_BADPARAMETER = 7
enumerator :: SPM_ERR_FILE = 8
enumerator :: SPM_ERR_INTEGER_TYPE = 9
enumerator :: SPM_ERR_IO = 10
enumerator :: SPM_ERR_MPI = 11
end enum
! enum driver
enum, bind(C)
enumerator :: SpmDriverRSA = 0
enumerator :: SpmDriverHB = 1
enumerator :: SpmDriverIJV = 2
enumerator :: SpmDriverMM = 3
enumerator :: SpmDriverLaplacian = 4
enumerator :: SpmDriverXLaplacian = 5
enumerator :: SpmDriverGraph = 6
enumerator :: SpmDriverSPM = 7
end enum
! enum rhstype
enum, bind(C)
enumerator :: SpmRhsOne = 0
enumerator :: SpmRhsI = 1
enumerator :: SpmRhsRndX = 2
enumerator :: SpmRhsRndB = 3
end enum
! enum layout
enum, bind(C)
enumerator :: SpmRowMajor = 101
enumerator :: SpmColMajor = 102
end enum
! enum trans
enum, bind(C)
enumerator :: SpmNoTrans = 111
enumerator :: SpmTrans = 112
enumerator :: SpmConjTrans = 113
end enum
! enum mtxtype
enum, bind(C)
enumerator :: SpmGeneral = SpmNoTrans
enumerator :: SpmSymmetric = SpmTrans
enumerator :: SpmHermitian = SpmConjTrans
end enum
! enum uplo
enum, bind(C)
enumerator :: SpmUpper = 121
enumerator :: SpmLower = 122
enumerator :: SpmUpperLower = 123
end enum
! enum diag
enum, bind(C)
enumerator :: SpmNonUnit = 131
enumerator :: SpmUnit = 132
end enum
! enum side
enum, bind(C)
enumerator :: SpmLeft = 141
enumerator :: SpmRight = 142
end enum
! enum normtype
enum, bind(C)
enumerator :: SpmOneNorm = 171
enumerator :: SpmFrobeniusNorm = 174
enumerator :: SpmInfNorm = 175
enumerator :: SpmMaxNorm = 177
end enum
! enum dir
enum, bind(C)
enumerator :: SpmDirForward = 391
enumerator :: SpmDirBackward = 392
end enum
integer, parameter :: spm_int_t = SPM_INT_KIND
contains
function spm_getintsize()
integer :: spm_getintsize
spm_getintsize = SPM_INT_KIND
return
end function spm_getintsize
end module spm_enums