Size: a a a

2017 January 26

j

jabber.ru in codingteam
ForNeVeR
Наверное, впрочем, я сути не уловил.
источник

j

jabber.ru in codingteam
gsomix
Задача. Loop fusion (не stream!).

Пусть есть матрицы a, b, c. Надо вычислить a*b + c эффективно и сохранить вид записи выражения.

В Julia вот это:

a.*b + c

Компилируется в один цикл.
источник

j

jabber.ru in codingteam
gsomix
А, блин. Там .+
источник

j

jabber.ru in codingteam
ForNeVeR
А, ой, я пропустил слово loop.
источник

j

jabber.ru in codingteam
ForNeVeR
gsomix: прости, но я не вижу сложности в этой проблеме.
источник

j

jabber.ru in codingteam
ForNeVeR
А хотя не, вижу.
источник

j

jabber.ru in codingteam
gsomix
О, давай.
источник

j

jabber.ru in codingteam
ForNeVeR
Ок, это хорошее дело.
источник

j

jabber.ru in codingteam
gsomix
Расскажи.
источник

j

jabber.ru in codingteam
ForNeVeR
Ну, если б мне надо было такое запилить, то я бы перегрузил операторы.
источник

j

jabber.ru in codingteam
ForNeVeR
Но тогда каждый оператор был бы отдельным циклом, верно?
источник

j

jabber.ru in codingteam
gsomix
Так.
источник

j

jabber.ru in codingteam
ForNeVeR
Этого мы хотим избежать.
источник

j

jabber.ru in codingteam
gsomix
Да.
источник

j

jabber.ru in codingteam
ForNeVeR
Ну и тогда я бы что-нибудь начал колдовать над семантикой языка.
источник

j

jabber.ru in codingteam
gsomix
Это как?
источник

j

jabber.ru in codingteam
ForNeVeR
Чтобы у меня промежуточные операции просто сохранялись куда-то в стек, а окончательное приведение выражения к итоговому виду делалось каким-нибудь valueOf, как в яваскрипте.
источник

j

jabber.ru in codingteam
ForNeVeR
Т.е. чтоб я мог определить, когда мне нужно заканчивать вычисление и фьюзить вот это всё хозяйство.
источник

j

jabber.ru in codingteam
gsomix
Ага.
источник

КП

Крылатый Пегас in codingteam
Чпок
источник