"""Analysis and utility tools for PECOS.

This package provides various tools for quantum error correction analysis,
fault tolerance checking, threshold estimation, and performance evaluation.
"""

# Copyright 2018 National Technology & Engineering Solutions of Sandia, LLC (NTESS). Under the terms of Contract
# DE-NA0003525 with NTESS, the U.S. Government retains certain rights in this software.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
# the License.You may obtain a copy of the License at
#
#     https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
# specific language governing permissions and limitations under the License.

from pecos.tools import fault_tolerance_checks, pseudo_threshold_tools
from pecos.tools.pseudo_threshold_tools import plot as plot_pseudo
from pecos.tools.stabilizer_verification import VerifyStabilizers
from pecos.tools.threshold_tools import (
    codecapacity_logical_rate,
    codecapacity_logical_rate2,
    codecapacity_logical_rate3,
    threshold_code_capacity,
)
from pecos.tools.tool_anticommute import anticommute
from pecos.tools.tool_collection import fault_tolerance_check

__all__ = [
    # Classes
    "VerifyStabilizers",
    # Functions
    "anticommute",
    "codecapacity_logical_rate",
    "codecapacity_logical_rate2",
    "codecapacity_logical_rate3",
    "fault_tolerance_check",
    # Submodules
    "fault_tolerance_checks",
    "plot_pseudo",
    "pseudo_threshold_tools",
    "threshold_code_capacity",
]
