enumstd.math.CompareOperator[src]

See also Order.

Fields

lt

Less than (<)

lte

Less than or equal (<=)

eq

Equal (==)

gte

Greater than or equal (>=)

gt

Greater than (>)

neq

Not equal (!=)

Functions

Functionreverse[src]

pub fn reverse(op: CompareOperator) CompareOperator

Reverse the direction of the comparison. Use when swapping the left and right hand operands.

Parameters

Example Usage

test reverse {
    inline for (@typeInfo(CompareOperator).@"enum".fields) |op_field| {
        const op = @as(CompareOperator, @enumFromInt(op_field.value));
        try testing.expect(compare(2, op, 3) == compare(3, op.reverse(), 2));
        try testing.expect(compare(3, op, 3) == compare(3, op.reverse(), 3));
        try testing.expect(compare(4, op, 3) == compare(3, op.reverse(), 4));
    }
}

Source Code

Source code
pub fn reverse(op: CompareOperator) CompareOperator {
    return switch (op) {
        .lt => .gt,
        .lte => .gte,
        .gt => .lt,
        .gte => .lte,
        .eq => .eq,
        .neq => .neq,
    };
}

Source Code

Source code
pub const CompareOperator = enum {
    /// Less than (`<`)
    lt,
    /// Less than or equal (`<=`)
    lte,
    /// Equal (`==`)
    eq,
    /// Greater than or equal (`>=`)
    gte,
    /// Greater than (`>`)
    gt,
    /// Not equal (`!=`)
    neq,

    /// Reverse the direction of the comparison.
    /// Use when swapping the left and right hand operands.
    pub fn reverse(op: CompareOperator) CompareOperator {
        return switch (op) {
            .lt => .gt,
            .lte => .gte,
            .gt => .lt,
            .gte => .lte,
            .eq => .eq,
            .neq => .neq,
        };
    }

    test reverse {
        inline for (@typeInfo(CompareOperator).@"enum".fields) |op_field| {
            const op = @as(CompareOperator, @enumFromInt(op_field.value));
            try testing.expect(compare(2, op, 3) == compare(3, op.reverse(), 2));
            try testing.expect(compare(3, op, 3) == compare(3, op.reverse(), 3));
            try testing.expect(compare(4, op, 3) == compare(3, op.reverse(), 4));
        }
    }
}