Skip to content

binary2

binary2

binary2 module contain classes wrapping binary operations within macro.

BinaryOperator2

Bases: Expression2

Single binary operation.

Source code in src/pygerber/gerberx3/parser2/macro2/expressions2/binary2.py
class BinaryOperator2(Expression2):
    """Single binary operation."""

    lhs: Expression2
    rhs: Expression2

Addition2

Bases: BinaryOperator2

Addition expression.

Source code in src/pygerber/gerberx3/parser2/macro2/expressions2/binary2.py
class Addition2(BinaryOperator2):
    """Addition expression."""

    def on_parser2_eval_expression(self, context: Parser2Context) -> Decimal:
        """Reduce expression to numerical value."""
        return self.lhs.on_parser2_eval_expression(
            context,
        ) + self.rhs.on_parser2_eval_expression(context)

on_parser2_eval_expression

on_parser2_eval_expression(
    context: Parser2Context,
) -> Decimal

Reduce expression to numerical value.

Source code in src/pygerber/gerberx3/parser2/macro2/expressions2/binary2.py
def on_parser2_eval_expression(self, context: Parser2Context) -> Decimal:
    """Reduce expression to numerical value."""
    return self.lhs.on_parser2_eval_expression(
        context,
    ) + self.rhs.on_parser2_eval_expression(context)

Subtraction2

Bases: BinaryOperator2

Subtract expression.

Source code in src/pygerber/gerberx3/parser2/macro2/expressions2/binary2.py
class Subtraction2(BinaryOperator2):
    """Subtract expression."""

    def on_parser2_eval_expression(self, context: Parser2Context) -> Decimal:
        """Reduce expression to numerical value."""
        return self.lhs.on_parser2_eval_expression(
            context,
        ) - self.rhs.on_parser2_eval_expression(context)

on_parser2_eval_expression

on_parser2_eval_expression(
    context: Parser2Context,
) -> Decimal

Reduce expression to numerical value.

Source code in src/pygerber/gerberx3/parser2/macro2/expressions2/binary2.py
def on_parser2_eval_expression(self, context: Parser2Context) -> Decimal:
    """Reduce expression to numerical value."""
    return self.lhs.on_parser2_eval_expression(
        context,
    ) - self.rhs.on_parser2_eval_expression(context)

Multiplication2

Bases: BinaryOperator2

Multiply expression.

Source code in src/pygerber/gerberx3/parser2/macro2/expressions2/binary2.py
class Multiplication2(BinaryOperator2):
    """Multiply expression."""

    def on_parser2_eval_expression(self, context: Parser2Context) -> Decimal:
        """Reduce expression to numerical value."""
        return self.lhs.on_parser2_eval_expression(
            context,
        ) * self.rhs.on_parser2_eval_expression(context)

on_parser2_eval_expression

on_parser2_eval_expression(
    context: Parser2Context,
) -> Decimal

Reduce expression to numerical value.

Source code in src/pygerber/gerberx3/parser2/macro2/expressions2/binary2.py
def on_parser2_eval_expression(self, context: Parser2Context) -> Decimal:
    """Reduce expression to numerical value."""
    return self.lhs.on_parser2_eval_expression(
        context,
    ) * self.rhs.on_parser2_eval_expression(context)

Division2

Bases: BinaryOperator2

Divide expression.

Source code in src/pygerber/gerberx3/parser2/macro2/expressions2/binary2.py
class Division2(BinaryOperator2):
    """Divide expression."""

    def on_parser2_eval_expression(self, context: Parser2Context) -> Decimal:
        """Reduce expression to numerical value."""
        return self.lhs.on_parser2_eval_expression(
            context,
        ) / self.rhs.on_parser2_eval_expression(context)

on_parser2_eval_expression

on_parser2_eval_expression(
    context: Parser2Context,
) -> Decimal

Reduce expression to numerical value.

Source code in src/pygerber/gerberx3/parser2/macro2/expressions2/binary2.py
def on_parser2_eval_expression(self, context: Parser2Context) -> Decimal:
    """Reduce expression to numerical value."""
    return self.lhs.on_parser2_eval_expression(
        context,
    ) / self.rhs.on_parser2_eval_expression(context)