# AUTOGENERATED! DO NOT EDIT! File to edit: ../nbs/01_atyp.ipynb.

# %% auto 0
__all__ = ['CellState', 'HiddenState', 'RNNState', 'GRUState', 'LSTMStates', 'RNNStateQ', 'GRUStateQ', 'LSTMStatesQ',
           'RecurrentStates', 'RecurrentStatesQ', 'HiddenStates', 'HiddenStatesQ']

# %% ../nbs/01_atyp.ipynb 6
#| export


# %% ../nbs/01_atyp.ipynb 8
from typing import Tuple, Union, Optional, TypeAlias

# %% ../nbs/01_atyp.ipynb 11
#| export

# %% ../nbs/01_atyp.ipynb 13
#| export


# %% ../nbs/01_atyp.ipynb 15
#| export


# %% ../nbs/01_atyp.ipynb 17
#| export


# %% ../nbs/01_atyp.ipynb 19
from atyp import Tensor

# %% ../nbs/01_atyp.ipynb 21
#| export


# %% ../nbs/01_atyp.ipynb 23
CellState: TypeAlias = Tensor
HiddenState: TypeAlias = Tensor

RNNState: TypeAlias = HiddenState
GRUState: TypeAlias = HiddenState
LSTMStates: TypeAlias = Tuple[HiddenState, CellState]

RNNStateQ: TypeAlias = Optional[RNNState]
GRUStateQ: TypeAlias = Optional[GRUState]
LSTMStatesQ: TypeAlias = Optional[LSTMStates]


RecurrentStates: TypeAlias = Union[RNNStateQ, GRUStateQ, LSTMStatesQ]
RecurrentStatesQ: TypeAlias = Optional[RecurrentStates]

HiddenStates: TypeAlias = RecurrentStates
HiddenStatesQ: TypeAlias = RecurrentStatesQ

# %% ../nbs/01_atyp.ipynb 25
#| export
