@@ -521,4 +521,54 @@ static inline sva_cycle_delay_exprt &to_sva_cycle_delay_expr(exprt &expr)
521521 return static_cast <sva_cycle_delay_exprt &>(expr);
522522}
523523
524+ class sva_cycle_delay_plus_exprt : public unary_exprt
525+ {
526+ public:
527+ explicit sva_cycle_delay_plus_exprt (exprt op)
528+ : unary_exprt(ID_sva_cycle_delay_plus, std::move(op), bool_typet())
529+ {
530+ }
531+ };
532+
533+ static inline const sva_cycle_delay_plus_exprt &
534+ to_sva_cycle_delay_plus_expr (const exprt &expr)
535+ {
536+ PRECONDITION (expr.id () == ID_sva_cycle_delay_plus);
537+ sva_cycle_delay_plus_exprt::check (expr);
538+ return static_cast <const sva_cycle_delay_plus_exprt &>(expr);
539+ }
540+
541+ static inline sva_cycle_delay_plus_exprt &
542+ to_sva_cycle_delay_plus_expr (exprt &expr)
543+ {
544+ PRECONDITION (expr.id () == ID_sva_cycle_delay_plus);
545+ sva_cycle_delay_plus_exprt::check (expr);
546+ return static_cast <sva_cycle_delay_plus_exprt &>(expr);
547+ }
548+
549+ class sva_cycle_delay_star_exprt : public unary_exprt
550+ {
551+ public:
552+ explicit sva_cycle_delay_star_exprt (exprt op)
553+ : unary_exprt(ID_sva_cycle_delay_star, std::move(op), bool_typet())
554+ {
555+ }
556+ };
557+
558+ static inline const sva_cycle_delay_star_exprt &
559+ to_sva_cycle_delay_star_expr (const exprt &expr)
560+ {
561+ PRECONDITION (expr.id () == ID_sva_cycle_delay_star);
562+ sva_cycle_delay_star_exprt::check (expr);
563+ return static_cast <const sva_cycle_delay_star_exprt &>(expr);
564+ }
565+
566+ static inline sva_cycle_delay_star_exprt &
567+ to_sva_cycle_delay_star_expr (exprt &expr)
568+ {
569+ PRECONDITION (expr.id () == ID_sva_cycle_delay_star);
570+ sva_cycle_delay_star_exprt::check (expr);
571+ return static_cast <sva_cycle_delay_star_exprt &>(expr);
572+ }
573+
524574#endif
0 commit comments