Math2mat
|
00001 00020 package m2m.backend.project; 00021 00022 import org.w3c.dom.Document; 00023 import org.w3c.dom.Element; 00024 00025 import m2m.backend.buildingblocks.BuildingBlock.NumType; 00026 import m2m.backend.utils.XMLUtils; 00027 00028 public class OptimisationProperties { 00029 00033 private String optimisationType; 00037 private NumType optimisationDataType; 00041 private int optimisationFrequency; 00045 private String fifoType; 00046 00050 private boolean optimizeFifo; 00054 private int fifoSize; 00055 00056 00060 private boolean fifoComp; 00061 00062 00063 //constructors 00067 public OptimisationProperties() { 00068 optimisationType = ""; 00069 optimisationDataType = NumType.FLOAT32; 00070 optimisationFrequency = 0; 00071 fifoType = "Standard"; 00072 optimizeFifo = true; 00073 fifoSize = 64; 00074 fifoComp = false; 00075 } 00076 00088 public OptimisationProperties(String type, NumType dataSize, int frequency, String fType,boolean optFifo,int fifoSize,boolean fifoComp) { 00089 optimisationType = type; 00090 optimisationDataType = dataSize; 00091 optimisationFrequency = frequency; 00092 fifoType = fType; 00093 optimizeFifo = optFifo; 00094 this.fifoSize = fifoSize; 00095 this.fifoComp = fifoComp; 00096 } 00097 00098 public String getXmlTagName() { 00099 return "Optimisation"; 00100 } 00101 00102 public boolean fromXml(Element el) { 00103 this.setOptimisationType(XMLUtils.getTextValue(el,"Type","")); 00104 this.setOptimisationDataType(NumType.getNum(XMLUtils.getTextValue(el,"DataType", "FLOAT32"))); 00105 this.setOptimisationFrequency(XMLUtils.getIntValue(el,"Frequency",0)); 00106 this.setFifoType(XMLUtils.getTextValue(el,"FifoType","Standard")); 00107 this.setFifoSize(XMLUtils.getIntValue(el, "FifoSize",64)); 00108 this.setOptimizeFifo(XMLUtils.getBoolValue(el,"OptFifo",true)); 00109 this.setFifoCompensation(XMLUtils.getBoolValue(el,"FifoCompensation",true)); 00110 return true; 00111 } 00112 00113 public Element toXml(Document dom) { 00114 Element el; 00115 el=dom.createElement(getXmlTagName()); 00116 el.appendChild(XMLUtils.createTextElement(dom,"Type",this.getOptimisationtype())); 00117 el.appendChild(XMLUtils.createTextElement(dom,"DataType",optimisationDataType.name())); 00118 el.appendChild(XMLUtils.createIntElement(dom,"Frequency",this.getOptimisationfrequency())); 00119 el.appendChild(XMLUtils.createTextElement(dom,"FifoType",this.getFifoType())); 00120 el.appendChild(XMLUtils.createBoolElement(dom,"OptFifo",this.getOptimizeFifo())); 00121 el.appendChild(XMLUtils.createIntElement(dom,"FifoSize", this.getFifoSize())); 00122 el.appendChild(XMLUtils.createBoolElement(dom,"FifoCompensation",this.getFifoCompensation())); 00123 return el; 00124 } 00125 00126 00127 //Getters 00133 public String getOptimisationtype() { 00134 if (optimisationType != null) 00135 return optimisationType; 00136 else 00137 return new String(""); 00138 } 00139 00144 public NumType getOptimisationDataType() { 00145 return optimisationDataType; 00146 } 00147 00152 public int getOptimisationfrequency() { 00153 return optimisationFrequency; 00154 } 00155 00160 public String getFifoType() { 00161 return fifoType; 00162 } 00163 00164 public boolean getOptimizeFifo() { 00165 return optimizeFifo; 00166 } 00167 00168 public boolean getFifoCompensation() { 00169 return fifoComp; 00170 } 00171 00172 public int getFifoSize() { 00173 return fifoSize; 00174 } 00175 00176 public void setFifoSize(int size) { 00177 fifoSize = size; 00178 } 00179 00180 public void setOptimizeFifo(boolean optimize) { 00181 optimizeFifo = optimize; 00182 } 00183 00184 public void setFifoCompensation(boolean compensate) { 00185 fifoComp = compensate; 00186 } 00187 00188 //Setters 00194 public void setOptimisationType(String type) { 00195 optimisationType = type; 00196 } 00197 00203 public void setOptimisationDataType(NumType dataType) { 00204 optimisationDataType = dataType; 00205 } 00206 00212 public void setOptimisationFrequency(int frequency) { 00213 optimisationFrequency = frequency; 00214 } 00215 00221 public void setFifoType(String fType) { 00222 fifoType = fType; 00223 } 00224 }