Source code for aurora.distributions.links.common

# SPDX-License-Identifier: MIT
# Copyright (c) 2025 Lucy Eduardo Arias

"""Common link function implementations."""

from __future__ import annotations

import math

import numpy as np

from .._utils import (
    as_namespace_array,
    clip_probability,
    ensure_positive,
    namespace,
    ones_like,
)
from ..base import LinkFunction

try:  # pragma: no cover - optional dependency
    import torch
except ImportError:  # pragma: no cover - optional dependency
    torch = None  # type: ignore[assignment]

try:  # pragma: no cover - optional dependency
    import jax.numpy as jnp
except ImportError:  # pragma: no cover - optional dependency
    jnp = None  # type: ignore[assignment]






































__all__ = [
    "IdentityLink",
    "LogLink",
    "LogitLink",
    "InverseLink",
    "CLogLogLink",
    "SqrtLink",
    "PowerLink",
    "InverseSquareLink",
    "ProbitLink",
]