ColPack
|
00001 /************************************************************************************ 00002 Copyright (C) 2005-2008 Assefaw H. Gebremedhin, Arijit Tarafdar, Duc Nguyen, 00003 Alex Pothen 00004 00005 This file is part of ColPack. 00006 00007 ColPack is free software: you can redistribute it and/or modify 00008 it under the terms of the GNU Lesser General Public License as published 00009 by the Free Software Foundation, either version 3 of the License, or 00010 (at your option) any later version. 00011 00012 ColPack is distributed in the hope that it will be useful, 00013 but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 GNU Lesser General Public License for more details. 00016 00017 You should have received a copy of the GNU Lesser General Public License 00018 along with ColPack. If not, see <http://www.gnu.org/licenses/>. 00019 ************************************************************************************/ 00020 00021 /******************************************************************************/ 00022 /* */ 00023 /*DEBUG and ERROR Counter Ranges: (OBSOLETE) */ 00024 /* */ 00025 /*GraphCore 1100:1199 */ 00026 /*GraphInputOutput 1200:1299 */ 00027 /*GraphOrdering 1300:1399 */ 00028 /*GraphColoring 1400:1499 */ 00029 /*GraphColoringInterface 1500:1699 */ 00030 /* */ 00031 /*BipartiteGraphCore 2100:2199;3100:3199 */ 00032 /*BipartiteGraphInputOutput 2200:2299;3200:3299 */ 00033 /*BipartiteGraphPartialOrdering 2300:2399 */ 00034 /*BipartiteGraphPartialColoring 2400:2499 */ 00035 /*BipartiteGraphPartialColoringInterface 2500:2699 */ 00036 /* */ 00037 /*BipartiteGraphCovering 3300:3399 */ 00038 /*BipartiteGraphOrdering 3400:3499 */ 00039 /*BipartiteGraphBicoloring 3500:3599 */ 00040 /*BipartiteGraphBicoloringInterface 3600:3799 */ 00041 /* */ 00042 /*StringTokenizer 4100:4199 */ 00043 /*DisjointSets 4200:4299 */ 00044 /*Timer 4300:4399 */ 00045 /* */ 00046 /*HessianMatrix 5100:5199 */ 00047 /******************************************************************************/ 00048 00049 #ifndef DEFINITION_H 00050 #define DEFINITION_H 00051 00052 #if defined (_WIN32) || defined (__WIN32) || defined (__WIN32__) || defined (WIN32) //Windows OS Predefined Macros 00053 #define ____WINDOWS_OS____ 00054 #endif 00055 00056 #define STEP_DOWN(INPUT) ((INPUT) - 1) 00057 #define STEP_UP(INPUT) ((INPUT) + 1) 00058 00059 #define _INVALID -2 00060 #define _UNKNOWN -1 00061 #define _FALSE 0 00062 #define _TRUE 1 00063 00064 #define _OFF 0 00065 #define _ON 1 00066 00067 #define DISJOINT_SETS _TRUE 00068 00069 #define STATISTICS _TRUE 00070 00071 #ifndef ____WINDOWS_OS____ 00072 00073 00079 #define SYSTEM_TIME 00080 #else 00081 #undef SYSTEM_TIME 00082 #endif 00083 00084 //define system-dependent directory separator 00085 #ifndef ____WINDOWS_OS____ 00086 #define DIR_SEPARATOR "/" 00087 #else 00088 #define DIR_SEPARATOR "\\" 00089 #endif 00090 00091 //#define DEBUG _UNKNOWN 00092 //#define DEBUG 5103 00093 00094 // definition for variadic Graph...Interface() 00095 #define SRC_WAIT -1 00096 #define SRC_FILE 0 00097 #define SRC_MEM_ADOLC 1 00098 #define SRC_MEM_ADIC 2 00099 #define SRC_MEM_SSF 3 00100 #define SRC_MEM_CSR 4 00101 00102 00103 enum boolean {FALSE=0, TRUE}; 00104 00105 //enum _INPUT_FORMAT {MATRIX_MARKET, METIS, HARWELL_BOEING}; 00106 00107 //enum _VERTEX_ORDER {NATURAL, LARGEST_FIRST, DYNAMIC_LARGEST_FIRST, DISTANCE_TWO_LARGEST_FIRST, SMALLEST_LAST, DISTANCE_TWO_SMALLEST_LAST, INCIDENCE_DEGREE, DISTANCE_TWO_INCIDENCE_DEGREE}; 00108 00109 //enum _COLORING_STYLE {DISTANCE_ONE, DISTANCE_TWO, NAIVE_STAR, RESTRICTED_STAR, STAR, ACYCLIC, TRIANGULAR}; 00110 00111 //enum _BIPARTITE_VERTEX_ORDER{NATURAL, LARGEST_FIRST, SELECTIVE_LARGEST_FIRST, DYNAMIC_LARGEST_FIRST, ROW_LARGEST_FIRST, COLUMN_LARGEST_FIRST, SMALLEST_LAST, SELECTIVE_SMALLEST_LAST, ROW_SMALLEST_LAST, COLUMN_SMALLEST_LAST, INCIDENCE_DEGREE, SELECTIVE_INCIDENCE_DEGREE, ROW_INCIDENCE_DEGREE, COLUMN_INCIDENCE_DEGREE}; 00112 00113 //enum _BIPARTITE_COLORING_STYLE{ROW_PARTIAL_DISTANCE_TWO, COLUMN_PARTIAL_DISTANCE_TWO, LEFT_STAR, RIGHT_STAR, MINIMAL_COVER_STAR, MINIMAL_COVER_MODIFIED_STAR, IMPLICIT_COVER_STAR, IMPLICT_COVER_CONSERVATIVE_STAR, IMPLICIT_COVER_RESTRICTED_STAR, IMPLICIT_COVER_GREEDY_STAR, IMPLICIT_COVER_ACYCLIC}; 00114 00115 #endif