|
|
| XorHash (int lineno, int bit_width_) |
| |
| void | build_algorithm () override |
| |
| bool | check_ixbar (InputXbar *ix, InputXbar::HashTable hash_table) override |
| |
| void | gen_ixbar_inputs (std::vector< ixbar_input_t > &inputs, InputXbar *ix, InputXbar::HashTable hash_table) override |
| |
| void | get_sources (int, std::vector< Phv::Ref > &rv) const override |
| |
| int | input_size () override |
| |
|
XorHash & | operator= (XorHash &&)=delete |
| |
| bool | operator== (const HashExpr &a_) const override |
| |
| int | width () override |
| |
| virtual void | dbprint (std::ostream &out) const |
| |
|
void | find_input (Phv::Ref what, std::vector< ixbar_input_t > &inputs, InputXbar *ix, InputXbar::HashTable hash_table) |
| |
| virtual void | gen_data (bitvec &data, int bit, InputXbar *ix, InputXbar::HashTable hash_table) |
| |
| void | gen_ixbar_init (ixbar_init_t *ixbar_init, std::vector< ixbar_input_t > &inputs, std::vector< hash_matrix_output_t > &outputs, int logical_hash_bit, InputXbar *ix, InputXbar::HashTable hash_table) |
| |
|
virtual Phv::Ref * | get_ghost_slice () |
| |
|
std::vector< Phv::Ref > | get_sources (int bit) const |
| |
|
virtual bool | match_phvref (const Phv::Ref &ref) |
| |
|
bool | operator!= (const HashExpr &a) const |
| |
|
void | print () const |
| |
XOR hashing algorithm implemented on the hashing matrix.
This expression implements XOR over the hasing matrix. The input message is handled as a big integer number - the highest bit is the begining, the zero-th bit is the end. The message is split from the begining into blocks of length bit_width and these blocks are bitwise XORed together.