📄 message.cc.svn-base
字号:
#include <Message.h>#include <Generic.h>//*************** Message Implementation *******************//Message::Message(){}Message::Message(const RandomVariable & a , const RandomVariable & b): index(a.get_index() ), values ( static_cast < const DiscreteRandomVariable & > (b).get_number_values(), 0.0 ){}Message::Message(const unsigned int a, const RandomVariable & b): index(a ), values ( static_cast < const DiscreteRandomVariable & > (b).get_number_values(), 0.0 ){}void Message::reduce(){ fast_double_reduce_over (values.begin(), values.end() );}#ifndef NDEBUGvoid Message::display(){ std::cout << "Displaying Message (index is " << index << " ): "; for ( std::vector <double>::iterator it = values.begin(); it != values.end(); it++) { std::cout << *it << ", "; } std::cout << std::endl;}#endif//*************** End of Message Implementation *******************////*************** ExtractFromMessage Implementation *****************//ExtractFromMessage::ExtractFromMessage( const unsigned int b, const bool a): forbidden(a), index_of_extraction(b), forbidden_index(0){}ExtractFromMessage::ExtractFromMessage(const RandomVariable & rv_a): forbidden(false), index_of_extraction( static_cast < const DiscreteRandomVariable & > (rv_a).last_sampled_value), forbidden_index(0){}ExtractFromMessage::ExtractFromMessage(const RandomVariable & rv_a, const RandomVariable & rv_b): forbidden(true), index_of_extraction( static_cast < const DiscreteRandomVariable & > (rv_a).last_sampled_value), forbidden_index(rv_b.get_index()){}ExtractFromMessage::ExtractFromMessage(const RandomVariable & rv_a, const unsigned int b): forbidden(true), index_of_extraction( static_cast < const DiscreteRandomVariable & > (rv_a).last_sampled_value), forbidden_index(b){}double ExtractFromMessage::operator () (const Message & x) const{ //cout << "Processed msg: " << x.get_index() << " : " << x.get_value_by_index (index_of_extraction) << endl; if ( (forbidden == true) && (x.index == forbidden_index) ) { return 1.0; } else { return x.values[index_of_extraction]; }}//*************** End of ExtractFromMessage Implementation *****************//
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -