c - 在 C 中初始化大块 double 的最有效方法

标签 c unit-testing initialization

初始化这些 double block 的最简单/最有效的方法是什么,最好是在编译时:

#define N 1000
double mul1[N][N] __attribute__ ((aligned (64)));
double mul2[N][N] __attribute__ ((aligned (64)));

它们用于“const”只读测试数据。

最佳答案

有一个名为 Designated Initializers 的 GCC(不是标准 C!)功能

对于一维数组,它只是:

double array[N] = {[0 ... (N-1)] = MY_DOUBLE_VALUE};

对于 2D 有点棘手:

double array[N][N] = { [0 ... (N-1)] = {[0 ... (N-1)] = MY_DOUBLE_VALUE}};

关于c - 在 C 中初始化大块 double 的最有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1974342/

相关文章:

Python 单元测试 : Test whether two angles are almost equal

c - 为什么用 0 初始化数组会清除整个缓冲区?

c - 二维字符数组内容被覆盖

javascript - ngMock 在预期请求时提示意外请求

javascript - Angular Directive(指令) : Actual is not a function 的 Jasmine 测试

c++ - 当我将 int 数据成员的初始化值更改为 1 以外的任何值时程序崩溃

objective-c - 编译器错误 : "initializer element is not a compile-time constant"

C语法错误: missing ';' before 'type'

c - 我正在尝试创建自己的 printf 函数,但我不知道如何包含格式说明符

c - 另一个数组中的安全用户输入(任何类型)