{-# 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