ABC: A System for Sequential Synthesis and Verification
 
Loading...
Searching...
No Matches
kitty::static_truth_table< NumVars, true > Struct Template Reference

#include <kitty_static_tt.hpp>

Public Member Functions

static_truth_table< NumVars > construct () const
 
uint32_t num_vars () const noexcept
 
uint32_t num_blocks () const noexcept
 
uint32_t num_bits () const noexcept
 
uint64_t * begin () noexcept
 Begin iterator to bits.
 
uint64_t * end () noexcept
 End iterator to bits.
 
const uint64_t * begin () const noexcept
 Begin iterator to bits.
 
const uint64_t * end () const noexcept
 End iterator to bits.
 
uint64_t * rbegin () noexcept
 Reverse begin iterator to bits.
 
uint64_t * rend () noexcept
 Reverse end iterator to bits.
 
const uint64_t * cbegin () const noexcept
 Constant begin iterator to bits.
 
const uint64_t * cend () const noexcept
 Constant end iterator to bits.
 
const uint64_t * crbegin () const noexcept
 Constant reverse begin iterator to bits.
 
const uint64_t * crend () const noexcept
 Constant everse end iterator to bits.
 
template<class TT>
static_truth_table< NumVars > & operator= (const TT &other)
 Assign other truth table if number of variables match.
 
void mask_bits () noexcept
 

Detailed Description

template<uint32_t NumVars>
struct kitty::static_truth_table< NumVars, true >

Truth table (for up to 6 variables) in which number of variables is known at compile time.

Definition at line 21 of file kitty_static_tt.hpp.

Member Function Documentation

◆ begin() [1/2]

template<uint32_t NumVars>
const uint64_t * kitty::static_truth_table< NumVars, true >::begin ( ) const
inlinenoexcept

Begin iterator to bits.

Definition at line 58 of file kitty_static_tt.hpp.

◆ begin() [2/2]

template<uint32_t NumVars>
uint64_t * kitty::static_truth_table< NumVars, true >::begin ( )
inlinenoexcept

Begin iterator to bits.

Definition at line 50 of file kitty_static_tt.hpp.

50{ return &_bits; }
Here is the caller graph for this function:

◆ cbegin()

template<uint32_t NumVars>
const uint64_t * kitty::static_truth_table< NumVars, true >::cbegin ( ) const
inlinenoexcept

Constant begin iterator to bits.

Definition at line 74 of file kitty_static_tt.hpp.

74{ return &_bits; }

◆ cend()

template<uint32_t NumVars>
const uint64_t * kitty::static_truth_table< NumVars, true >::cend ( ) const
inlinenoexcept

Constant end iterator to bits.

Definition at line 78 of file kitty_static_tt.hpp.

78{ return ( &_bits ) + 1; }

◆ construct()

template<uint32_t NumVars>
static_truth_table< NumVars > kitty::static_truth_table< NumVars, true >::construct ( ) const
inline

Constructs a new static truth table instance with the same number of variables.

Definition at line 31 of file kitty_static_tt.hpp.

32 {
34 }

◆ crbegin()

template<uint32_t NumVars>
const uint64_t * kitty::static_truth_table< NumVars, true >::crbegin ( ) const
inlinenoexcept

Constant reverse begin iterator to bits.

Definition at line 82 of file kitty_static_tt.hpp.

82{ return &_bits; }

◆ crend()

template<uint32_t NumVars>
const uint64_t * kitty::static_truth_table< NumVars, true >::crend ( ) const
inlinenoexcept

Constant everse end iterator to bits.

Definition at line 86 of file kitty_static_tt.hpp.

86{ return ( &_bits ) + 1; }

◆ end() [1/2]

template<uint32_t NumVars>
const uint64_t * kitty::static_truth_table< NumVars, true >::end ( ) const
inlinenoexcept

End iterator to bits.

Definition at line 62 of file kitty_static_tt.hpp.

62{ return ( &_bits ) + 1; }

◆ end() [2/2]

template<uint32_t NumVars>
uint64_t * kitty::static_truth_table< NumVars, true >::end ( )
inlinenoexcept

End iterator to bits.

Definition at line 54 of file kitty_static_tt.hpp.

54{ return ( &_bits ) + 1; }

◆ mask_bits()

template<uint32_t NumVars>
void kitty::static_truth_table< NumVars, true >::mask_bits ( )
inlinenoexcept

Masks the number of valid truth table bits.

If the truth table has less than 6 variables, it may not use all the bits. This operation makes sure to zero out all non-valid bits.

Definition at line 113 of file kitty_static_tt.hpp.

◆ num_bits()

template<uint32_t NumVars>
uint32_t kitty::static_truth_table< NumVars, true >::num_bits ( ) const
inlinenoexcept

Returns number of bits.

Definition at line 46 of file kitty_static_tt.hpp.

46{ return NumBits; }

◆ num_blocks()

template<uint32_t NumVars>
uint32_t kitty::static_truth_table< NumVars, true >::num_blocks ( ) const
inlinenoexcept

Returns number of blocks.

Definition at line 42 of file kitty_static_tt.hpp.

42{ return 1u; }

◆ num_vars()

template<uint32_t NumVars>
uint32_t kitty::static_truth_table< NumVars, true >::num_vars ( ) const
inlinenoexcept

Returns number of variables.

Definition at line 38 of file kitty_static_tt.hpp.

38{ return NumVars; }
Here is the caller graph for this function:

◆ operator=()

template<uint32_t NumVars>
template<class TT>
static_truth_table< NumVars > & kitty::static_truth_table< NumVars, true >::operator= ( const TT & other)
inline

Assign other truth table if number of variables match.

This replaces the current truth table with another truth table, if other has the same number of variables. Otherwise, the truth table is not changed.

Parameters
otherOther truth table

Definition at line 97 of file kitty_static_tt.hpp.

98 {
99 if ( other.num_vars() == num_vars() )
100 {
101 std::copy( other.begin(), other.end(), begin() );
102 }
103
104 return *this;
105 }
uint64_t * begin() noexcept
Begin iterator to bits.
Here is the call graph for this function:

◆ rbegin()

template<uint32_t NumVars>
uint64_t * kitty::static_truth_table< NumVars, true >::rbegin ( )
inlinenoexcept

Reverse begin iterator to bits.

Definition at line 66 of file kitty_static_tt.hpp.

66{ return &_bits; }

◆ rend()

template<uint32_t NumVars>
uint64_t * kitty::static_truth_table< NumVars, true >::rend ( )
inlinenoexcept

Reverse end iterator to bits.

Definition at line 70 of file kitty_static_tt.hpp.

70{ return ( &_bits ) + 1; }

The documentation for this struct was generated from the following file: