vyre-spec 0.1.1

Frozen data contracts for vyre — OpSpec, AlgebraicLaw, Category, IntrinsicTable
Documentation
//! Frozen unary-operation discriminants for primitive operation metadata.

/// Unary operation kind in the frozen data contract.
///
/// Example: `UnOp::ReverseBits` identifies a bit-reversal primitive without
/// binding the catalog to a backend intrinsic spelling.
#[derive(Debug, Clone, PartialEq, Eq, Hash, serde::Deserialize, serde::Serialize)]
pub enum UnOp {
    /// Arithmetic negation.
    Negate,
    /// Bitwise NOT.
    BitNot,
    /// Logical NOT.
    LogicalNot,
    /// Count set bits.
    Popcount,
    /// Count leading zeros.
    Clz,
    /// Count trailing zeros.
    Ctz,
    /// Reverse all bits.
    ReverseBits,
    /// Cosine (f32).
    Cos,
    /// Sine (f32).
    Sin,
    /// Absolute value (f32).
    Abs,
    /// Square root (f32).
    Sqrt,
    /// Floor (f32).
    Floor,
    /// Ceil (f32).
    Ceil,
    /// Round (f32).
    Round,
    /// Trunc (f32).
    Trunc,
    /// Sign (f32).
    Sign,
    /// Is NaN (f32).
    IsNan,
    /// Is Inf (f32).
    IsInf,
    /// Is Finite (f32).
    IsFinite,
}