Source code for pyhs3.functions.core

"""
HS3 Functions implementation.

Provides classes for handling HS3 functions including product functions,
generic functions with mathematical expressions, and interpolation functions.
"""

from __future__ import annotations

import logging
from abc import ABC
from typing import TypeVar

from pyhs3.base import Evaluable

log = logging.getLogger(__name__)


FuncT = TypeVar("FuncT", bound="Function")


[docs] class Function(Evaluable, ABC): """ Base class for functions in HS3. Provides the foundation for all function implementations, handling parameter management and constant generation. Inherits parameter processing functionality from Evaluable. Subclasses must implement _expression() to define computation logic. """