{-# OPTIONS_GHC -Wall #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# LANGUAGE MultiParamTypeClasses #-}
module Casadi.Core.Enums
(
Alias(..),
Category(..),
Causality(..),
CollocationPoints(..),
Dynamics(..),
InputOutputScheme(..),
Operation(..),
TypeID(..),
Variability(..),
) where
import Foreign.C.Types ( CInt(..) )
import Casadi.Internal.Marshal ( Marshal(..) )
import Casadi.Internal.WrapReturn ( WrapReturn(..) )
-- EnumDecl: Alias
data Alias = ALIAS
| NEGATED_ALIAS
| NO_ALIAS
deriving (Show, Eq)
instance Enum Alias where
fromEnum (ALIAS) = 1
fromEnum (NEGATED_ALIAS) = 2
fromEnum (NO_ALIAS) = 0
toEnum (1) = ALIAS
toEnum (2) = NEGATED_ALIAS
toEnum (0) = NO_ALIAS
toEnum k
= error $ "Alias: toEnum: got unhandled number: " ++ show k
instance Marshal Alias CInt where
marshal = return . fromIntegral . fromEnum
instance WrapReturn CInt Alias where
wrapReturn = return . toEnum . fromIntegral
-- EnumDecl: Category
data Category = CAT_ALGEBRAIC
| CAT_DEPENDENT_CONSTANT
| CAT_DEPENDENT_PARAMETER
| CAT_DERIVATIVE
| CAT_INDEPENDENT_CONSTANT
| CAT_INDEPENDENT_PARAMETER
| CAT_STATE
| CAT_UNKNOWN
deriving (Show, Eq)
instance Enum Category where
fromEnum (CAT_ALGEBRAIC) = 7
fromEnum (CAT_DEPENDENT_CONSTANT) = 3
fromEnum (CAT_DEPENDENT_PARAMETER) = 5
fromEnum (CAT_DERIVATIVE) = 1
fromEnum (CAT_INDEPENDENT_CONSTANT) = 4
fromEnum (CAT_INDEPENDENT_PARAMETER) = 6
fromEnum (CAT_STATE) = 2
fromEnum (CAT_UNKNOWN) = 0
toEnum (7) = CAT_ALGEBRAIC
toEnum (3) = CAT_DEPENDENT_CONSTANT
toEnum (5) = CAT_DEPENDENT_PARAMETER
toEnum (1) = CAT_DERIVATIVE
toEnum (4) = CAT_INDEPENDENT_CONSTANT
toEnum (6) = CAT_INDEPENDENT_PARAMETER
toEnum (2) = CAT_STATE
toEnum (0) = CAT_UNKNOWN
toEnum k
= error $ "Category: toEnum: got unhandled number: " ++ show k
instance Marshal Category CInt where
marshal = return . fromIntegral . fromEnum
instance WrapReturn CInt Category where
wrapReturn = return . toEnum . fromIntegral
-- EnumDecl: Causality
data Causality = INPUT
| INTERNAL
| OUTPUT
deriving (Show, Eq)
instance Enum Causality where
fromEnum (INPUT) = 0
fromEnum (INTERNAL) = 2
fromEnum (OUTPUT) = 1
toEnum (0) = INPUT
toEnum (2) = INTERNAL
toEnum (1) = OUTPUT
toEnum k
= error $ "Causality: toEnum: got unhandled number: " ++ show k
instance Marshal Causality CInt where
marshal = return . fromIntegral . fromEnum
instance WrapReturn CInt Causality where
wrapReturn = return . toEnum . fromIntegral
-- EnumDecl: CollocationPoints
data CollocationPoints = LEGENDRE
| RADAU
deriving (Show, Eq)
instance Enum CollocationPoints where
fromEnum (LEGENDRE) = 0
fromEnum (RADAU) = 1
toEnum (0) = LEGENDRE
toEnum (1) = RADAU
toEnum k
= error $ "CollocationPoints: toEnum: got unhandled number: " ++
show k
instance Marshal CollocationPoints CInt where
marshal = return . fromIntegral . fromEnum
instance WrapReturn CInt CollocationPoints where
wrapReturn = return . toEnum . fromIntegral
-- EnumDecl: Dynamics
data Dynamics = ALGEBRAIC
| DIFFERENTIAL
deriving (Show, Eq)
instance Enum Dynamics where
fromEnum (ALGEBRAIC) = 0
fromEnum (DIFFERENTIAL) = 1
toEnum (0) = ALGEBRAIC
toEnum (1) = DIFFERENTIAL
toEnum k
= error $ "Dynamics: toEnum: got unhandled number: " ++ show k
instance Marshal Dynamics CInt where
marshal = return . fromIntegral . fromEnum
instance WrapReturn CInt Dynamics where
wrapReturn = return . toEnum . fromIntegral
-- EnumDecl: InputOutputScheme
data InputOutputScheme = SCHEME_CLEInput
| SCHEME_CLEOutput
| SCHEME_ControlSimulatorInput
| SCHEME_ControlledDAEInput
| SCHEME_DAEInput
| SCHEME_DAEOutput
| SCHEME_DLEInput
| SCHEME_DLEOutput
| SCHEME_DPLEInput
| SCHEME_DPLEOutput
| SCHEME_GradFInput
| SCHEME_GradFOutput
| SCHEME_HNLPInput
| SCHEME_HessLagInput
| SCHEME_HessLagOutput
| SCHEME_IntegratorInput
| SCHEME_IntegratorOutput
| SCHEME_JacGInput
| SCHEME_JacGOutput
| SCHEME_LR_DLEInput
| SCHEME_LR_DLEOutput
| SCHEME_LR_DPLEInput
| SCHEME_LR_DPLEOutput
| SCHEME_LinsolInput
| SCHEME_LinsolOutput
| SCHEME_LpSolverInput
| SCHEME_LpSolverOutput
| SCHEME_NLPInput
| SCHEME_NLPOutput
| SCHEME_NlpSolverInput
| SCHEME_NlpSolverOutput
| SCHEME_QcqpSolverInput
| SCHEME_QcqpSolverOutput
| SCHEME_QpSolverInput
| SCHEME_QpSolverOutput
| SCHEME_RDAEInput
| SCHEME_RDAEOutput
| SCHEME_SDPInput
| SCHEME_SDPOutput
| SCHEME_SDQPInput
| SCHEME_SDQPOutput
| SCHEME_SOCPInput
| SCHEME_SOCPOutput
| SCHEME_SOCPStruct
| SCHEME_StabilizedQpSolverInput
deriving (Show, Eq)
instance Enum InputOutputScheme where
fromEnum (SCHEME_CLEInput) = 0
fromEnum (SCHEME_CLEOutput) = 1
fromEnum (SCHEME_ControlSimulatorInput) = 3
fromEnum (SCHEME_ControlledDAEInput) = 2
fromEnum (SCHEME_DAEInput) = 9
fromEnum (SCHEME_DAEOutput) = 10
fromEnum (SCHEME_DLEInput) = 4
fromEnum (SCHEME_DLEOutput) = 5
fromEnum (SCHEME_DPLEInput) = 6
fromEnum (SCHEME_DPLEOutput) = 7
fromEnum (SCHEME_GradFInput) = 25
fromEnum (SCHEME_GradFOutput) = 26
fromEnum (SCHEME_HNLPInput) = 8
fromEnum (SCHEME_HessLagInput) = 29
fromEnum (SCHEME_HessLagOutput) = 30
fromEnum (SCHEME_IntegratorInput) = 13
fromEnum (SCHEME_IntegratorOutput) = 14
fromEnum (SCHEME_JacGInput) = 27
fromEnum (SCHEME_JacGOutput) = 28
fromEnum (SCHEME_LR_DLEInput) = 19
fromEnum (SCHEME_LR_DLEOutput) = 20
fromEnum (SCHEME_LR_DPLEInput) = 21
fromEnum (SCHEME_LR_DPLEOutput) = 22
fromEnum (SCHEME_LinsolInput) = 15
fromEnum (SCHEME_LinsolOutput) = 16
fromEnum (SCHEME_LpSolverInput) = 17
fromEnum (SCHEME_LpSolverOutput) = 18
fromEnum (SCHEME_NLPInput) = 23
fromEnum (SCHEME_NLPOutput) = 24
fromEnum (SCHEME_NlpSolverInput) = 31
fromEnum (SCHEME_NlpSolverOutput) = 32
fromEnum (SCHEME_QcqpSolverInput) = 33
fromEnum (SCHEME_QcqpSolverOutput) = 34
fromEnum (SCHEME_QpSolverInput) = 35
fromEnum (SCHEME_QpSolverOutput) = 36
fromEnum (SCHEME_RDAEInput) = 11
fromEnum (SCHEME_RDAEOutput) = 12
fromEnum (SCHEME_SDPInput) = 37
fromEnum (SCHEME_SDPOutput) = 38
fromEnum (SCHEME_SDQPInput) = 39
fromEnum (SCHEME_SDQPOutput) = 40
fromEnum (SCHEME_SOCPInput) = 41
fromEnum (SCHEME_SOCPOutput) = 42
fromEnum (SCHEME_SOCPStruct) = 43
fromEnum (SCHEME_StabilizedQpSolverInput) = 44
toEnum (0) = SCHEME_CLEInput
toEnum (1) = SCHEME_CLEOutput
toEnum (3) = SCHEME_ControlSimulatorInput
toEnum (2) = SCHEME_ControlledDAEInput
toEnum (9) = SCHEME_DAEInput
toEnum (10) = SCHEME_DAEOutput
toEnum (4) = SCHEME_DLEInput
toEnum (5) = SCHEME_DLEOutput
toEnum (6) = SCHEME_DPLEInput
toEnum (7) = SCHEME_DPLEOutput
toEnum (25) = SCHEME_GradFInput
toEnum (26) = SCHEME_GradFOutput
toEnum (8) = SCHEME_HNLPInput
toEnum (29) = SCHEME_HessLagInput
toEnum (30) = SCHEME_HessLagOutput
toEnum (13) = SCHEME_IntegratorInput
toEnum (14) = SCHEME_IntegratorOutput
toEnum (27) = SCHEME_JacGInput
toEnum (28) = SCHEME_JacGOutput
toEnum (19) = SCHEME_LR_DLEInput
toEnum (20) = SCHEME_LR_DLEOutput
toEnum (21) = SCHEME_LR_DPLEInput
toEnum (22) = SCHEME_LR_DPLEOutput
toEnum (15) = SCHEME_LinsolInput
toEnum (16) = SCHEME_LinsolOutput
toEnum (17) = SCHEME_LpSolverInput
toEnum (18) = SCHEME_LpSolverOutput
toEnum (23) = SCHEME_NLPInput
toEnum (24) = SCHEME_NLPOutput
toEnum (31) = SCHEME_NlpSolverInput
toEnum (32) = SCHEME_NlpSolverOutput
toEnum (33) = SCHEME_QcqpSolverInput
toEnum (34) = SCHEME_QcqpSolverOutput
toEnum (35) = SCHEME_QpSolverInput
toEnum (36) = SCHEME_QpSolverOutput
toEnum (11) = SCHEME_RDAEInput
toEnum (12) = SCHEME_RDAEOutput
toEnum (37) = SCHEME_SDPInput
toEnum (38) = SCHEME_SDPOutput
toEnum (39) = SCHEME_SDQPInput
toEnum (40) = SCHEME_SDQPOutput
toEnum (41) = SCHEME_SOCPInput
toEnum (42) = SCHEME_SOCPOutput
toEnum (43) = SCHEME_SOCPStruct
toEnum (44) = SCHEME_StabilizedQpSolverInput
toEnum k
= error $ "InputOutputScheme: toEnum: got unhandled number: " ++
show k
instance Marshal InputOutputScheme CInt where
marshal = return . fromIntegral . fromEnum
instance WrapReturn CInt InputOutputScheme where
wrapReturn = return . toEnum . fromIntegral
-- EnumDecl: Operation
data Operation = NUM_BUILT_IN_OPS
| OP_ACOS
| OP_ACOSH
| OP_ADD
| OP_ADDNONZEROS
| OP_AND
| OP_ASIN
| OP_ASINH
| OP_ASSERTION
| OP_ASSIGN
| OP_ATAN
| OP_ATAN2
| OP_ATANH
| OP_CALL
| OP_CEIL
| OP_CONST
| OP_CONSTPOW
| OP_COPYSIGN
| OP_COS
| OP_COSH
| OP_DETERMINANT
| OP_DIAGCAT
| OP_DIAGSPLIT
| OP_DIV
| OP_EQ
| OP_ERF
| OP_ERFINV
| OP_EXP
| OP_FABS
| OP_FIND
| OP_FLOOR
| OP_FMAX
| OP_FMIN
| OP_FMOD
| OP_GETNONZEROS
| OP_HORZCAT
| OP_HORZREPMAT
| OP_HORZREPSUM
| OP_HORZSPLIT
| OP_IF_ELSE_ZERO
| OP_INNER_PROD
| OP_INPUT
| OP_INV
| OP_INVERSE
| OP_LE
| OP_LIFT
| OP_LOG
| OP_LT
| OP_MAP
| OP_MATMUL
| OP_MONITOR
| OP_MUL
| OP_NE
| OP_NEG
| OP_NORM1
| OP_NORM2
| OP_NORMF
| OP_NORMINF
| OP_NOT
| OP_OR
| OP_OUTPUT
| OP_PARAMETER
| OP_POW
| OP_PRINTME
| OP_PROJECT
| OP_RESHAPE
| OP_SETNONZEROS
| OP_SIGN
| OP_SIN
| OP_SINH
| OP_SOLVE
| OP_SQ
| OP_SQRT
| OP_SUB
| OP_SUBASSIGN
| OP_SUBREF
| OP_TAN
| OP_TANH
| OP_TRANSPOSE
| OP_TWICE
| OP_VERTCAT
| OP_VERTSPLIT
deriving (Show, Eq)
instance Enum Operation where
fromEnum (NUM_BUILT_IN_OPS) = 81
fromEnum (OP_ACOS) = 17
fromEnum (OP_ACOSH) = 41
fromEnum (OP_ADD) = 1
fromEnum (OP_ADDNONZEROS) = 67
fromEnum (OP_AND) = 24
fromEnum (OP_ASIN) = 16
fromEnum (OP_ASINH) = 40
fromEnum (OP_ASSERTION) = 70
fromEnum (OP_ASSIGN) = 0
fromEnum (OP_ATAN) = 18
fromEnum (OP_ATAN2) = 43
fromEnum (OP_ATANH) = 42
fromEnum (OP_CALL) = 48
fromEnum (OP_CEIL) = 27
fromEnum (OP_CONST) = 44
fromEnum (OP_CONSTPOW) = 9
fromEnum (OP_COPYSIGN) = 31
fromEnum (OP_COS) = 14
fromEnum (OP_COSH) = 38
fromEnum (OP_DETERMINANT) = 54
fromEnum (OP_DIAGCAT) = 59
fromEnum (OP_DIAGSPLIT) = 62
fromEnum (OP_DIV) = 4
fromEnum (OP_EQ) = 21
fromEnum (OP_ERF) = 33
fromEnum (OP_ERFINV) = 78
fromEnum (OP_EXP) = 6
fromEnum (OP_FABS) = 29
fromEnum (OP_FIND) = 49
fromEnum (OP_FLOOR) = 26
fromEnum (OP_FMAX) = 35
fromEnum (OP_FMIN) = 34
fromEnum (OP_FMOD) = 28
fromEnum (OP_GETNONZEROS) = 66
fromEnum (OP_HORZCAT) = 57
fromEnum (OP_HORZREPMAT) = 76
fromEnum (OP_HORZREPSUM) = 77
fromEnum (OP_HORZSPLIT) = 60
fromEnum (OP_IF_ELSE_ZERO) = 32
fromEnum (OP_INNER_PROD) = 56
fromEnum (OP_INPUT) = 45
fromEnum (OP_INV) = 36
fromEnum (OP_INVERSE) = 55
fromEnum (OP_LE) = 20
fromEnum (OP_LIFT) = 80
fromEnum (OP_LOG) = 7
fromEnum (OP_LT) = 19
fromEnum (OP_MAP) = 50
fromEnum (OP_MATMUL) = 51
fromEnum (OP_MONITOR) = 71
fromEnum (OP_MUL) = 3
fromEnum (OP_NE) = 22
fromEnum (OP_NEG) = 5
fromEnum (OP_NORM1) = 73
fromEnum (OP_NORM2) = 72
fromEnum (OP_NORMF) = 75
fromEnum (OP_NORMINF) = 74
fromEnum (OP_NOT) = 23
fromEnum (OP_OR) = 25
fromEnum (OP_OUTPUT) = 46
fromEnum (OP_PARAMETER) = 47
fromEnum (OP_POW) = 8
fromEnum (OP_PRINTME) = 79
fromEnum (OP_PROJECT) = 69
fromEnum (OP_RESHAPE) = 63
fromEnum (OP_SETNONZEROS) = 68
fromEnum (OP_SIGN) = 30
fromEnum (OP_SIN) = 13
fromEnum (OP_SINH) = 37
fromEnum (OP_SOLVE) = 52
fromEnum (OP_SQ) = 11
fromEnum (OP_SQRT) = 10
fromEnum (OP_SUB) = 2
fromEnum (OP_SUBASSIGN) = 65
fromEnum (OP_SUBREF) = 64
fromEnum (OP_TAN) = 15
fromEnum (OP_TANH) = 39
fromEnum (OP_TRANSPOSE) = 53
fromEnum (OP_TWICE) = 12
fromEnum (OP_VERTCAT) = 58
fromEnum (OP_VERTSPLIT) = 61
toEnum (81) = NUM_BUILT_IN_OPS
toEnum (17) = OP_ACOS
toEnum (41) = OP_ACOSH
toEnum (1) = OP_ADD
toEnum (67) = OP_ADDNONZEROS
toEnum (24) = OP_AND
toEnum (16) = OP_ASIN
toEnum (40) = OP_ASINH
toEnum (70) = OP_ASSERTION
toEnum (0) = OP_ASSIGN
toEnum (18) = OP_ATAN
toEnum (43) = OP_ATAN2
toEnum (42) = OP_ATANH
toEnum (48) = OP_CALL
toEnum (27) = OP_CEIL
toEnum (44) = OP_CONST
toEnum (9) = OP_CONSTPOW
toEnum (31) = OP_COPYSIGN
toEnum (14) = OP_COS
toEnum (38) = OP_COSH
toEnum (54) = OP_DETERMINANT
toEnum (59) = OP_DIAGCAT
toEnum (62) = OP_DIAGSPLIT
toEnum (4) = OP_DIV
toEnum (21) = OP_EQ
toEnum (33) = OP_ERF
toEnum (78) = OP_ERFINV
toEnum (6) = OP_EXP
toEnum (29) = OP_FABS
toEnum (49) = OP_FIND
toEnum (26) = OP_FLOOR
toEnum (35) = OP_FMAX
toEnum (34) = OP_FMIN
toEnum (28) = OP_FMOD
toEnum (66) = OP_GETNONZEROS
toEnum (57) = OP_HORZCAT
toEnum (76) = OP_HORZREPMAT
toEnum (77) = OP_HORZREPSUM
toEnum (60) = OP_HORZSPLIT
toEnum (32) = OP_IF_ELSE_ZERO
toEnum (56) = OP_INNER_PROD
toEnum (45) = OP_INPUT
toEnum (36) = OP_INV
toEnum (55) = OP_INVERSE
toEnum (20) = OP_LE
toEnum (80) = OP_LIFT
toEnum (7) = OP_LOG
toEnum (19) = OP_LT
toEnum (50) = OP_MAP
toEnum (51) = OP_MATMUL
toEnum (71) = OP_MONITOR
toEnum (3) = OP_MUL
toEnum (22) = OP_NE
toEnum (5) = OP_NEG
toEnum (73) = OP_NORM1
toEnum (72) = OP_NORM2
toEnum (75) = OP_NORMF
toEnum (74) = OP_NORMINF
toEnum (23) = OP_NOT
toEnum (25) = OP_OR
toEnum (46) = OP_OUTPUT
toEnum (47) = OP_PARAMETER
toEnum (8) = OP_POW
toEnum (79) = OP_PRINTME
toEnum (69) = OP_PROJECT
toEnum (63) = OP_RESHAPE
toEnum (68) = OP_SETNONZEROS
toEnum (30) = OP_SIGN
toEnum (13) = OP_SIN
toEnum (37) = OP_SINH
toEnum (52) = OP_SOLVE
toEnum (11) = OP_SQ
toEnum (10) = OP_SQRT
toEnum (2) = OP_SUB
toEnum (65) = OP_SUBASSIGN
toEnum (64) = OP_SUBREF
toEnum (15) = OP_TAN
toEnum (39) = OP_TANH
toEnum (53) = OP_TRANSPOSE
toEnum (12) = OP_TWICE
toEnum (58) = OP_VERTCAT
toEnum (61) = OP_VERTSPLIT
toEnum k
= error $ "Operation: toEnum: got unhandled number: " ++ show k
instance Marshal Operation CInt where
marshal = return . fromIntegral . fromEnum
instance WrapReturn CInt Operation where
wrapReturn = return . toEnum . fromIntegral
-- EnumDecl: TypeID
data TypeID = OT_BOOLEAN
| OT_BOOLVECTOR
| OT_CALLBACK
| OT_DERIVATIVEGENERATOR
| OT_DICT
| OT_FUNCTION
| OT_INTEGER
| OT_INTEGERVECTOR
| OT_INTEGERVECTORVECTOR
| OT_NULL
| OT_REAL
| OT_REALVECTOR
| OT_STRING
| OT_STRINGVECTOR
| OT_UNKNOWN
| OT_VOIDPTR
deriving (Show, Eq)
instance Enum TypeID where
fromEnum (OT_BOOLEAN) = 1
fromEnum (OT_BOOLVECTOR) = 7
fromEnum (OT_CALLBACK) = 13
fromEnum (OT_DERIVATIVEGENERATOR) = 11
fromEnum (OT_DICT) = 10
fromEnum (OT_FUNCTION) = 12
fromEnum (OT_INTEGER) = 2
fromEnum (OT_INTEGERVECTOR) = 5
fromEnum (OT_INTEGERVECTORVECTOR) = 6
fromEnum (OT_NULL) = 0
fromEnum (OT_REAL) = 3
fromEnum (OT_REALVECTOR) = 8
fromEnum (OT_STRING) = 4
fromEnum (OT_STRINGVECTOR) = 9
fromEnum (OT_UNKNOWN) = 15
fromEnum (OT_VOIDPTR) = 14
toEnum (1) = OT_BOOLEAN
toEnum (7) = OT_BOOLVECTOR
toEnum (13) = OT_CALLBACK
toEnum (11) = OT_DERIVATIVEGENERATOR
toEnum (10) = OT_DICT
toEnum (12) = OT_FUNCTION
toEnum (2) = OT_INTEGER
toEnum (5) = OT_INTEGERVECTOR
toEnum (6) = OT_INTEGERVECTORVECTOR
toEnum (0) = OT_NULL
toEnum (3) = OT_REAL
toEnum (8) = OT_REALVECTOR
toEnum (4) = OT_STRING
toEnum (9) = OT_STRINGVECTOR
toEnum (15) = OT_UNKNOWN
toEnum (14) = OT_VOIDPTR
toEnum k
= error $ "TypeID: toEnum: got unhandled number: " ++ show k
instance Marshal TypeID CInt where
marshal = return . fromIntegral . fromEnum
instance WrapReturn CInt TypeID where
wrapReturn = return . toEnum . fromIntegral
-- EnumDecl: Variability
data Variability = CONSTANT
| CONTINUOUS
| DISCRETE
| PARAMETER
deriving (Show, Eq)
instance Enum Variability where
fromEnum (CONSTANT) = 0
fromEnum (CONTINUOUS) = 3
fromEnum (DISCRETE) = 2
fromEnum (PARAMETER) = 1
toEnum (0) = CONSTANT
toEnum (3) = CONTINUOUS
toEnum (2) = DISCRETE
toEnum (1) = PARAMETER
toEnum k
= error $ "Variability: toEnum: got unhandled number: " ++ show k
instance Marshal Variability CInt where
marshal = return . fromIntegral . fromEnum
instance WrapReturn CInt Variability where
wrapReturn = return . toEnum . fromIntegral