Lines Matching refs:SubscriptInteger
27 Triplet::Triplet() : stride_{Expr<SubscriptInteger>{1}} {} in Triplet()
29 Triplet::Triplet(std::optional<Expr<SubscriptInteger>> &&l, in Triplet()
30 std::optional<Expr<SubscriptInteger>> &&u, in Triplet()
31 std::optional<Expr<SubscriptInteger>> &&s) in Triplet()
32 : stride_{s ? std::move(*s) : Expr<SubscriptInteger>{1}} { in Triplet()
41 std::optional<Expr<SubscriptInteger>> Triplet::lower() const { in lower()
48 Triplet &Triplet::set_lower(Expr<SubscriptInteger> &&expr) { in set_lower()
53 std::optional<Expr<SubscriptInteger>> Triplet::upper() const { in upper()
60 Triplet &Triplet::set_upper(Expr<SubscriptInteger> &&expr) { in set_upper()
65 Expr<SubscriptInteger> Triplet::stride() const { return stride_.value(); } in stride()
67 Triplet &Triplet::set_stride(Expr<SubscriptInteger> &&expr) { in set_stride()
81 std::vector<Expr<SubscriptInteger>> &&css) in CoarrayRef()
121 void Substring::SetBounds(std::optional<Expr<SubscriptInteger>> &lower, in SetBounds()
122 std::optional<Expr<SubscriptInteger>> &upper) { in SetBounds()
131 Expr<SubscriptInteger> Substring::lower() const { in lower()
135 return AsExpr(Constant<SubscriptInteger>{1}); in lower()
139 Substring &Substring::set_lower(Expr<SubscriptInteger> &&expr) { in set_lower()
144 std::optional<Expr<SubscriptInteger>> Substring::upper() const { in upper()
152 -> std::optional<Expr<SubscriptInteger>> { in upper()
153 return AsExpr(Constant<SubscriptInteger>{object->data().size()}); in upper()
160 Substring &Substring::set_upper(Expr<SubscriptInteger> &&expr) { in set_upper()
178 lower_ = AsExpr(Constant<SubscriptInteger>{1}); in Fold()
188 lower_ = AsExpr(Constant<SubscriptInteger>{*lbi}); in Fold()
189 upper_ = AsExpr(Constant<SubscriptInteger>{*ubi}); in Fold()
229 lower_ = AsExpr(Constant<SubscriptInteger>{1}); in Fold()
237 upper_ = AsExpr(Constant<SubscriptInteger>{*ubi}); in Fold()
261 static std::optional<Expr<SubscriptInteger>> SymbolLEN(const Symbol &symbol) { in SymbolLEN()
271 return Expr<SubscriptInteger>{std::max<std::int64_t>(*constLen, 0)}; in SymbolLEN()
274 return AsExpr(Extremum<SubscriptInteger>{ in SymbolLEN()
275 Ordering::Greater, Expr<SubscriptInteger>{0}, std::move(*len)}); in SymbolLEN()
280 return Expr<SubscriptInteger>{ in SymbolLEN()
286 std::optional<Expr<SubscriptInteger>> BaseObject::LEN() const { in LEN()
291 -> std::optional<Expr<SubscriptInteger>> { in LEN()
292 return AsExpr(Constant<SubscriptInteger>{object->data().size()}); in LEN()
298 std::optional<Expr<SubscriptInteger>> Component::LEN() const { in LEN()
302 std::optional<Expr<SubscriptInteger>> NamedEntity::LEN() const { in LEN()
306 std::optional<Expr<SubscriptInteger>> ArrayRef::LEN() const { in LEN()
310 std::optional<Expr<SubscriptInteger>> CoarrayRef::LEN() const { in LEN()
314 std::optional<Expr<SubscriptInteger>> DataRef::LEN() const { in LEN()
322 std::optional<Expr<SubscriptInteger>> Substring::LEN() const { in LEN()
324 return AsExpr(Extremum<SubscriptInteger>{Ordering::Greater, in LEN()
325 AsExpr(Constant<SubscriptInteger>{0}), in LEN()
326 *std::move(top) - lower() + AsExpr(Constant<SubscriptInteger>{1})}); in LEN()
333 std::optional<Expr<SubscriptInteger>> Designator<T>::LEN() const { in LEN()
346 std::optional<Expr<SubscriptInteger>> ProcedureDesignator::LEN() const { in LEN()
347 using T = std::optional<Expr<SubscriptInteger>>; in LEN()