17 return operation && *operation->
getType() == *getType();
26std::unique_ptr<rvsdg::Operation>
29 return std::make_unique<IsFPClassOperation>(*
this);
35 if (!is<const FloatingPointType>(type) && !isVectorOf<const FloatingPointType>(*type))
37 throw std::runtime_error(
"IsFPClassOperation::checkType: Expected floating point type.");
41std::shared_ptr<const rvsdg::Type>
44 if (is<const FloatingPointType>(type))
47 if (
const auto fixedVectorType = std::dynamic_pointer_cast<const FixedVectorType>(type))
50 const auto scalableVectorType = std::dynamic_pointer_cast<const ScalableVectorType>(type);
static std::shared_ptr< const FixedVectorType > Create(std::shared_ptr< const rvsdg::Type > type, size_t size)
~IsFPClassOperation() noexcept override
std::unique_ptr< Operation > copy() const override
static void checkType(const std::shared_ptr< const rvsdg::Type > &type)
static std::shared_ptr< const rvsdg::Type > createResultType(const std::shared_ptr< const rvsdg::Type > &type)
std::string debug_string() const override
std::shared_ptr< const rvsdg::Type > getType() const noexcept
static std::shared_ptr< const ScalableVectorType > Create(std::shared_ptr< const rvsdg::Type > type, size_t size)
static std::shared_ptr< const BitType > Create(std::size_t nbits)
Creates bit type of specified width.
Global memory state passed between functions.
static std::string strfmt(Args... args)