Я пробовал играть с clang расширенными векторами. Тройной оператор должен работать, но он не работает для меня. Пример:
int main()
{
using int4 = int __attribute__((ext_vector_type(4)));
int4 a{0, 1, 3, 4};
int4 b{2, 1, 4, 5};
auto const r(a - b ? a : b);
return 0;
}
Просьба привести примеры того, как я могу заставить его работать, например, работает под OpenCL. Я использую clang-3.4.2
.
Ошибка:
t.cpp:8:16: error: value of type 'int __attribute__((ext_vector_type(4)))' is not contextually convertible to 'bool'
auto const r(a - b ? a : b);
^~~~~
1 error generated.