Пример #1
0
int minimumFunction(Word* pArguments,
                    Word& rResult,
                    int message,
                    Word& rLocal,
                    Supplier supplier)
{
  int nRetVal = FAILURE;

  if(qp != 0 &&
     pArguments != 0)
  {
    Type* pType = static_cast<Type*>(pArguments[0].addr);

    if(pType != 0)
    {
      rResult = qp->ResultStorage(supplier);

      if(rResult.addr != 0)
      {
        typename Properties::TypeProperties::WrapperType* pResult =
        static_cast<typename Properties::TypeProperties::WrapperType*>
        (rResult.addr);

        if(pResult != 0)
        {
          pResult->SetDefined(false);

          if(pType->IsDefined())
          {
            typename Properties::TypeProperties::PropertiesType minimum =
            Properties::TypeProperties::GetUndefinedValue();
            pType->minimum(minimum);

            if(Properties::TypeProperties::IsUndefinedValue(minimum) == false)
            {
              *pResult = Properties::TypeProperties::GetWrappedValue(minimum);
            }
          }

          nRetVal = 0;
        }
      }
    }
  }

  return nRetVal;
}