//! Translation implementations for logical operators
use crate::utils::{direct_binary_operator_translation, direct_unary_operator_translation};
use crate::TranslationRegistry;
use hamelin_lib::func::defs::{And, Not, Or};
/// Register all logical operator translations.
pub fn register(registry: &mut TranslationRegistry) {
// Not uses direct unary operator translation (NOT x)
registry.register::<Not>(direct_unary_operator_translation);
// And uses direct binary operator translation (x AND y)
registry.register::<And>(direct_binary_operator_translation);
// Or uses direct binary operator translation (x OR y)
registry.register::<Or>(direct_binary_operator_translation);
}