59 lines
1.8 KiB
Markdown
59 lines
1.8 KiB
Markdown
---
|
|
tags:
|
|
- Math
|
|
- VectorMath
|
|
---
|
|
|
|
# IntBinaryOperation
|
|
## Documentation
|
|
- Class name: `CM_IntBinaryOperation`
|
|
- Category: `math/int`
|
|
- Output node: `False`
|
|
|
|
The node `CM_IntBinaryOperation` performs binary operations on integer inputs, such as addition, subtraction, multiplication, and division, based on a specified operation. It abstracts the complexity of these operations into a simple interface, allowing for the dynamic execution of various mathematical operations on integers.
|
|
## Input types
|
|
### Required
|
|
- **`op`**
|
|
- Specifies the binary operation to be performed on the integer inputs. This affects the node's execution by determining the mathematical operation applied.
|
|
- Comfy dtype: `COMBO[STRING]`
|
|
- Python dtype: `str`
|
|
- **`a`**
|
|
- Represents the first integer input for the binary operation. It is one of the operands on which the specified operation is performed.
|
|
- Comfy dtype: `INT`
|
|
- Python dtype: `int`
|
|
- **`b`**
|
|
- Represents the second integer input for the binary operation. It serves as the other operand in the operation alongside `a`.
|
|
- Comfy dtype: `INT`
|
|
- Python dtype: `int`
|
|
## Output types
|
|
- **`int`**
|
|
- Comfy dtype: `INT`
|
|
- The result of the specified binary operation performed on the integer inputs `a` and `b`.
|
|
- Python dtype: `int`
|
|
## Usage tips
|
|
- Infra type: `CPU`
|
|
- Common nodes: unknown
|
|
|
|
|
|
## Source code
|
|
```python
|
|
class IntBinaryOperation:
|
|
@classmethod
|
|
def INPUT_TYPES(cls) -> Mapping[str, Any]:
|
|
return {
|
|
"required": {
|
|
"op": (list(INT_BINARY_OPERATIONS.keys()),),
|
|
"a": DEFAULT_INT,
|
|
"b": DEFAULT_INT,
|
|
}
|
|
}
|
|
|
|
RETURN_TYPES = ("INT",)
|
|
FUNCTION = "op"
|
|
CATEGORY = "math/int"
|
|
|
|
def op(self, op: str, a: int, b: int) -> tuple[int]:
|
|
return (INT_BINARY_OPERATIONS[op](a, b),)
|
|
|
|
```
|