NormalRandomVariable:: operator double( void ) const throw() { assert( initialized_ ); return mean_ + std_dev_ * sqrt( -2.0 * log(uniform_random_0e_1i()) ) * cos( 2.0 * M_PI * uniform_random_0e_1i()); }
// ---------------------------------------------------------------------- bool RandomDropTransmissionModel:: drop_message( TransmissionModel::MessageInfo&) throw() { return uniform_random_0e_1i() <= probability_; }
// ---------------------------------------------------------------------- bool LinkProbabilityCommunicationModel:: can_communicate_uni( const Node& u, const Node& v ) const throw() { LinkProbabilityMap::const_iterator it = probabilities_.find( u.label() ); if(u==v) return true; if( it == probabilities_.end() ) return false; else { std::map<std::string, double>::const_iterator it2 = it->second.find(v.label()); if( it2 == it->second.end() ) return false; else return (it2->second >= uniform_random_0e_1i()); } }