"""
tkcompute
=========

NumPy/SciPy, CuPy, dpnp などの数値計算実装を切り替えるための
薄い backend abstraction layer。

基本形
------
    from tkcompute import get_backend

    bk = get_backend("numpy")   # CPU
    # bk = get_backend("cupy")  # NVIDIA CUDA / AMD ROCm
    # bk = get_backend("dpnp", device="gpu")  # SYCL device

    xp = bk.xp
    x = bk.asarray(x0)
    y = xp.sin(x) + xp.exp(-x*x)
    f = bk.fftn(y)
    result = bk.to_numpy(f)
"""

from .base import Backend
from .registry import (
    available_backends,
    backend_names,
    get_backend,
    register_backend,
)
from .device_info import (
    get_cpu_name,
    get_cupy_device_name,
    get_dpnp_device_name,
)

__all__ = [
    "Backend",
    "get_backend",
    "register_backend",
    "backend_names",
    "available_backends",
    "get_cpu_name",
    "get_cupy_device_name",
    "get_dpnp_device_name",
]

__version__ = "0.2.0"
