Задание: Библиотека отложенных вычислений LEva

Отложенные вычисления

Отложенные вычисления, ленивые вычисления или нестрогие вычисления (англ. lazy evaluation) — концепция, согласно которой вычисления следует откладывать до тех пор, пока не понадобится их результат. Отложенные вычисления позволяют сократить общий объём вычислений за счёт тех вычислений, результаты которых не будут использованы. Программист может описывать зависимости функций друг от друга и не следить за тем, чтобы не осуществлялось «лишних вычислений».

Задание

Реализовать на C++ идею отложенных вычислений для типа число с плавающей точкой (класс Double) на основании предоставленных заголовочных файлов. Задание предполагает реализацию отложенных вычислений:

Реализация подсчета значения выражения должна проводить журналирование своих действий в выходной поток dout в формате:

Реализация умного указателя на выражение должна проводить журналирование своих действий в выходной поток dout:

Примеры выражений и ожидаемой отладочной печати.

 Double a(1), b(0.5);
 Double c;
 c = a + b;
 cout << c;

Содержимое dout: +++++++--~+-(+b,(1),(0.5))---~-~-~

Требования

Отчетные материалы

Вопросы, предложения, опечатки

Присылайте сюда: gerasimov at mlab dot cs dot msu dot su

Указатель Классы Функции Переменные
Документация по Отложенные вчисления. Последние изменения: Tue Mar 16 17:06:37 2010. Создано системой  doxygen 1.6.3