Source code for fibomat.linalg.vectors.vector

from typing import Sequence, Any

import numpy as np
import pint

from fibomat.linalg.vectors.vector_base import VectorBase, FloatTypes


[docs]class Vector(VectorBase[float]): @staticmethod def _validate_type(val: Any) -> bool: return isinstance(val, FloatTypes) @staticmethod def _build_np_array(val: Sequence[float]) -> np.ndarray: return np.array(val, dtype=float) @staticmethod def _make_zero_vector(): return [0., 0.]
[docs] def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs)
def __mul__(self, other: Any): if isinstance(other, pint.Unit): from .dim_vector import DimVector return DimVector(self._vector * other) else: return super().__mul__(other)