Lines Matching refs:ExtentExpr
51 result.emplace_back(MaybeExtentExpr{ExtentExpr{std::move(extent)}}); in ConstantShape()
56 auto GetShapeHelper::AsShapeResult(ExtentExpr &&arrayExpr) const -> Result { in AsShapeResult()
66 auto *expr{std::get_if<ExtentExpr>(&value.u)}; in AsShapeResult()
87 std::optional<ExtentExpr> AsExtentArrayExpr(const Shape &shape) { in AsExtentArrayExpr()
96 return ExtentExpr{ArrayConstructor<ExtentType>{std::move(values)}}; in AsExtentArrayExpr()
139 result.emplace_back(ExtentExpr{extent}); in AsShape()
168 static ExtentExpr ComputeTripCount( in ComputeTripCount()
169 ExtentExpr &&lower, ExtentExpr &&upper, ExtentExpr &&stride) { in ComputeTripCount()
170 ExtentExpr strideCopy{common::Clone(stride)}; in ComputeTripCount()
171 ExtentExpr span{ in ComputeTripCount()
174 return ExtentExpr{ in ComputeTripCount()
175 Extremum<ExtentType>{Ordering::Greater, std::move(span), ExtentExpr{0}}}; in ComputeTripCount()
178 ExtentExpr CountTrips( in CountTrips()
179 ExtentExpr &&lower, ExtentExpr &&upper, ExtentExpr &&stride) { in CountTrips()
184 ExtentExpr CountTrips(const ExtentExpr &lower, const ExtentExpr &upper, in CountTrips()
185 const ExtentExpr &stride) { in CountTrips()
192 std::function<ExtentExpr(ExtentExpr &&, ExtentExpr &&, ExtentExpr &&)> bound{ in CountTrips()
199 ExtentExpr extent{1}; in GetSize()
219 bool ContainsAnyImpliedDoIndex(const ExtentExpr &expr) { in ContainsAnyImpliedDoIndex()
273 ExtentExpr{*ubound} - ExtentExpr{*lbound} + in GetLowerBound()
274 ExtentExpr{1}))}; in GetLowerBound()
304 return ExtentExpr{DescriptorInquiry{std::move(base), in GetLowerBound()
313 return ExtentExpr{DescriptorInquiry{std::move(base), in GetLowerBound()
344 ExtentExpr GetRawLowerBound(const NamedEntity &base, int dimension) { in GetRawLowerBound()
345 return GetLowerBoundHelper<ExtentExpr, false>{dimension, nullptr}(base); in GetRawLowerBound()
348 ExtentExpr GetRawLowerBound( in GetRawLowerBound()
351 GetLowerBoundHelper<ExtentExpr, false>{dimension, &context}(base)); in GetRawLowerBound()
411 return ExtentExpr{0}; in GetNonNegativeExtent()
413 return ExtentExpr{*uval - *lval + 1}; in GetNonNegativeExtent()
420 return ExtentExpr{Extremum<SubscriptInteger>{ in GetNonNegativeExtent()
421 Ordering::Greater, ExtentExpr{0}, common::Clone(*ubound)}}; in GetNonNegativeExtent()
423 return ExtentExpr{ in GetNonNegativeExtent()
424 Extremum<SubscriptInteger>{Ordering::Greater, ExtentExpr{0}, in GetNonNegativeExtent()
425 common::Clone(*ubound) - common::Clone(*lbound) + ExtentExpr{1}}}; in GetNonNegativeExtent()
439 return ExtentExpr{DescriptorInquiry{ in GetExtent()
464 return ExtentExpr{DescriptorInquiry{NamedEntity{base}, in GetExtent()
516 ExtentExpr &&lower, MaybeExtentExpr &&extent) { in ComputeUpperBound()
521 return std::move(*extent) + std::move(lower) - ExtentExpr{1}; in ComputeUpperBound()
529 FoldingContext &context, ExtentExpr &&lower, MaybeExtentExpr &&extent) { in ComputeUpperBound()
575 return ExtentExpr{0}; in GetExplicitUBOUND()
786 MaybeExtentExpr{ExtentExpr{call.arguments().front()->Rank()}}}; in operator ()()
825 return Shape{ExtentExpr{rank}}; in operator ()()
863 ActualArgument{AsGenericExpr(ExtentExpr{0})}, in operator ()()
868 return Shape{ExtentExpr{FunctionRef<ExtentType>{ in operator ()()
879 return Shape{ExtentExpr{FunctionRef<ExtentType>{ in operator ()()
945 return Shape{ExtentExpr{0}}; in operator ()()
955 ExtentExpr extent{Fold(*context_, in operator ()()
957 common::Clone(*moldElementBytes) - ExtentExpr{1}) / in operator ()()