Main Page   Class Hierarchy   Compound List   File List   Contact   Download   Symbolic Constraints   Examples  

row_constraint.cc

00001 #include<scil/global.h>
00002 #include<scil/row_constraint.h>
00003 #include<scil/var_obj.h>
00004 #include<scil/row.h>
00005 
00006 row_constraint::row_constraint(row& r, cons_sense s) : NZV(r.size()), NZC(r.size()) 
00007 {
00008   row_entry t;
00009   int i=0;
00010   forall(t, r) {
00011     NZV[i]=t.Var;
00012     NZC[i]=t.coeff;
00013     i++;
00014   }
00015   set_sense(s);
00016   set_rhs(rhs());
00017 }
00018 
00019 
00020 double row_constraint::rhs()
00021 {
00022   if(NZV[0]==nil) return -NZC[0];
00023   return 0;
00024 }
00025 
00026 void row_constraint::non_zero_entries(row& r) 
00027 {
00028   for(int i=0; i<=NZC.high(); i++) {
00029     if(NZV[i]!=nil) r+=NZV[i]*NZC[i];
00030   }
00031 }
00032 

Generated on Tue Nov 16 15:18:19 2004 for SCIL by doxygen1.2.16