Lines Matching refs:funcRef
114 FunctionRef<Type<TypeCategory::Integer, KIND>> &&funcRef) { in LBOUND() argument
116 ActualArguments &args{funcRef.arguments()}; in LBOUND()
120 if (funcRef.Rank() == 0) { in LBOUND()
127 return MakeInvalidIntrinsic<T>(std::move(funcRef)); in LBOUND()
133 return Expr<T>{std::move(funcRef)}; in LBOUND()
163 return Expr<T>{std::move(funcRef)}; in LBOUND()
168 FunctionRef<Type<TypeCategory::Integer, KIND>> &&funcRef) { in UBOUND() argument
170 ActualArguments &args{funcRef.arguments()}; in UBOUND()
174 if (funcRef.Rank() == 0) { in UBOUND()
181 return MakeInvalidIntrinsic<T>(std::move(funcRef)); in UBOUND()
187 return Expr<T>{std::move(funcRef)}; in UBOUND()
200 return MakeInvalidIntrinsic<T>(std::move(funcRef)); in UBOUND()
236 return Expr<T>{std::move(funcRef)}; in UBOUND()
490 FunctionRef<Type<TypeCategory::Integer, KIND>> &&funcRef) { in FoldIntrinsicFunction() argument
493 ActualArguments &args{funcRef.arguments()}; in FoldIntrinsicFunction()
494 auto *intrinsic{std::get_if<SpecificIntrinsic>(&funcRef.proc().u)}; in FoldIntrinsicFunction()
498 return FoldElementalIntrinsic<T, T>(context, std::move(funcRef), in FoldIntrinsicFunction()
518 return FoldElementalIntrinsic<T, TR>(context, std::move(funcRef), in FoldIntrinsicFunction()
531 return FoldCount<T>(context, std::move(funcRef)); in FoldIntrinsicFunction()
554 context, std::move(funcRef), &Scalar<T>::DIM); in FoldIntrinsicFunction()
560 return FoldElementalIntrinsic<T, T, T, Int4>(context, std::move(funcRef), in FoldIntrinsicFunction()
569 [&funcRef, &context](const auto &x) -> Expr<T> { in FoldIntrinsicFunction()
571 return FoldElementalIntrinsic<T, TR>(context, std::move(funcRef), in FoldIntrinsicFunction()
579 return FoldLocation<WhichLocation::Findloc, T>(context, std::move(funcRef)); in FoldIntrinsicFunction()
593 [&funcRef, &context](const auto &str) -> Expr<T> { in FoldIntrinsicFunction()
596 std::move(funcRef), in FoldIntrinsicFunction()
615 context, std::move(funcRef), ScalarFunc<T, T, T>(fptr)); in FoldIntrinsicFunction()
618 context, std::move(funcRef), &Scalar<T>::IAND, Scalar<T>{}.NOT()); in FoldIntrinsicFunction()
621 context, std::move(funcRef), &Scalar<T>::IOR, Scalar<T>{}); in FoldIntrinsicFunction()
632 return FoldElementalIntrinsic<T, T, Int4>(context, std::move(funcRef), in FoldIntrinsicFunction()
647 return FoldElementalIntrinsic<T, T, Int4, Int4>(context, std::move(funcRef), in FoldIntrinsicFunction()
675 std::move(funcRef), in FoldIntrinsicFunction()
689 std::move(funcRef), in FoldIntrinsicFunction()
728 context, std::move(funcRef), &Scalar<T>::IEOR, Scalar<T>{}); in FoldIntrinsicFunction()
730 return FoldElementalIntrinsic<T, T, Int4>(context, std::move(funcRef), in FoldIntrinsicFunction()
748 std::move(funcRef), in FoldIntrinsicFunction()
758 return FoldElementalIntrinsic<T, T, Int4>(context, std::move(funcRef), in FoldIntrinsicFunction()
766 return LBOUND(context, std::move(funcRef)); in FoldIntrinsicFunction()
771 [&funcRef, &context, &name](const auto &n) -> Expr<T> { in FoldIntrinsicFunction()
774 return FoldElementalIntrinsic<T, TI>(context, std::move(funcRef), in FoldIntrinsicFunction()
789 return FoldElementalIntrinsic<T, TI>(context, std::move(funcRef), in FoldIntrinsicFunction()
806 return Expr<T>{std::move(funcRef)}; in FoldIntrinsicFunction()
809 return Expr<T>{std::move(funcRef)}; in FoldIntrinsicFunction()
821 return FoldElementalIntrinsic<T, TC>(context, std::move(funcRef), in FoldIntrinsicFunction()
834 return FoldElementalIntrinsic<T, Int4>(context, std::move(funcRef), in FoldIntrinsicFunction()
839 return FoldMINorMAX(context, std::move(funcRef), Ordering::Greater); in FoldIntrinsicFunction()
841 return RewriteSpecificMINorMAX(context, std::move(funcRef)); in FoldIntrinsicFunction()
852 return FoldLocation<WhichLocation::Maxloc, T>(context, std::move(funcRef)); in FoldIntrinsicFunction()
854 return FoldMaxvalMinval<T>(context, std::move(funcRef), in FoldIntrinsicFunction()
857 return FoldMerge<T>(context, std::move(funcRef)); in FoldIntrinsicFunction()
860 context, std::move(funcRef), &Scalar<T>::MERGE_BITS); in FoldIntrinsicFunction()
862 return FoldMINorMAX(context, std::move(funcRef), Ordering::Less); in FoldIntrinsicFunction()
864 return RewriteSpecificMINorMAX(context, std::move(funcRef)); in FoldIntrinsicFunction()
875 return FoldLocation<WhichLocation::Minloc, T>(context, std::move(funcRef)); in FoldIntrinsicFunction()
878 context, std::move(funcRef), RelationalOperator::LT, T::Scalar::HUGE()); in FoldIntrinsicFunction()
880 return FoldElementalIntrinsic<T, T, T>(context, std::move(funcRef), in FoldIntrinsicFunction()
893 return FoldElementalIntrinsic<T, T, T>(context, std::move(funcRef), in FoldIntrinsicFunction()
906 context, std::move(funcRef), &Scalar<T>::NOT); in FoldIntrinsicFunction()
922 return FoldProduct<T>(context, std::move(funcRef), Scalar<T>{1}); in FoldIntrinsicFunction()
1000 return FoldElementalIntrinsic<T, T, Int4>(context, std::move(funcRef), in FoldIntrinsicFunction()
1015 return FoldElementalIntrinsic<T, T, T>(context, std::move(funcRef), in FoldIntrinsicFunction()
1037 return MakeInvalidIntrinsic<T>(std::move(funcRef)); in FoldIntrinsicFunction()
1072 return FoldSum<T>(context, std::move(funcRef)); in FoldIntrinsicFunction()
1074 return UBOUND(context, std::move(funcRef)); in FoldIntrinsicFunction()
1077 return Expr<T>{std::move(funcRef)}; in FoldIntrinsicFunction()