1 /* 2 * Copyright 2007-2008, Christof Lutteroth, lutteroth@cs.auckland.ac.nz 3 * Copyright 2007-2008, James Kim, jkim202@ec.auckland.ac.nz 4 * Distributed under the terms of the MIT License. 5 */ 6 7 #include "LinearSpec.h" 8 #include "Summand.h" 9 #include "Variable.h" 10 11 12 Summand::Summand(Summand* summand) 13 : 14 fCoeff(summand->Coeff()), 15 fVar(summand->Var()) 16 { 17 } 18 19 20 Summand::Summand(double coeff, Variable* var) 21 : 22 fCoeff(coeff), 23 fVar(var) 24 { 25 } 26 27 28 Summand::~Summand() 29 { 30 31 } 32 33 34 /** 35 * Gets the summmand's coefficient. 36 * 37 * @return the summand's coefficient 38 */ 39 double 40 Summand::Coeff() 41 { 42 return fCoeff; 43 } 44 45 46 /** 47 * Sets the summmand's coefficient. 48 * 49 * @param coeff coefficient 50 */ 51 void 52 Summand::SetCoeff(double coeff) 53 { 54 fCoeff = coeff; 55 } 56 57 58 /** 59 * Gets the summand's variable. 60 * 61 * @return the summand's variable 62 */ 63 Variable* 64 Summand::Var() 65 { 66 return fVar; 67 } 68 69 70 /** 71 * Sets the summand's variable. 72 * 73 * @param var variable 74 */ 75 void 76 Summand::SetVar(Variable* var) 77 { 78 fVar = var; 79 } 80 81 82 int32 83 Summand::VariableIndex() 84 { 85 return fVar->Index(); 86 } 87