This commit is contained in:
Alex Lin 2015-08-04 09:34:56 -05:00
commit d00923f2cc
3 changed files with 14 additions and 13 deletions

View File

@ -33,11 +33,17 @@ void Trick::MonteCarlo::dispatch_run_to_slave(MonteRun *in_run, MonteSlave *in_s
message_publish(MSG_INFO, "Monte [Master] Dispatching run %d to %s:%d.\n", message_publish(MSG_INFO, "Monte [Master] Dispatching run %d to %s:%d.\n",
in_run->id, in_slave->machine_name.c_str(), in_slave->id) ; in_run->id, in_slave->machine_name.c_str(), in_slave->id) ;
} }
int command = htonl(MonteSlave::PROCESS_RUN); int command = htonl(MonteSlave::PROCESS_RUN);
tc_write(&connection_device, (char *)&command, (int)sizeof(command)); tc_write(&connection_device, (char *)&command, (int)sizeof(command));
int num_bytes = htonl(buffer.length()); int num_bytes = htonl(buffer.length());
tc_write(&connection_device, (char*)&num_bytes, (int)sizeof(num_bytes)); tc_write(&connection_device, (char*)&num_bytes, (int)sizeof(num_bytes));
tc_write(&connection_device, (char*)buffer.c_str(), (int)buffer.length()); tc_write(&connection_device, (char*)buffer.c_str(), (int)buffer.length());
if (verbosity >= INFORMATIONAL) {
message_publish(MSG_INFO, "Parameterization of run %d :\n%s\n", in_run->id, buffer.c_str()) ;
}
tc_disconnect(&connection_device); tc_disconnect(&connection_device);
++in_slave->num_dispatches; ++in_slave->num_dispatches;

View File

@ -42,15 +42,12 @@ std::string Trick::MonteVarCalculated::get_next_value() {
value = buffer; value = buffer;
break; break;
case TRICK_FLOAT: case TRICK_FLOAT:
sprintf(buffer, "%.10g", *(float *)ref2->address); sprintf(buffer, "%.15g", *(float *)ref2->address);
value = buffer; value = buffer;
sprintf(buffer, "trick.unhex_float(0x%lx)", *(long *)ref2->address);
break; break;
case TRICK_DOUBLE: case TRICK_DOUBLE:
sprintf(buffer, "%.10g", *(double *)ref2->address); sprintf(buffer, "%.15g", *(double *)ref2->address);
value = buffer; value = buffer;
sprintf(buffer, "struct.unpack(\"!d\", binascii.unhexlify(\"%016llx\"))[0]",
*(long long *)ref2->address);
break; break;
default: default:
sprintf(buffer, "#Unsupported value type %d", ref2->attr->type) ; sprintf(buffer, "#Unsupported value type %d", ref2->attr->type) ;
@ -58,10 +55,9 @@ std::string Trick::MonteVarCalculated::get_next_value() {
} }
if (unit.empty()) { if (unit.empty()) {
return name + std::string(" = ") + std::string(buffer) + std::string(" # ") + std::string(value); return name + std::string(" = ") + value;
} else { } else {
return name + std::string(" = trick.attach_units(\"") + unit + std::string("\", ") + std::string(buffer) + return name + std::string(" = trick.attach_units(\"") + unit + std::string("\", ") + value + std::string(")");
std::string(") # ") + std::string(value);
} }
} }
return NULL; return NULL;

View File

@ -181,17 +181,16 @@ std::string Trick::MonteVarRandom::get_next_value() {
case TRICK_GSL_GAUSS: case TRICK_GSL_GAUSS:
case TRICK_GSL_FLAT: case TRICK_GSL_FLAT:
default: default:
sprintf(buffer, "%.10g", return_value.d); sprintf(buffer, "%.15g", return_value.d);
value = buffer; value = buffer;
sprintf(buffer, "struct.unpack(\"!d\", binascii.unhexlify(\"%llx\"))[0]", return_value.ll);
break; break;
} }
if (unit.empty()) { if (unit.empty()) {
return name + std::string(" = ") + std::string(buffer) + std::string(" # ") + std::string(value); return name + std::string(" = ") + value ;
} else { } else {
return name + std::string(" = trick.attach_units(\"") + unit + std::string("\", ") + std::string(buffer) + return name + std::string(" = trick.attach_units(\"") + unit + std::string("\", ") + value +
std::string(") # ") + std::string(value); std::string(")") ;
} }
} }