# ----------------------------------------------------------------------------
# Copyright (c) 2026 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.
# ----------------------------------------------------------------------------

cases:
- operator: TopK
  case_id: 1
  input_shape:
  - [1048576]
  dtype: [float16]
  attrs: {k: 10, dim: -1, largest: true}
  value_range: [-1, 1]
  note: "S-float16-1M-对齐-1D-k=10-dim=-1-largest"
- operator: TopK
  case_id: 2
  input_shape:
  - - 2048
    - 2048
  dtype:
  - int8
  attrs:
    k: 100
    dim: -1
    largest: true
  value_range:
  - - -127
    - 127
  note: M-int8-4M-对齐-2D-k=100-dim=-1
- operator: TopK
  case_id: 3
  input_shape:
  - [4096, 4096]
  dtype: [bfloat16]
  attrs: {k: 64, dim: -1, largest: true}
  value_range: [-3, 3]
  note: "M-bfloat16-16M-对齐-2D-k=64-dim=-1"
- operator: TopK
  case_id: 4
  input_shape:
  - [8192, 8192]
  dtype: [int32]
  attrs: {k: 256, dim: 0, largest: true}
  value_range: [-10000, 10000]
  note: "L-int32-67M-对齐-2D-k=256-dim=0"
- operator: TopK
  case_id: 5
  input_shape:
  - [4096, 8192]
  dtype: [int64]
  attrs: {k: 512, dim: -1, largest: false}
  value_range: [-100000, 100000]
  note: "L-int64-268M-对齐-2D-k=512-dim=-1-smallest"
- operator: TopK
  case_id: 6
  input_shape:
  - [8192, 8192]
  dtype: [float32]
  attrs: {k: 1024, dim: 0, largest: true}
  value_range: [-1000, 1000]
  note: "L-float32-1G-对齐-2D-k=1024-dim=0"
- operator: TopK
  case_id: 7
  input_shape:
  - [1023, 1023]
  dtype: [float16]
  attrs: {k: 10, dim: -1, largest: true}
  value_range: [-0.1, 0.1]
  note: "S-float16-1M-非对齐-2D-k=10-微小值域"
- operator: TopK
  case_id: 8
  input_shape:
  - [1009, 1021]
  dtype: [float32]
  attrs: {k: 50, dim: 0, largest: false}
  value_range: [-1, 2]
  note: "S-float32-1M-质数非对齐-2D-k=50-dim=0-smallest"
- operator: TopK
  case_id: 9
  input_shape:
  - [1537, 769]
  dtype: [bfloat16]
  attrs: {k: 128, dim: -1, largest: true}
  value_range: [-5, 10]
  note: "S-bfloat16-1M-非对齐-2D-k=128-非对称"
- operator: TopK
  case_id: 10
  input_shape:
  - [363, 367, 373]
  dtype: [int32]
  attrs: {k: 20, dim: 1, largest: true}
  value_range: [-50, 100]
  note: "L-int32-50M-质数非对齐-3D-k=20-dim=1"
- operator: TopK
  case_id: 11
  input_shape:
  - [2049, 513]
  dtype: [float16]
  attrs: {k: 256, dim: -1, largest: true}
  value_range: [-65504, 65504]
  note: "S-float16-1M-非对齐-2D-k=256-float16边界值"
- operator: TopK
  case_id: 12
  input_shape:
  - [3, 7, 13, 4001]
  dtype: [float32]
  attrs: {k: 2000, dim: -1, largest: true}
  value_range: [-88, 88]
  note: "S-float32-1M-质数非对齐-4D-k=2000-float32边界值"
- operator: TopK
  case_id: 13
  input_shape:
  - [2, 7, 256, 256]
  dtype: [bfloat16]
  attrs: {k: 7, dim: 1, largest: false}
  value_range: [-0.01, 0.01]
  note: "S-bfloat16-917K-对齐-4D-k=7-dim=1-smallest-微小值域"
- operator: TopK
  case_id: 14
  input_shape:
  - [1000003]
  dtype: [float32]
  attrs: {k: 100, dim: -1, largest: true}
  value_range: [-.inf, .inf]
  note: "S-float32-1M-质数非对齐-1D-k=100-inf特殊值"
- operator: TopK
  case_id: 15
  input_shape:
  - [11, 13, 17, 67, 67]
  dtype: [float16]
  attrs: {k: 17, dim: 2, largest: true}
  value_range: [.nan, .nan]
  note: "M-float16-10M-质数非对齐-5D-k=17-dim=2-nan特殊值"
- operator: TopK
  case_id: 16
  input_shape:
  - [3, 7, 11, 13, 1013]
  dtype: [int64]
  attrs: {k: 10, dim: -1, largest: true}
  value_range: [0, 0]
  note: "M-int64-3M-质数非对齐-5D-k=10-零值"
- operator: TopK
  case_id: 17
  input_shape:
  - [512, 2049]
  dtype: [float32]
  attrs: {k: 512, dim: -1, largest: true}
  value_range: [-0.5, 0.5]
  note: "S-float32-1M-非对齐-2D-k=512-微小值域"
- operator: TopK
  case_id: 18
  input_shape:
  - [255, 8193]
  dtype: [bfloat16]
  attrs: {k: 128, dim: 0, largest: false}
  value_range: [-1, 3]
  note: "S-bfloat16-2M-非对齐-2D-k=128-dim=0-smallest"
- operator: TopK
  case_id: 19
  input_shape:
  - - 4097
    - 511
  dtype:
  - uint8
  attrs:
    k: 256
    dim: -1
    largest: true
  value_range:
  - - 0
    - 255
  note: S-uint8-2M-非对齐-2D-k=256-大值域
- operator: TopK
  case_id: 20
  input_shape:
  - [2, 511, 2049]
  dtype: [float16]
  attrs: {k: 100, dim: 1, largest: true}
  value_range: [-3, 6]
  note: "S-float16-2M-非对齐-3D-k=100-dim=1-非对称中值域"