# AUTOGENERATED! DO NOT EDIT! File to edit: ../nbs/02_constants.ipynb.

# %% auto 0
__all__ = ['DTYPES', 'KNOWN_DTYPES', 'KNOWN_DEVICES']

# %% ../nbs/02_constants.ipynb 3
from typing import Any

# %% ../nbs/02_constants.ipynb 4
from littyping.aliases import (
    Obj, Class, DeviceObj, Bool, Tensor,
    Number, Int, Int8, Int16, Int32, Int64,
    UInt, UInt8, Short, Long, Float, Float16,
    Float32, Float64, Half, Single, Double,
    Complex, Complex32, Complex64, Complex128,
    String
)

# %% ../nbs/02_constants.ipynb 5
DTYPES = dict(
    Obj=Obj, Class=Class, DeviceObj=DeviceObj, Bool=Bool, Tensor=Tensor,
    Number=Number, Int=Int, Int8=Int8, Int16=Int16, Int32=Int32, Int64=Int64,
    UInt=UInt, UInt8=UInt8, Short=Short, Long=Long, Float=Float, Float16=Float16,
    Float32=Float32, Float64=Float64, Half=Half, Single=Single, Double=Double,
    Complex=Complex, Complex32=Complex32, Complex64=Complex64, Complex128=Complex128,
    String=String, Any=Any
)

KNOWN_DTYPES = set(list(DTYPES.keys()))

KNOWN_DEVICES = {
    'cpu', 'cuda', 'ipu', 'xpu', 'mkldnn', 'opengl', 'opencl', 'ideep', 'hip', 've', 'fpga', 'ort', 'xla', 
    'lazy', 'vulkan', 'mps', 'meta', 'hpu', 'privateuseone'
}
