# Rank — MindSpore Signal+ 使用手册 alpha 文档

# Rank

> 获取输入张量的秩（维数），并将该值写入输出地址。

> 输入：

>   - output - 输出数据的地址，用于存储秩的结果。

>   - n - 输入张量的秩（维数）。

>   - core_mask - 核掩码（仅适用于共享存储版本）。

> 输出：

>   - output - 存储秩数值的地址。

> 支持平台：

>   `FT78NE` `MT7004`

> 备注

> - 由于该算子对于不同数据类型的具体实现一致，因此统一使用 `rank_s` 和 `rank_p` 命名，不再区分数据类型前缀（如 `fp_`, `i8_` 等）。

> - 支持的数据类型包括：int8, int16, int32, fp32, fp64, cplx64, cplx128。

共享存储版本:

void rank_s(int *output, int n, int core_mask)

  C调用示例：

       1#include <stdio.h>
       2
       3int main(int argc, char* argv[]) {
       4    int n = 4; // 假设张量的秩为4
       5    int *output = (int *)0xA0000000;
       6    int core_mask = 0xff;
       7
       8    rank_s(output, n, core_mask);
       9
      10    return 0;
      11}

私有存储版本:

void rank_p(int *output, int n)

  C调用示例：

       1#include <stdio.h>
       2
       3int main(int argc, char* argv[]) {
       4    int n = 3; // 假设张量的秩为3
       5    int *output = (int *)0x10810000;
       6
       7    rank_p(output, n);
       8
       9    return 0;
      10}