], int y[cols]) { for (i nt i
Автор admin Пятница, 22 мая 2009 11:32
], int y[cols]) { for (i nt i = 0; i < rows: ++i) { y[i] = 0: for (int j = 0: j < cols; j +=2) y[i] += a[i][j]*x[j] + a[i][j+l]*x[j+l]: } } В общем случае, если значение COLS кратно к, при каждой итерации внутреннего цикла можно выполнять к операций, что существенно повышает эффективность цикла. Конечно, экономия заметна только для очень больших массивов, но именно такие объемы данных обрабатываются современными математическими системами. Подстановка функций тоже может рассматриваться как своего рода разновидность развертывания циклов. Рассмотрим следующий способ вычисления степеней целых чисел: //; С05:Unroll.срр // Развертывание неявного цикла путем подстановок #include
Комментарии закрыты.
Последние комментарии