Lines Matching refs:evaluate
24 CaseValues(SemanticsContext &c, const evaluate::DynamicType &t) in CaseValues()
40 using Value = evaluate::Scalar<T>;
84 evaluate::FoldingContext foldingContext{ in GetValue()
86 auto folded{evaluate::Fold(foldingContext, SomeExpr{*x->v})}; in GetValue()
87 if (auto converted{evaluate::Fold(foldingContext, in GetValue()
88 evaluate::ConvertToType(T::GetType(), SomeExpr{folded}))}) { in GetValue()
89 if (auto value{evaluate::GetScalarConstantValue<T>(*converted)}) { in GetValue()
90 auto back{evaluate::Fold(foldingContext, in GetValue()
91 evaluate::ConvertToType(*type, SomeExpr{*converted}))}; in GetValue()
151 evaluate::Constant<T>{*lower}.AsFortran(bs << '('); in AsFortran()
155 evaluate::Constant<T>{*upper}.AsFortran(bs << ':'); in AsFortran()
159 evaluate::Constant<T>{*upper}.AsFortran(bs << "(:") << ')'; in AsFortran()
217 const evaluate::DynamicType &caseExprType_;
224 using Types = evaluate::CategoryTypes<CAT>;
234 const evaluate::DynamicType &exprType;
257 CaseValues<evaluate::Type<TypeCategory::Logical, 1>>{context_, *exprType} in Enter()