# ----------------------------------------------------------------------------
# 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: StridedSlice
  case_id: 1
  input_shape:
  - [1048576]
  dtype: [float16]
  attrs:
    begin: [0]
    end: [524288]
    strides: [2]
  value_range: [-1, 1]
  note: S-float16-1M-对齐-1D-stride=2
- operator: StridedSlice
  case_id: 2
  input_shape:
  - [2048, 2048]
  dtype: [float32]
  attrs:
    begin: [0, 0]
    end: [-1, -1]
    strides: [1, 1]
  value_range: [-2, 2]
  note: M-float32-4M-对齐-2D-全切片
- operator: StridedSlice
  case_id: 3
  input_shape:
  - [4096, 4096]
  dtype: [bfloat16]
  attrs:
    begin: [0, 0]
    end: [2048, 2048]
    strides: [2, 2]
  value_range: [-3, 3]
  note: M-bfloat16-16M-对齐-2D-stride=2
- operator: StridedSlice
  case_id: 4
  input_shape:
  - [8192, 8192]
  dtype: [int32]
  attrs:
    begin: [0, 0]
    end: [-1, -1]
    strides: [1, 2]
  value_range: [-10000, 10000]
  note: L-int32-67M-对齐-2D-非对称stride
- operator: StridedSlice
  case_id: 5
  input_shape:
  - [4096, 8192]
  dtype: [int64]
  attrs:
    begin: [0, 0]
    end: [8192, 8192]
    strides: [2, 2]
  value_range: [-100000, 100000]
  note: L-int64-268M-对齐-2D-stride=2
- operator: StridedSlice
  case_id: 6
  input_shape:
  - [8192, 8192]
  dtype: [float32]
  attrs:
    begin: [0, 0]
    end: [-1, -1]
    strides: [2, 4]
  value_range: [-1000, 1000]
  note: L-float32-1G-对齐-2D-stride=2,4
- operator: StridedSlice
  case_id: 7
  input_shape:
  - [1023, 1023]
  dtype: [float16]
  attrs:
    begin: [0, 0]
    end: [-1, -1]
    strides: [1, 1]
  value_range: [-0.1, 0.1]
  note: S-float16-1M-非对齐-2D-全切片-微小值域
- operator: StridedSlice
  case_id: 8
  input_shape:
  - [1009, 1021]
  dtype: [float32]
  attrs:
    begin: [0, 0]
    end: [500, 500]
    strides: [2, 2]
  value_range: [-1, 2]
  note: S-float32-1M-质数非对齐-2D-stride=2-非对称
- operator: StridedSlice
  case_id: 9
  input_shape:
  - [1537, 769]
  dtype: [bfloat16]
  attrs:
    begin: [0, 0]
    end: [-1, -1]
    strides: [1, 3]
  value_range: [-5, 10]
  note: S-bfloat16-1M-非对齐-2D-stride=1,3-非对称
- operator: StridedSlice
  case_id: 10
  input_shape:
  - [363, 367, 373]
  dtype: [int32]
  attrs:
    begin: [0, 0, 0]
    end: [100, 100, 100]
    strides: [1, 1, 1]
  value_range: [-50, 100]
  note: L-int32-50M-质数非对齐-3D-局部切片
- operator: StridedSlice
  case_id: 11
  input_shape:
  - [1024, 1024]
  dtype: [float16]
  attrs:
    begin: [512, 256]
    end: [1024, 1024]
    strides: [1, 1]
    begin_mask: 1
  value_range: [-1, 1]
  note: S-float16-1M-2D-begin_mask=1(维度0从0开始)
- operator: StridedSlice
  case_id: 12
  input_shape:
  - [2048, 2048]
  dtype: [float32]
  attrs:
    begin: [1024, 512]
    end: [2048, 2048]
    strides: [2, 2]
    begin_mask: 3
  value_range: [-2, 2]
  note: M-float32-4M-2D-begin_mask=3(维度0,1从0开始)-stride=2
- operator: StridedSlice
  case_id: 13
  input_shape:
  - [1024, 1024]
  dtype: [bfloat16]
  attrs:
    begin: [0, 0]
    end: [512, 256]
    strides: [1, 1]
    end_mask: 1
  value_range: [-3, 3]
  note: S-bfloat16-1M-2D-end_mask=1(维度0切到末尾)
- operator: StridedSlice
  case_id: 14
  input_shape:
  - [1024, 1024]
  dtype: [float16]
  attrs:
    begin: [512, 0]
    end: [513, 1024]
    strides: [1, 1]
    shrink_axis_mask: 1
  value_range: [-1, 1]
  note: S-float16-1M-2D-shrink_axis_mask=1(收缩维度0)-输出shape=[1024]
- operator: StridedSlice
  case_id: 15
  input_shape:
  - [2048, 2048]
  dtype: [float32]
  attrs:
    begin: [0, 1024]
    end: [2048, 1025]
    strides: [1, 1]
    shrink_axis_mask: 2
  value_range: [-2, 2]
  note: M-float32-4M-2D-shrink_axis_mask=2(收缩维度1)-输出shape=[2048]
- operator: StridedSlice
  case_id: 16
  input_shape:
  - [512, 512]
  dtype: [bfloat16]
  attrs:
    begin: [0, 0]
    end: [512, 512]
    strides: [1, 1]
    new_axis_mask: 1
  value_range: [-3, 3]
  note: S-bfloat16-256K-2D-new_axis_mask=1(在维度0插入新维度)-输出shape=[1,512,512]
- operator: StridedSlice
  case_id: 17
  input_shape:
  - [1024, 1024]
  dtype: [int32]
  attrs:
    begin: [0, 0]
    end: [1024, 1024]
    strides: [1, 1]
    new_axis_mask: 2
  value_range: [-1000, 1000]
  note: S-int32-1M-2D-new_axis_mask=2(在维度1插入新维度)-输出shape=[1024,1,1024]
- operator: StridedSlice
  case_id: 18
  input_shape:
  - [1024, 1024]
  dtype: [float16]
  attrs:
    begin: [512, 0]
    end: [513, 512]
    strides: [1, 1]
    shrink_axis_mask: 1
    end_mask: 2
  value_range: [-1, 1]
  note: S-float16-1M-2D-shrink_axis_mask=1+end_mask=2(收缩维度0+维度1切到末尾)
- operator: StridedSlice
  case_id: 19
  input_shape:
  - [512, 512]
  dtype: [float32]
  attrs:
    begin: [256, 0]
    end: [257, 512]
    strides: [1, 1]
    shrink_axis_mask: 1
    new_axis_mask: 2
  value_range: [-2, 2]
  note: S-float32-256K-2D-shrink_axis_mask=1+new_axis_mask=2(收缩维度0+在维度1插入新维度)
- operator: StridedSlice
  case_id: 20
  input_shape:
  - [64, 128, 128, 128]
  dtype: [bfloat16]
  attrs:
    begin: [0, 0, 0, 0]
    end: [64, -1, -1, -1]
    strides: [1, 1, 1, 1]
    ellipsis_mask: 1
  value_range: [-3, 3]
  note: L-bfloat16-64M-4D-ellipsis_mask=1(维度0省略号展开中间维度)