Lines Matching refs:compute

127   static constexpr RT_API_ATTRS T compute(T x) { return std::abs(x); }
136 static constexpr RT_API_ATTRS T compute(T x, int *e) {
144 static constexpr RT_API_ATTRS int compute(T x) { return std::ilogb(x); }
148 static constexpr RT_API_ATTRS bool compute(T x) { return std::isinf(x); }
152 static constexpr RT_API_ATTRS bool compute(T x) { return std::isnan(x); }
156 template <typename ET> static constexpr RT_API_ATTRS T compute(T x, ET e) {
162 static constexpr RT_API_ATTRS T compute() {
169 static CppTypeFor<TypeCategory::Real, 16> compute() {
176 static constexpr RT_API_ATTRS T compute() { return MinValue<PREC, T>::get(); }
180 static constexpr RT_API_ATTRS T compute() {
186 static constexpr RT_API_ATTRS T compute(T x) { return std::sqrt(x); }
192 if (ISINFTy<ARG>::compute(x) || ISNANTy<ARG>::compute(x)) {
193 return MAXTy<RESULT>::compute(); // +/-Inf, NaN -> HUGE(0)
197 return ILOGBTy<ARG>::compute(x) + 1;
203 if (ISNANTy<T>::compute(x)) {
205 } else if (ISINFTy<T>::compute(x)) {
206 return QNANTy<T>::compute(); // +/-Inf -> NaN
211 return FREXPTy<T>::compute(x, &ignoredExp);
217 if (ISNANTy<T>::compute(x)) {
219 } else if (ISINFTy<T>::compute(x)) {
220 return QNANTy<T>::compute(); // +/-Inf -> NaN
224 int expo{ILOGBTy<T>::compute(x) + 1};
230 return LDEXPTy<T>::compute(x, ip); // x*2**(p-e)
242 if (ISNANTy<T>::compute(a) || ISNANTy<T>::compute(p) ||
243 ISINFTy<T>::compute(a)) {
244 return QNANTy<T>::compute();
245 } else if (IS_MODULO && ISINFTy<T>::compute(p)) {
250 return QNANTy<T>::compute();
252 T aAbs{ABSTy<T>::compute(a)};
253 T pAbs{ABSTy<T>::compute(p)};
333 if (ISNANTy<T>::compute(x)) {
335 } else if (ISINFTy<T>::compute(x)) {
336 return QNANTy<T>::compute(); // +/-Inf -> NaN
340 return LDEXPTy<T>::compute(
341 ABSTy<T>::compute(x), PREC - (ILOGBTy<T>::compute(x) + 1));
347 T tiny{MINTy<PREC, T>::compute()};
348 if (ISNANTy<T>::compute(x)) {
350 } else if (ISINFTy<T>::compute(x)) {
351 return QNANTy<T>::compute(); // +/-Inf -> NaN
355 T result{LDEXPTy<T>::compute(
356 static_cast<T>(1.0), ILOGBTy<T>::compute(x) + 1 - PREC)}; // 2**(e-p)