Моя цель - условно присвоить значения массиву на основе значения неявного индекса, используя Cilk Plus Array Notation с компилятором Intel , версия 13.1.3 20130607
.Можно ли использовать `__sec_implicit_index` внутри оператора блока if if с использованием нотации Cilk Plus Array?
Рассмотрим следующий код:
T test[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
if(test[:] < 5) {
test[:] = 10 - __sec_implicit_index(0);
}
Этот код компилируется нормально, но когда я пытаюсь запустить его, я получаю следующее сообщение об ошибке:
undefined symbol: __sec_implicit_index
Примечание Хотя это может выглядеть ошибка связи, это не так, поскольку следующий код компилируется и работает нормально (условие было удалено):
T test[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
test[:] = 10 - __sec_implicit_index(0);
Итак, мой вопрос: возможно ли выполнить поведение условного кода ниже с помощью обозначения Cilk Plus Array?
T test[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
for(int i = 0; i < 10; i++) {
if(i < 5) {
test[i] = 10 - i;
}
}
Спасибо, это здорово! Кроме того, спасибо за отзыв о '#pragma simd'! Теперь я помню, как прошлое прошло, чем в документации, но полностью забыл об этом. – naitsirhc