提交记录 19344


用户 题目 状态 得分 用时 内存 语言 代码长度
TSKY 1007. 测测你的memset Compile Error 0 0 ns 0 KB C++14 780 B
提交时间 评测时间
2023-04-20 14:25:57 2023-04-20 14:25:58
#include <iostream>
#include <immintrin.h>

#pragma GCC target("fma")
void my_memset(char *a, char c, unsigned n)
{
    size_t begin = reinterpret_cast<size_t>(a) % 32;
    std::cout << begin << "\n";
    char *p = a;
    while (p < a + begin && p < a + n)
    {
        *p = c;
        p++;
    }
    if (a + n - p >= 32)
    {
        __m256i data;
        static char ary[32] = {c, c, c, c, c, c, c, c, c, c, c, c, c, c, c, c, c, c, c, c, c, c, c, c, c, c, c, c, c, c, c, c};
        data = *(__m256i *)ary;
        size_t end = n - (n - begin) % 32;
        char *end_ptr = a + end;
        while (p < end_ptr)
        {
            _mm256_storeu_si256((__m256i *)p, data);
            p += 32;
        }
    }
    while (p < a + n)
    {
        *p = c;
        p++;
    }
}

CompilationN/AN/ACompile ErrorScore: N/A


Judge Duck Online | 评测鸭在线
Server Time: 2025-09-15 15:26:12 | Loaded in 0 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠