Module Ty.Unop

type t =
  1. | Neg
    (*

    Negation.

    *)
  2. | Not
    (*

    Logical NOT.

    *)
  3. | Clz
    (*

    Count leading zeros.

    *)
  4. | Ctz
    (*

    Count trailing zeros.

    *)
  5. | Popcnt
    (*

    Count bits set to 1.

    *)
  6. | Abs
    (*

    Absolute value.

    *)
  7. | Sqrt
    (*

    Square root.

    *)
  8. | Is_normal
  9. | Is_subnormal
  10. | Is_negative
  11. | Is_positive
  12. | Is_infinite
  13. | Is_nan
    (*

    Check if NaN.

    *)
  14. | Is_zero
  15. | Ceil
    (*

    Ceiling.

    *)
  16. | Floor
    (*

    Floor.

    *)
  17. | Trunc
    (*

    Truncate.

    *)
  18. | Nearest
    (*

    Round to nearest integer.

    *)
  19. | Head
    (*

    Get the head of a list.

    *)
  20. | Tail
    (*

    Get the tail of a list.

    *)
  21. | Reverse
    (*

    Reverse a list.

    *)
  22. | Length
    (*

    Get the length of a list.

    *)
  23. | Trim
    (*

    Trim whitespace (uninterpreted).

    *)
  24. | Regexp_star
    (*

    Kleene star.

    *)
  25. | Regexp_loop of int * int
    (*

    Loop with a range.

    *)
  26. | Regexp_plus
    (*

    Kleene plus.

    *)
  27. | Regexp_opt
    (*

    Optional.

    *)
  28. | Regexp_comp
    (*

    Complement.

    *)

The type t represents unary operations.

val equal : t -> t -> bool

equal op1 op2 checks if unary operations op1 and op2 are equal.

val pp : t Fmt.t

pp fmt op pretty-prints the unary operation op using the formatter fmt.