fn branch_sign(branch: &MirRelationExpr) -> bool {
        let mut relation = branch;
        let mut sign = false;
        loop {
            match relation {
                MirRelationExpr::Negate { input } => {
                    sign ^= true;
                    relation = &**input;
                }
                MirRelationExpr::Map { input, .. }
                | MirRelationExpr::Filter { input, .. }
                | MirRelationExpr::Project { input, .. } => {
                    relation = &**input;
                }
                _ => return sign,
            }
        }
    }
/// Returns the sign of a given union branch. The sign is `true` if the branch contains
/// an odd number of Negate operators within a chain of Map, Filter and Project
/// operators, and `false` otherwise.
///
/// This sign is pre-computed for all union branches in order to avoid performing
/// expensive comparisons of branches with the same sign since they can't possibly
/// cancel each other.
Returns the sign of a given union branch. The sign is `true` if the branch contains
an odd number of Negate operators within a chain of Map, Filter and Project
operators, and `false` otherwise.

This sign is pre-computed for all union branches in order to avoid performing
expensive comparisons of branches with the same sign since they can't possibly
cancel each other.
Returns the sign of a given union branch . The sign is ` true ` if the branch contains an odd number of Negate operators within a chain of Map Filter and Project operators and ` false ` otherwise . This sign is pre - computed for all union branches in order to avoid performing expensive comparisons of branches with the same sign since they can ' t possibly cancel each other .
fn branch_sign(branch: &MirRelationExpr) -> bool {
        let mut relation = branch;
        let mut sign = false;
        loop {
            match relation {
                MirRelationExpr::Negate { input } => {
                    sign ^= true;
                    relation = &**input;
                }
                MirRelationExpr::Map { input, .. }
                | MirRelationExpr::Filter { input, .. }
                | MirRelationExpr::Project { input, .. } => {
                    relation = &**input;
                }
                _ => return sign,
            }
        }
    }
fn branch_sign ( branch : & MirRelationExpr ) -> bool { let mut relation = branch ; let mut sign = false ; loop { match relation { MirRelationExpr :: Negate { input } => { sign ^= true ; relation = & * * input ; } MirRelationExpr :: Map { input , .. } | MirRelationExpr :: Filter { input , .. } | MirRelationExpr :: Project { input , .. } => { relation = & * * input ; } _ => return sign , } } }
Returns the sign of a given union branch.
Returns the sign of a given union branch .
branch
&MirRelationExpr
branch
&MirRelationExpr