aboutsummaryrefslogtreecommitdiff
path: root/ConversionUtils.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'ConversionUtils.hpp')
-rw-r--r--ConversionUtils.hpp37
1 files changed, 37 insertions, 0 deletions
diff --git a/ConversionUtils.hpp b/ConversionUtils.hpp
index d19131ce..15381338 100644
--- a/ConversionUtils.hpp
+++ b/ConversionUtils.hpp
@@ -1052,6 +1052,43 @@ bool GetOptionalConvolutionDilationParams(const HalOperation& operation,
}
template<typename HalPolicy,
+ typename HalOperation = typename HalPolicy::Operation,
+ typename HalModel = typename HalPolicy::Model>
+bool GetOptionalBool(const HalOperation& operation,
+ uint32_t inputIndex,
+ const HalModel& model,
+ const ConversionData& data)
+{
+ using HalOperand = typename HalPolicy::Operand;
+
+ const HalOperand* operand = GetInputOperand<HalPolicy>(operation, inputIndex, model);
+ if (!operand)
+ {
+ return false;
+ }
+
+ if (!IsBool(*operand))
+ {
+ return false;
+ }
+
+ const void* valueAddress = GetOperandValueReadOnlyAddress<HalPolicy>(*operand, model, data);
+ if (!valueAddress)
+ {
+ return false;
+ }
+
+ if (*(static_cast<const bool*>(valueAddress)))
+ {
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+}
+
+template<typename HalPolicy,
typename HalOperand = typename HalPolicy::Operand,
typename HalModel = typename HalPolicy::Model>
bool GetTensorInt32Values(const HalOperand& operand,