如何在 AVX 中实现 floor(double)?

How to implement floor(double) in AVX?

C 和 C++ 函数 double floor(double arg)(在 cmathmath.h 中定义) returns 最大整数值不大于 arg。使用 AVX 指令对其进行矢量化的最有效方法是什么?

本质上,我想要的是

__m256d floor(__m256d arg);

是否需要转换为整数并返回?

内在存在为 _mm256_floor_pd