boom
This commit is contained in:
commit
1ac693fdc2
9 changed files with 670 additions and 0 deletions
126
nodes.py
Normal file
126
nodes.py
Normal file
|
|
@ -0,0 +1,126 @@
|
|||
from dataclasses import dataclass
|
||||
|
||||
|
||||
@dataclass
|
||||
class NumberNode:
|
||||
value: float
|
||||
|
||||
def __repr__(self):
|
||||
return f"{self.value}"
|
||||
|
||||
|
||||
@dataclass
|
||||
class AddNode:
|
||||
node_a: any
|
||||
node_b: any
|
||||
|
||||
def __repr__(self):
|
||||
return f"[{self.node_a}+{self.node_b}]"
|
||||
|
||||
|
||||
|
||||
@dataclass
|
||||
class SubtractNode:
|
||||
node_a: any
|
||||
node_b: any
|
||||
|
||||
def __repr__(self):
|
||||
return f"[{self.node_a}-{self.node_b}]"
|
||||
|
||||
|
||||
|
||||
@dataclass
|
||||
class MultiplyNode:
|
||||
node_a: any
|
||||
node_b: any
|
||||
|
||||
def __repr__(self):
|
||||
return f"[{self.node_a}*{self.node_b}]"
|
||||
|
||||
|
||||
@dataclass
|
||||
class DivideNode:
|
||||
node_a: any
|
||||
node_b: any
|
||||
|
||||
def __repr__(self):
|
||||
return f"[{self.node_a}/{self.node_b}]"
|
||||
|
||||
@dataclass
|
||||
class PowerNode:
|
||||
node_a: any
|
||||
node_b: any
|
||||
|
||||
def __repr__(self):
|
||||
return f"[{self.node_b}^{self.node_b}]"
|
||||
|
||||
|
||||
@dataclass
|
||||
class ModuleNode:
|
||||
node_a: any
|
||||
node_b: any
|
||||
|
||||
def __repr__(self):
|
||||
return f"[{self.node_b}%{self.node_b}]"
|
||||
|
||||
@dataclass
|
||||
class AverageNode:
|
||||
node_a: any
|
||||
node_b: any
|
||||
|
||||
def __repr__(self):
|
||||
return f"[{self.node_b}@{self.node_b}]"
|
||||
|
||||
|
||||
|
||||
@dataclass
|
||||
class MaximumNode:
|
||||
node_a: any
|
||||
node_b: any
|
||||
|
||||
def __repr__(self):
|
||||
return f"[{self.node_b}${self.node_b}]"
|
||||
|
||||
|
||||
@dataclass
|
||||
class MinimumNode:
|
||||
node_a: any
|
||||
node_b: any
|
||||
|
||||
def __repr__(self):
|
||||
return f"[{self.node_b}&{self.node_b}]"
|
||||
|
||||
|
||||
|
||||
# Uniary symbols #
|
||||
|
||||
@dataclass
|
||||
class PlusNode:
|
||||
node: any
|
||||
|
||||
def __repr__(self):
|
||||
return f"(+{self.node})"
|
||||
|
||||
|
||||
@dataclass
|
||||
class MinusNode:
|
||||
node: any
|
||||
|
||||
def __repr__(self):
|
||||
return f"(-{self.node})"
|
||||
|
||||
|
||||
@dataclass
|
||||
class FactorialNode:
|
||||
node: any
|
||||
|
||||
def __repr__(self):
|
||||
return f"(!{self.node})"
|
||||
|
||||
|
||||
@dataclass
|
||||
class NegateNode:
|
||||
node: any
|
||||
|
||||
def __repr__(self):
|
||||
return f"(~{self.node})"
|
||||
Loading…
Add table
Add a link
Reference in a new issue