luaur-code-gen 0.1.0

Native (A64/X64) code generation for Luau (Rust).
Documentation
use crate::enums::condition_x_64::ConditionX64;
use crate::macros::codegen_assert::CODEGEN_ASSERT;

pub fn get_negated_condition(cond: ConditionX64) -> ConditionX64 {
    match cond {
        ConditionX64::Overflow => ConditionX64::NoOverflow,
        ConditionX64::NoOverflow => ConditionX64::Overflow,
        ConditionX64::Carry => ConditionX64::NoCarry,
        ConditionX64::NoCarry => ConditionX64::Carry,
        ConditionX64::Below => ConditionX64::NotBelow,
        ConditionX64::BelowEqual => ConditionX64::NotBelowEqual,
        ConditionX64::Above => ConditionX64::NotAbove,
        ConditionX64::AboveEqual => ConditionX64::NotAboveEqual,
        ConditionX64::Equal => ConditionX64::NotEqual,
        ConditionX64::Less => ConditionX64::NotLess,
        ConditionX64::LessEqual => ConditionX64::NotLessEqual,
        ConditionX64::Greater => ConditionX64::NotGreater,
        ConditionX64::GreaterEqual => ConditionX64::NotGreaterEqual,
        ConditionX64::NotBelow => ConditionX64::Below,
        ConditionX64::NotBelowEqual => ConditionX64::BelowEqual,
        ConditionX64::NotAbove => ConditionX64::Above,
        ConditionX64::NotAboveEqual => ConditionX64::AboveEqual,
        ConditionX64::NotEqual => ConditionX64::Equal,
        ConditionX64::NotLess => ConditionX64::Less,
        ConditionX64::NotLessEqual => ConditionX64::LessEqual,
        ConditionX64::NotGreater => ConditionX64::Greater,
        ConditionX64::NotGreaterEqual => ConditionX64::GreaterEqual,
        ConditionX64::Zero => ConditionX64::NotZero,
        ConditionX64::NotZero => ConditionX64::Zero,
        ConditionX64::Parity => ConditionX64::NotParity,
        ConditionX64::NotParity => ConditionX64::Parity,
        ConditionX64::Count => {
            CODEGEN_ASSERT!(false, "invalid ConditionX64 value");
            ConditionX64::Count
        }
    }
}