История изменений
Исправление kaldeon, (текущая версия) :
Там написано: “eliminate temporaries,” “loop fusion.”
Я не математик, поэтому могу чего-нибудь проглядеть. Насколько я понял, temporary — он имеет ввиду временное представление таблицы в транспозиционном виде. В C нам придётся либо использовать временную память, либо усложнить алгоритм, встраивая транспозицию в алгоритм умножения.
loop fusion — вроде, распараллеливание. Опять же, довольно сложно сделать вручную.
Какие абстракции позволяют C++ это делать самому, без ручной работы — не знаю, самому интересно.
какие, нафиг, «правильные абстракции»
Абстракция — это когда мы что-то отделяем от группы предметов, некий аспект или свойство, и оперируем только на уровне этого аспекта. Это позволяет упростить множество задач, как в жизни, так и в программировании.
Например, можно сортирование массива представить в виде трёх функций: Len, Less, Swap. Можно написать алгоритм сортировки, не трогая никакие структуры данных, только вызывая эти функции. В результате мы сможем, например, переисользовать этот алгоритм, чтобы отсортировать матрицу по диагонали. Qsort по диагонали — разве не круто?
Исходная версия kaldeon, :
Там написано: “eliminate temporaries,” “loop fusion.”
Я не математик, поэтому могу чего-нибудь проглядеть. Насколько я понял, temporary — он имеет ввиду временное представление таблицы в транспозиционном виде. В C нам придётся либо использовать временную память, либо усложнить алгоритм, встраивая транспозицию в алгоритм умножения.
loop fusion — вроде, распараллеливание. Опять же, довольно сложно сделать вручную.
Какие абстракции позволяют C++ это делать самому, без ручной работы — не знаю, самому интересно.
какие, нафиг, «правильные абстракции»
Абстракция — это когда мы что-то отделяем от группы предметов, некий аспект или свойство, и оперируем только на уровне этого аспекта. Это позволяет упростить множество задач, как в жизни, так и в программировании.
Например, можно сортирование массива представить в виде трёх функций: Len, Less, Swap. Можно написать алгоритм сортировки, не трогая никакие структуры данных, только вызывая эти функции. В результате мы сможем, например, переисользовать этот алгоритм, чтобы отсортировать матрицу по диагонали. Qsort по диагонали — разве не круто?
Возвращаясь к языку С