1#ifndef SXEVAL_OPERATIONS_LOGICALXOR_HPP
2#define SXEVAL_OPERATIONS_LOGICALXOR_HPP
16 static constexpr const char*
KEY =
"xor";
40 this->_result =
static_cast<T
>(1);
43 while (verif && (i + 1) < this->_args.size()) {
45 this->_args[i + 1].get());
49 this->_result =
static_cast<T
>(1);
52 this->_result =
static_cast<T
>(0);
The AOperation class is an abstract base class for operations in the SXEval library.
Definition AOperation.hpp:22
The IInstruction class is an interface for any instructions.
Definition IInstruction.hpp:21
Definition LogicalXor.hpp:14
static constexpr const int ARITY_MIN
Definition LogicalXor.hpp:17
LogicalXor(const std::vector< IInstruction< T > * > &args)
Definition LogicalXor.hpp:20
static constexpr const char * KEY
Definition LogicalXor.hpp:16
std::string toString() const override
String representation of the instruction.
Definition LogicalXor.hpp:25
void execute() override
Execute the operation.
Definition LogicalXor.hpp:39
static constexpr const int ARITY_MAX
Definition LogicalXor.hpp:18
Definition AOperation.hpp:8
bool LogicalXor(const T &a, const T &b)
Perform a logical xor operation on types T.
Definition utils.hpp:184
std::enable_if< std::is_unsigned< T >::value, T >::type Absolute(const T &a)
Perform an absolute value operation on types T.
Definition utils.hpp:262