Convert float values to %.6f when writing param_dsm.dat

This commit is contained in:
Karsten Heiken
2011-12-16 17:55:13 +01:00
parent 63b3237488
commit e0d57ba47a

View File

@@ -44,6 +44,17 @@ class Scatt extends Program_runner {
} }
/** /**
* Mapping function to generate correct float values
*/
private function formatNumbers($data) {
if($data['type'] == 'float')
$data['value'] = sprintf('%.6f', $data['value']);
return $data;
}
/**
* Generate dafault.calc and param_dsm.dat files.
* *
* @param unknown_type $experimentId * @param unknown_type $experimentId
*/ */
@@ -59,7 +70,8 @@ class Scatt extends Program_runner {
@copy(FCPATH . 'uploads/' . $experiment['project_id'] . '/defaultmodel.obj', $path . 'default.obj'); @copy(FCPATH . 'uploads/' . $experiment['project_id'] . '/defaultmodel.obj', $path . 'default.obj');
} }
$data['parameters'] = $this->CI->experiment->getParameters($experimentId); // get the parameters for this experiment and convert the simple float values to %.6f
$data['parameters'] = array_map(array($this, 'formatNumbers'), $this->CI->experiment->getParameters($experimentId));
@fwrite($handler, $this->CI->parser->parse_string($this->program['config_template'], $data, true)); @fwrite($handler, $this->CI->parser->parse_string($this->program['config_template'], $data, true));
@fclose($handler); @fclose($handler);