00001 #include<scil/cons.h>
00002 #include<scil/cons_obj.h>
00003 #include<scil/column.h>
00004
00005 using namespace SCIL;
00006
00007 cons& cons::operator=(const cons& i) {
00008 IS=i.IS;
00009 return *this;
00010 }
00011
00012
00013 cons_obj* cons::cons_pointer() {
00014 if (IS==nil) cout<<"nil consuality\n";
00015 return IS;
00016 }
00017
00018 ABA_Constraint* cons::Acons_pointer() {
00019 if (IS==nil) cout<<"nil variable\n";
00020 return IS->Acons();
00021 }
00022
00023 column cons::operator+ (column r) {
00024 return column(*this)+r;
00025 }
00026
00027 column cons::operator* (double d) {
00028 return column(*this)*d;
00029 }
00030
00031 bool cons::operator< (const cons& v1) const {
00032 return IS<v1.IS;
00033 }
00034
00035 bool cons::operator<= (const cons& v1) const {
00036 return IS<=v1.IS;
00037 }
00038
00039 bool cons::operator!= (const cons& v1) const {
00040 return IS!=v1.IS;
00041 }
00042
00043 bool cons::operator== (const cons& v1) const {
00044 return IS==v1.IS;
00045 }
00046
00047 bool cons::operator> (const cons& v1) const {
00048 return IS>v1.IS;
00049 }
00050
00051 double cons::rhs() {
00052 return cons_pointer()->rhs();
00053 };
00054
00055 cons_sense cons::sense() {
00056 return cons_pointer()->sense();
00057 };
00058
00059
00060 namespace SCIL {
00061 int compare(const SCIL::cons& v1, const SCIL::cons& v2) {
00062 if(v1>v2) return 1;
00063 if(v1<v2) return -1;
00064 return 0;
00065 }
00066 };
00067