# Copyright (c) 2017-2022, Lawrence Livermore National Security, LLC and other CEED contributors
# All Rights Reserved. See the top-level LICENSE and NOTICE files for details.
#
# SPDX-License-Identifier: BSD-2-Clause
#
# This file is part of CEED:  http://github.com/ceed

from .ceed import Ceed
from .ceed_vector import Vector
from .ceed_basis import Basis, BasisTensorH1, BasisTensorH1Lagrange, BasisH1, BasisHdiv, BasisHcurl
from .ceed_elemrestriction import ElemRestriction, StridedElemRestriction, BlockedElemRestriction, BlockedStridedElemRestriction
from .ceed_qfunction import QFunction, QFunctionByName, IdentityQFunction
from .ceed_operator import Operator, CompositeOperator
from .ceed_constants import *

# ------------------------------------------------------------------------------
# All contents of module
# ------------------------------------------------------------------------------
__all__ = ["Ceed",
           "Vector",
           "Basis", "BasisTensorH1", "BasisTensorH1Lagrange", "BasisH1", "BasisHdiv", "BasisHcurl",
           "ElemRestriction", "StridedElemRestriction", "BlockedElemRestriction", "BlockedStridedelemRestriction",
           "QFunction", "QFunctionByName", "IdentityQFunction",
           "Operator", "CompositeOperator",
           "MEM_HOST", "MEM_DEVICE", "mem_types",
           "SCALAR_FP32", "SCALAR_FP64", "scalar_types",
           "COPY_VALUES", "USE_POINTER", "OWN_POINTER", "copy_modes",
           "NORM_1", "NORM_2", "NORM_MAX", "norm_types",
           "TRANSPOSE", "NOTRANSPOSE", "transpose_modes",
           "EVAL_NONE", "EVAL_INTERP", "EVAL_GRAD", "EVAL_DIV", "EVAL_CURL", "EVAL_WEIGHT", "eval_modes",
           "GAUSS", "GAUSS_LOBATTO", "quad_modes",
           "LINE", "TRIANGLE", "QUAD", "TET", "PYRAMID", "PRISM", "HEX", "elem_topologies",
           "REQUEST_IMMEDIATE", "REQUEST_ORDERED",
           "VECTOR_ACTIVE", "VECTOR_NONE", "ELEMRESTRICTION_NONE", "BASIS_COLLOCATED"]

# ------------------------------------------------------------------------------
