00001 #ifndef __DSDP_BASIC_TYPES
00002 #define __DSDP_BASIC_TYPES
00003
00013 typedef struct DSDP_C* DSDP;
00014
00019 typedef enum { DSDP_FALSE = 0, DSDP_TRUE = 1} DSDPTruth;
00020
00025 typedef enum {
00026 DUAL_FACTOR = 1,
00027 PRIMAL_FACTOR = 2
00028 } DSDPDualFactorMatrix;
00029
00030 typedef enum { DSDPAlways=1, DSDPNever=2, DSDPInfeasible=0} DSDPPenalty;
00031
00038 typedef enum {
00039 DSDP_PDUNKNOWN = 0,
00040 DSDP_PDFEASIBLE = 1,
00041 DSDP_UNBOUNDED = 3,
00042 DSDP_INFEASIBLE = 4
00043 } DSDPSolutionType;
00044
00050 typedef enum {
00051 DSDP_CONVERGED = 1,
00052 DSDP_INFEASIBLE_START = -6,
00053 DSDP_SMALL_STEPS = -2,
00054 DSDP_INDEFINITE_SCHUR_MATRIX = -8,
00055 DSDP_MAX_IT = -3,
00056 DSDP_NUMERICAL_ERROR = -9,
00057 DSDP_UPPERBOUND = 5,
00058 DSDP_USER_TERMINATION = 7,
00059 CONTINUE_ITERATING = 0 } DSDPTerminationReason;
00060
00061 extern int DSDPSetConvergenceFlag(DSDP,DSDPTerminationReason);
00062
00063 #endif