![]() |
P4C
The P4 Compiler
|
XOR hashing algorithm implemented on the hashing matrix. More...
Public Member Functions | |
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 |
Friends | |
class | HashExpr |
Additional Inherited Members | |
![]() | |
static HashExpr * | create (gress_t, int stage, const value_t &) |
![]() | |
bfn_hash_algorithm_t | hash_algorithm = {} |
int | lineno |
![]() | |
HashExpr (int l) | |
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.
|
overridevirtual |
Implements HashExpr.
|
overridevirtual |
Implements HashExpr.
|
overridevirtual |
Implements HashExpr.
|
overridevirtual |
Implements HashExpr.
|
overridevirtual |
Implements HashExpr.
|
overridevirtual |
Implements HashExpr.
|
overridevirtual |
Implements HashExpr.