Source code for signal_design.core

from abc import ABC, abstractmethod
from enum import Enum
from typing import Tuple

import numpy as np

from signal_design import axis


[docs]class RelationProtocol(ABC): """Abstract class how create Relation classes.""" @property @abstractmethod def array(self) -> np.ndarray: pass @property @abstractmethod def x(self) -> 'axis.Axis': pass @property @abstractmethod def y(self) -> np.ndarray: pass
[docs] @abstractmethod def get_data(self) -> Tuple[np.ndarray, np.ndarray]: pass
[docs]class MathOperation(Enum): """Which is math operations will be used. Inheritance `Enum` class. Args: Enum (_type_): base `Enum` class """ ADD = '__add__' RADD = '__radd__' SUB = '__sub__' RSUB = '__rsub__' MUL = '__mul__' RMUL = '__rmul__' TRUEDIV = '__truediv__' RTRUEDIV = '__rtruediv__' POW = '__pow__' RPOW = '__rpow__'