HAL
hal::SMT::ConstantPropagation Namespace Reference

Functions

BooleanFunction And (const std::vector< BooleanFunction::Value > &p0, const std::vector< BooleanFunction::Value > &p1)
 
BooleanFunction Or (const std::vector< BooleanFunction::Value > &p0, const std::vector< BooleanFunction::Value > &p1)
 
BooleanFunction Not (const std::vector< BooleanFunction::Value > &p)
 
BooleanFunction Xor (const std::vector< BooleanFunction::Value > &p0, const std::vector< BooleanFunction::Value > &p1)
 
BooleanFunction Add (const std::vector< BooleanFunction::Value > &p0, const std::vector< BooleanFunction::Value > &p1)
 
BooleanFunction Sub (const std::vector< BooleanFunction::Value > &p0, const std::vector< BooleanFunction::Value > &p1)
 
BooleanFunction Mul (const std::vector< BooleanFunction::Value > &p0, const std::vector< BooleanFunction::Value > &p1)
 
BooleanFunction Sle (const std::vector< BooleanFunction::Value > &p0, const std::vector< BooleanFunction::Value > &p1)
 
BooleanFunction Slt (const std::vector< BooleanFunction::Value > &p0, const std::vector< BooleanFunction::Value > &p1)
 
BooleanFunction Ule (const std::vector< BooleanFunction::Value > &p0, const std::vector< BooleanFunction::Value > &p1)
 
BooleanFunction Ult (const std::vector< BooleanFunction::Value > &p0, const std::vector< BooleanFunction::Value > &p1)
 
BooleanFunction Ite (const std::vector< BooleanFunction::Value > &p0, const std::vector< BooleanFunction::Value > &p1, const std::vector< BooleanFunction::Value > &p2)
 

Function Documentation

◆ Add()

BooleanFunction hal::SMT::ConstantPropagation::Add ( const std::vector< BooleanFunction::Value > &  p0,
const std::vector< BooleanFunction::Value > &  p1 
)

Helper function to simplify a constant ADD operation.

Parameters
[in]p0- Boolean function parameter 0.
[in]p1- Boolean function parameter 1.
Returns
Boolean function with a simplified constant value.

Definition at line 133 of file symbolic_execution.cpp.

References hal::carry, hal::BooleanFunction::Const(), and hal::BooleanFunction::to_u64().

◆ And()

BooleanFunction hal::SMT::ConstantPropagation::And ( const std::vector< BooleanFunction::Value > &  p0,
const std::vector< BooleanFunction::Value > &  p1 
)

Helper function to simplify a constant AND operation.

Parameters
[in]p0- Boolean function parameter 0.
[in]p1- Boolean function parameter 1.
Returns
Boolean function with a simplified constant value.

Definition at line 18 of file symbolic_execution.cpp.

References hal::BooleanFunction::Const().

Referenced by hal::Simplification::abc_simplification().

◆ Ite()

BooleanFunction hal::SMT::ConstantPropagation::Ite ( const std::vector< BooleanFunction::Value > &  p0,
const std::vector< BooleanFunction::Value > &  p1,
const std::vector< BooleanFunction::Value > &  p2 
)

Helper function to simplify a constant ITE operation.

Parameters
[in]p0- Boolean function parameter 0.
[in]p1- Boolean function parameter 1.
[in]p2- Boolean function parameter 2.
Returns
Boolean function with a simplified constant value.

Definition at line 382 of file symbolic_execution.cpp.

References hal::BooleanFunction::Const().

◆ Mul()

BooleanFunction hal::SMT::ConstantPropagation::Mul ( const std::vector< BooleanFunction::Value > &  p0,
const std::vector< BooleanFunction::Value > &  p1 
)

Helper function to simplify a constant MUL operation.

Parameters
[in]p0- Boolean function parameter 0.
[in]p1- Boolean function parameter 1.
Returns
Boolean function with a simplified constant value.

Definition at line 215 of file symbolic_execution.cpp.

References hal::carry, and hal::BooleanFunction::Const().

◆ Not()

BooleanFunction hal::SMT::ConstantPropagation::Not ( const std::vector< BooleanFunction::Value > &  p)

Helper function to simplify a constant NOT operation.

Parameters
[in]p- Boolean function parameter.
Returns
Boolean function with a simplified constant value.

Definition at line 75 of file symbolic_execution.cpp.

References hal::BooleanFunction::Const().

Referenced by hal::Simplification::abc_simplification().

◆ Or()

BooleanFunction hal::SMT::ConstantPropagation::Or ( const std::vector< BooleanFunction::Value > &  p0,
const std::vector< BooleanFunction::Value > &  p1 
)

Helper function to simplify a constant OR operation.

Parameters
[in]p0- Boolean function parameter 0.
[in]p1- Boolean function parameter 1.
Returns
Boolean function with a simplified constant value.

Definition at line 47 of file symbolic_execution.cpp.

References hal::BooleanFunction::Const().

Referenced by hal::Simplification::abc_simplification().

◆ Sle()

BooleanFunction hal::SMT::ConstantPropagation::Sle ( const std::vector< BooleanFunction::Value > &  p0,
const std::vector< BooleanFunction::Value > &  p1 
)

Helper function to simplify a constant SLE operation.

Parameters
[in]p0- Boolean function parameter 0.
[in]p1- Boolean function parameter 1.
Returns
Boolean function with a simplified constant value.

Definition at line 245 of file symbolic_execution.cpp.

References hal::carry, and hal::BooleanFunction::Const().

◆ Slt()

BooleanFunction hal::SMT::ConstantPropagation::Slt ( const std::vector< BooleanFunction::Value > &  p0,
const std::vector< BooleanFunction::Value > &  p1 
)

Helper function to simplify a constant SLT operation.

Parameters
[in]p0- Boolean function parameter 0.
[in]p1- Boolean function parameter 1.
Returns
Boolean function with a simplified constant value.

Definition at line 285 of file symbolic_execution.cpp.

References hal::carry, and hal::BooleanFunction::Const().

◆ Sub()

BooleanFunction hal::SMT::ConstantPropagation::Sub ( const std::vector< BooleanFunction::Value > &  p0,
const std::vector< BooleanFunction::Value > &  p1 
)

Helper function to simplify a constant SUB operation.

Parameters
[in]p0- Boolean function parameter 0.
[in]p1- Boolean function parameter 1.
Returns
Boolean function with a simplified constant value.

Definition at line 174 of file symbolic_execution.cpp.

References hal::carry, hal::BooleanFunction::Const(), and hal::BooleanFunction::to_u64().

◆ Ule()

BooleanFunction hal::SMT::ConstantPropagation::Ule ( const std::vector< BooleanFunction::Value > &  p0,
const std::vector< BooleanFunction::Value > &  p1 
)

Helper function to simplify a constant ULE operation.

Parameters
[in]p0- Boolean function parameter 0.
[in]p1- Boolean function parameter 1.
Returns
Boolean function with a simplified constant value.

Definition at line 323 of file symbolic_execution.cpp.

References hal::BooleanFunction::Const().

◆ Ult()

BooleanFunction hal::SMT::ConstantPropagation::Ult ( const std::vector< BooleanFunction::Value > &  p0,
const std::vector< BooleanFunction::Value > &  p1 
)

Helper function to simplify a constant ULT operation.

Parameters
[in]p0- Boolean function parameter 0.
[in]p1- Boolean function parameter 1.
Returns
Boolean function with a simplified constant value.

Definition at line 352 of file symbolic_execution.cpp.

References hal::BooleanFunction::Const().

◆ Xor()

BooleanFunction hal::SMT::ConstantPropagation::Xor ( const std::vector< BooleanFunction::Value > &  p0,
const std::vector< BooleanFunction::Value > &  p1 
)

Helper function to simplify a constant XOR operation.

Parameters
[in]p0- Boolean function parameter 0.
[in]p1- Boolean function parameter 1.
Returns
Boolean function with a simplified constant value.

Definition at line 104 of file symbolic_execution.cpp.

References hal::BooleanFunction::Const().

Referenced by hal::Simplification::abc_simplification().