"""Custom exceptions for primefeat compute module."""


class PrimefeatComputeError(Exception):
    """Base exception for compute module errors."""

    pass


class ChainParameterError(PrimefeatComputeError):
    """Parameter not found or invalid in MCMC chain."""

    pass


class BinningError(PrimefeatComputeError):
    """Invalid binning configuration."""

    pass


class InterpolationError(PrimefeatComputeError):
    """Error during power spectrum interpolation."""

    pass


class CLASSError(PrimefeatComputeError):
    """Error running CLASS Boltzmann code."""

    pass
