xref: /haiku/headers/libs/linprog/LinearProgrammingTypes.h (revision f108cdbfab0a9d2aed098ea7a737b40baec04937)
1 /*
2  * Copyright 2007-2008, Christof Lutteroth, lutteroth@cs.auckland.ac.nz
3  * Copyright 2007-2008, James Kim, jkim202@ec.auckland.ac.nz
4  * Copyright 2010, Clemens Zeidler <haiku@clemens-zeidler.de>
5  * Distributed under the terms of the MIT License.
6  */
7 
8 #ifndef	LINEAR_PROGRAMMING_TYPES_H
9 #define	LINEAR_PROGRAMMING_TYPES_H
10 
11 
12 namespace LinearProgramming {
13 
14 
15 /**
16  * The possible results of a solving attempt.
17  */
18 enum ResultType {
19 	kNoMemory = -2,
20 	kError = -1,
21 	kOptimal = 0,
22 	kSuboptimal = 1,
23 	kInfeasible = 2,
24 	kUnbounded = 3,
25 	kDegenerate = 4,
26 	kNumFailure = 5
27 };
28 
29 
30 /**
31  * Possible operators for linear constraints.
32  */
33 enum OperatorType {
34 	kEQ,
35 	kLE,
36 	kGE
37 };
38 
39 
40 
41 /**
42  * The two possibilities for optimizing the objective function.
43  */
44 enum OptimizationType {
45 	kMinimize,
46 	kMaximize
47 };
48 
49 }	// namespace LinearProgramming
50 
51 
52 using LinearProgramming::ResultType;
53 using LinearProgramming::OperatorType;
54 using LinearProgramming::OptimizationType;
55 
56 
57 #endif // LINEAR_PROGRAMMING_TYPES_H
58