![]() |
PandA-2024.02
|
#include "bit_lattice.hpp"#include "Parameter.hpp"#include <string>#include <algorithm>#include <vector>#include "tree_helper.hpp"#include "tree_manager.hpp"#include "tree_node.hpp"#include "tree_reindex.hpp"#include "dbgPrintHelper.hpp"#include "string_manipulation.hpp"#include "utility.hpp"
Go to the source code of this file.
Functions | |
| std::deque< bit_lattice > | create_u_bitstring (size_t lenght) |
| Creates a bitstring containing bits initialized at <U> More... | |
| std::deque< bit_lattice > | create_x_bitstring (size_t lenght) |
| Create a bitstring containing bits initialized at <X> More... | |
| std::deque< bit_lattice > | create_bitstring_from_constant (integer_cst_t value, unsigned long long len, bool signed_value) |
| Creates a bitstring from a constant input. More... | |
| std::string | bitstring_to_string (const std::deque< bit_lattice > &bitstring) |
| Translates a bitstring ( expressed as an std::deque of bit_lattice ) into a string of characters. More... | |
| std::deque< bit_lattice > | string_to_bitstring (const std::string &s) |
| inverse of bitstring_to_string More... | |
| bool | bitstring_constant (const std::deque< bit_lattice > &a) |
| Checks if a bitstring is constant. More... | |
Definition in file bit_lattice.cpp.
| bool bitstring_constant | ( | const std::deque< bit_lattice > & | a | ) |
Checks if a bitstring is constant.
| a | the bitstring to be checked |
Definition at line 656 of file bit_lattice.cpp.
Referenced by Bit_Value::backward(), Bit_Value::backward_transfer(), and BitLatticeManipulator::update_current().

| std::string bitstring_to_string | ( | const std::deque< bit_lattice > & | bitstring | ) |
Translates a bitstring ( expressed as an std::deque of bit_lattice ) into a string of characters.
Definition at line 602 of file bit_lattice.cpp.
References ONE, THROW_ERROR, U, X, and ZERO.
Referenced by Bit_Value::backward(), Bit_Value::backward_chain(), Bit_Value::backward_transfer(), BinaryOpNode::eval(), BitValueIPA::Exec(), Bit_Value::forward(), Bit_Value::forward_transfer(), Bit_Value::initialize(), BitLatticeManipulator::mix(), Bit_Value::print_bitstring_map(), BitLatticeManipulator::sup(), Bit_Value::update_IR(), and VarNode::updateIR().

| std::deque<bit_lattice> create_bitstring_from_constant | ( | integer_cst_t | value_int, |
| unsigned long long | length, | ||
| bool | signed_value | ||
| ) |
Creates a bitstring from a constant input.
| value_int | integer constant |
| length | the length of the bitstring to be generated |
| signed_value | specified if this bitstring can have negative values |
Definition at line 582 of file bit_lattice.cpp.
Referenced by BitLatticeManipulator::constructor_bitstring(), BitValueIPA::Exec(), Bit_Value::forward(), Range::getBitValues(), Bit_Value::initialize(), and BitLatticeManipulator::string_cst_bitstring().

| std::deque<bit_lattice> create_u_bitstring | ( | size_t | lenght | ) |
Creates a bitstring containing bits initialized at <U>
| lenght | the lenght of the bitstring |
Definition at line 572 of file bit_lattice.cpp.
References U.
Referenced by Bit_Value::backward_chain(), Bit_Value::backward_transfer(), BitLatticeManipulator::constructor_bitstring(), BitValueIPA::Exec(), Bit_Value::forward_transfer(), Range::getBitValues(), and Bit_Value::initialize().

| std::deque<bit_lattice> create_x_bitstring | ( | size_t | lenght | ) |
Create a bitstring containing bits initialized at <X>
| lenght | the lenght of the bitstring |
Definition at line 577 of file bit_lattice.cpp.
References X.
Referenced by Bit_Value::backward_chain(), BitValueIPA::Exec(), Bit_Value::forward(), and Bit_Value::initialize().

| std::deque<bit_lattice> string_to_bitstring | ( | const std::string & | s | ) |
inverse of bitstring_to_string
Definition at line 629 of file bit_lattice.cpp.
References ONE, THROW_ERROR, U, X, and ZERO.
Referenced by Bit_Value::backward_chain(), Bit_Value::backward_transfer(), BitLatticeManipulator::constructor_bitstring(), BitValueIPA::Exec(), Bit_Value::forward_transfer(), Bit_Value::initialize(), BitLatticeManipulator::isBetter(), and VarNode::updateIR().

1.8.13