00001 #include <scil/variable.h>
00002 #include <scil/var_obj.h>
00003 #include <scil/row.h>
00004
00005 int Hash(var v) { return Hash(v.var_pointer()); };
00006
00007 double var::obj() {
00008 return var_pointer()->obj();
00009 };
00010
00011 double var::lower_bound() {
00012 return var_pointer()->lower_bound();
00013 };
00014
00015 double var::upper_bound() {
00016 return var_pointer()->upper_bound();
00017 }
00018
00019 Vartype var::type() {
00020 return var_pointer()->type();
00021 };
00022
00023 var_obj* var::var_pointer() {
00024
00025 return VS;
00026 }
00027
00028 int var::index() {
00029 return VS->index();
00030 };
00031
00032 row var::operator+ (const row& r) {
00033 return row(*this)+r;
00034 }
00035
00036 row var::operator* (double d) {
00037 return row(*this)*d;
00038 }
00039
00040 bool var::operator< (const var& v1) const {
00041 return VS<v1.VS;
00042 }
00043
00044 bool var::operator<= (const var& v1) const {
00045 return VS<=v1.VS;
00046 }
00047
00048 bool var::operator!= (const var& v1) const {
00049 return VS!=v1.VS;
00050 }
00051
00052 bool var::operator== (const var& v1) const {
00053 return VS==v1.VS;
00054 }
00055
00056 bool var::operator> (const var& v1) const {
00057 return VS>v1.VS;
00058 }
00059
00060 int compare(const var& v1, const var& v2) {
00061 if(v1>v2) return 1;
00062 if(v1<v2) return -1;
00063 return 0;
00064 }