昇腾社区首页
中文
注册
开发者
下载

vmaxs/vmins

功能说明

将一个向量与标量逐元素比较,并将两者中较大或较小的值写入目标向量。

each_element_of([dst]) = max(each_element_of([src0]), src1) //src1为标量
each_element_of([dst]) = min(each_element_of([src0]), src1) //src1为标量

上述接口均支持通过MASK控制哪些元素参与计算。

接口原型

// 相同接口的不同原型区别在于源地址和目的地址的数据类型不同
// vmaxs
void vmaxs(__ubuf__ half *dst, __ubuf__ half *src0, half src1, uint8_t repeat, uint16_t dstBlockStride, uint16_t srcBlockStride, uint16_t dstRepeatStride, uint16_t srcRepeatStride); 
 
void vmaxs(__ubuf__ float *dst, __ubuf__ float *src0, float src1, uint8_t repeat, uint16_t dstBlockStride, uint16_t srcBlockStride, uint16_t dstRepeatStride, uint16_t srcRepeatStride); 
 
void vmaxs(__ubuf__ int16_t *dst, __ubuf__ int16_t *src0, int16_t src1, uint8_t repeat, uint16_t dstBlockStride, uint16_t srcBlockStride, uint16_t dstRepeatStride, uint16_t srcRepeatStride); 
 
void vmaxs(__ubuf__ int32_t *dst, __ubuf__ int32_t *src0, int32_t src1, uint8_t repeat, uint16_t dstBlockStride, uint16_t srcBlockStride, uint16_t dstRepeatStride, uint16_t srcRepeatStride);

// vmins
void vmins(__ubuf__ half *dst, __ubuf__ half *src0, half src1, uint8_t repeat, uint16_t dstBlockStride, uint16_t srcBlockStride, uint16_t dstRepeatStride, uint16_t srcRepeatStride); 

void vmins(__ubuf__ float *dst, __ubuf__ float *src0, float src1, uint8_t repeat, uint16_t dstBlockStride, uint16_t srcBlockStride, uint16_t dstRepeatStride, uint16_t srcRepeatStride); 

void vmins(__ubuf__ int16_t *dst, __ubuf__ int16_t *src0, int16_t src1, uint8_t repeat, uint16_t dstBlockStride, uint16_t srcBlockStride, uint16_t dstRepeatStride, uint16_t srcRepeatStride); 

void vmins(__ubuf__ int32_t *dst, __ubuf__ int32_t *src0, int32_t src1, uint8_t repeat, uint16_t dstBlockStride, uint16_t srcBlockStride, uint16_t dstRepeatStride, uint16_t srcRepeatStride);

参数说明

参数含义见 表2 双目运算参数说明

注意:接口中的src1是标量。

流水类型

PIPE_V