00001 00002 #include "pose.h" 00003 00005 void rep::update(POSE_TimeType t, double rt) { 00006 ovt = (ovt < t) ? t : ovt; 00007 parent->eq->currentPtr->svt = ovt; 00008 #if !CMK_TRACE_DISABLED 00009 if(pose_config.dop){ 00010 ort = (ort < rt) ? rt : ort; 00011 parent->eq->currentPtr->srt = ort; 00012 } 00013 #endif 00014 } 00015 00017 void rep::init(eventMsg *m) { 00018 ovt = m->timestamp; 00019 ort = 0.0; 00020 parent = m->parent; 00021 myStrat = m->str; 00022 myHandle = m->parent->thisIndex; 00023 anti_methods = 0; 00024 prand_seed = myHandle; 00025 prand48_seed[0] = (unsigned short int)myHandle; 00026 prand48_seed[1] = (unsigned short int)myHandle; 00027 prand48_seed[2] = (unsigned short int)myHandle; 00028 } 00029 00031 void rep::registerTimestamp(int idx, eventMsg *m, POSE_TimeType offset) 00032 { 00033 #ifndef SEQUENTIAL_POSE 00034 PVT *localPVT = (PVT *)CkLocalBranch(ThePVT); 00035 CmiAssert(ovt+offset >= localPVT->getGVT()); 00036 #endif 00037 m->Timestamp(ovt+offset); 00038 m->setPriority(ovt+offset-POSE_TimeMax); 00039 //m->evID.setObj(myHandle); 00040 #ifndef SEQUENTIAL_POSE 00041 parent->registerSent(ovt+offset); 00042 #endif 00043 }