00001 /* 00002 * SatValue.h 00003 * 00004 * Created on: Aug 3, 2009 00005 * Author: tdillig 00006 */ 00007 00008 #ifndef SATVALUE_H_ 00009 #define SATVALUE_H_ 00010 00011 #include "bignum.h" 00012 00013 00014 /* 00015 * Represents a satisfying assignment. 00016 * If the variable is known to be an integer (i.e. 00017 * involved in a linear system), the satisfying 00018 * assignment is an integer. Otherwise, 00019 * we assign some made up element that is 00020 * unique for each equivalence class. 00021 */ 00022 class SatValue { 00023 public: 00024 00025 bool integer; 00026 //If integer, the actual integer value, otherwise a unique id per 00027 //equivalence class. 00028 bignum value; 00029 00030 string to_string() 00031 { 00032 if(!integer) 00033 return "e"+value.to_string(); 00034 return value.to_string(); 00035 } 00036 00037 SatValue(); 00038 ~SatValue(); 00039 }; 00040 00041 #endif /* SATVALUE_H_ */