void* decSinglePower (void* _0, const void* _1, const void* _2, decContext* ctx) noexcept
{
  decNumber _0num;
  decNumber _1num;
  decNumber _2num;
  decSingleToNumber (_1, &_1num);
  decSingleToNumber (_2, &_2num);
  decNumberPower (&_0num, &_1num, &_2num, ctx);
  return decSingleFromNumber (_0, &_0num, ctx);
}
void* decSingleScaleB (decSingle* _0, const decSingle* _1, const decSingle* _2, decContext* ctx) noexcept
{
  decNumber _0num;
  decNumber _1num;
  decNumber _2num;
  decSingleToNumber (_1, &_1num);
  decSingleToNumber (_2, &_2num);
  decNumberScaleB (&_0num, &_1num, &_2num, ctx);
  return decSingleFromNumber (_0, &_0num, ctx);
}
void* decSingleFMA (decSingle* _0, const decSingle* _1, const decSingle* _2, const decSingle* _3, decContext* ctx) noexcept
{
  decNumber _0num;
  decNumber _1num;
  decNumber _2num;
  decNumber _3num;
  decSingleToNumber (_1, &_1num);
  decSingleToNumber (_2, &_2num);
  decSingleToNumber (_3, &_3num);
  decNumberFMA (&_0num, &_1num, &_2num, &_3num, ctx);
  return decSingleFromNumber (_0, &_0num, ctx);
}
uint32_t decSingleIsNormal (const decSingle* _0) noexcept
{
  decNumber _0num;
  decSingleToNumber (_0, &_0num);
  std::decimal::decimal32::context ctx;
  return decNumberIsNormal (&_0num, (decContext*)&ctx);
}
void* decSingleLogB (decSingle* _0, const decSingle* _1, decContext* ctx) noexcept
{
  decNumber _0num;
  decNumber _1num;
  decSingleToNumber (_1, &_1num);
  decNumberLogB (&_0num, &_1num, ctx);
  return decSingleFromNumber (_0, &_0num, ctx);
}
void* decSingleSquareRoot (void* _0, const void* _1, decContext* ctx) noexcept
{
  decNumber _0num;
  decNumber _1num;
  decSingleToNumber (_1, &_1num);
  decNumberSquareRoot (&_0num, &_1num, ctx);
  return decSingleFromNumber (_0, &_0num, ctx);
}
void* decSingleToIntegralValue (decSingle* _0, const decSingle* _1, decContext* ctx, int32_t rnd) noexcept
{
  decNumber _0num;
  decNumber _1num;
  decSingleToNumber (_1, &_1num);
  enum rounding prev_rnd = ctx->round;
  ctx->round = (enum rounding)rnd;
  decNumberToIntegralValue (&_0num, &_1num, ctx);
  ctx->round = prev_rnd;
  return decSingleFromNumber (_0, &_0num, ctx);
}
QDecNumber::QDecNumber(const QDecSingle& s)
{ decSingleToNumber(s.data(), &m_data); } 
uint32_t decSingleIsInfinite (const decSingle* _0) noexcept
{
  decNumber _0num;
  decSingleToNumber (_0, &_0num);
  return decNumberIsInfinite (&_0num);
}
QDecNumber QDecSingle::toQDecNumber() const
{
  decNumber n;
  return decSingleToNumber(&m_data, &n);
}