#! /usr/bin/env python3
# -*- coding: UTF-8 -*-
# ----------------------------------------------------------------------------------------------------------
# Copyright (c) 2025 Huawei Technologies Co., Ltd.
# This program is free software, you can redistribute it and/or modify it under the terms and conditions of
# CANN Open Software License Agreement Version 2.0 (the "License").
# Please refer to the License for details. You may not use this file except in compliance with the License.
# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
# INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
# See LICENSE in the root of the software repository for the full text of the License.
# ----------------------------------------------------------------------------------------------------------
"""
build
"""


def build(sch, config_map=None):
    """
    :param build:
    :param config_map:
    :return:
    """

    return

# def compute(_operator=None):
#     """
#     :param _compute:
#     :return:
#     """
#     return

def auto_schedule(outs, option=None):
    """
    Entry of auto-Schedule.
    """
    return outs


class Sch:
    def __init__(self):
        cce_special["real_out_tensor"] = false

class Compute:
    def __init__(self):
        pass

    def __enter__(self):
        return self

    def __exit__(self, exc_type, exc_val, exc_tb):
        return

def build(sch, config_map=None):
    """
    :param sch:
    :param config_map:
    :return:
    """

    return


def classify(ins, mode, extra_params=None):
    """
    classify
    :param ins:
    :param mode:
    :param extra_params: must include keepdims when mode is reduce
    :return:
    """

    return [ins]

def compute(x = None):
    return Compute()