Source code for sweep_design.core

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

import numpy as np

from .axis import ArrayAxis


[docs]class RelationProtocol(ABC): '''Abstract class how create Relation classes. ''' @property @abstractmethod def array(self) -> np.ndarray: pass @property @abstractmethod def x(self) -> ArrayAxis: 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__"