Как инициализировать константу float32x4x4_t (внутренний НЕОН ARM, GCC)?

Я могу инициализировать float32x4_t как это:

const float32x4x4_t zero = { 0.0f, 0.0f, 0.0f, 0.0f };

Но этот код совершает ошибку Несовместимые типы в инициализаторе:

const float32x4x4_t one =
{
    1.0f, 1.0f, 1.0f, 1.0f,
    1.0f, 1.0f, 1.0f, 1.0f,
    1.0f, 1.0f, 1.0f, 1.0f,
    1.0f, 1.0f, 1.0f, 1.0f,
};

float32x4x4_t 4x4 матрица, созданная как:

typedef struct float32x4x4_t
{
    float32x4_t val[4];
}
float32x4x4_t;

Как я могу инициализировать эту структуру константы?

8
задан Eonil 1 May 2010 в 12:24
поделиться

1 ответ

const float32x4x4_t nameOfVariableHere =
{{
    {1.0f, 1.0f, 1.0f, 1.0f},
    {1.0f, 1.0f, 1.0f, 1.0f},
    {1.0f, 1.0f, 1.0f, 1.0f},
    {1.0f, 1.0f, 1.0f, 1.0f}
}};

Первый уровень скобок предназначен для структуры.
2-й уровень - для массива float32x4_t .
Третий уровень предназначен для самого float32x4_t .

10
ответ дан 5 December 2019 в 17:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: