ABC: A System for Sequential Synthesis and Verification
 
Loading...
Searching...
No Matches
kitty_operations.hpp File Reference
#include <algorithm>
#include <cassert>
#include <functional>
#include <iterator>
#include <iostream>
#include "kitty_algorithm.hpp"
#include "kitty_constants.hpp"
#include "kitty_dynamic_tt.hpp"
#include "kitty_static_tt.hpp"
Include dependency graph for kitty_operations.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  kitty
 

Functions

template<typename TT>
TT kitty::unary_not_if (const TT &tt, bool cond)
 
template<typename TT>
TT kitty::unary_not (const TT &tt)
 Inverts all bits in a truth table.
 
template<typename TT>
TT kitty::binary_and (const TT &first, const TT &second)
 Bitwise AND of two truth tables.
 
template<typename TT>
TT kitty::binary_or (const TT &first, const TT &second)
 Bitwise OR of two truth tables.
 
template<typename TT>
void kitty::swap_inplace (TT &tt, uint8_t var_index1, uint8_t var_index2)
 Swaps two variables in a truth table.
 
template<uint32_t NumVars>
void kitty::swap_inplace (static_truth_table< NumVars, true > &tt, uint8_t var_index1, uint8_t var_index2)
 
template<typename TT, typename TTFrom>
void kitty::extend_to_inplace (TT &tt, const TTFrom &from)
 Extends smaller truth table to larger one.
 
template<uint32_t NumVars, typename TTFrom>
static_truth_table< NumVars > kitty::extend_to (const TTFrom &from)
 Extends smaller truth table to larger static one.
 
template<typename TT>
bool kitty::has_var (const TT &tt, uint8_t var_index)
 Checks whether truth table depends on given variable index.
 
template<typename TT>
bool kitty::has_var (const TT &tt, const TT &care, uint8_t var_index)
 Checks whether truth table depends on given variable index.
 
template<typename TT, typename TTFrom>
void kitty::shrink_to_inplace (TT &tt, const TTFrom &from)
 Shrinks larger truth table to smaller one.
 
template<typename TTFrom>
dynamic_truth_table kitty::shrink_to (const TTFrom &from, unsigned num_vars)
 Shrinks larger truth table to smaller dynamic one.
 
template<typename TT>
void kitty::print_hex (const TT &tt, std::ostream &os=std::cout)
 Prints truth table in hexadecimal representation.