Re[26]: Являются ли макросы свидетельством недостаточной выр
От: Gaperton http://gaperton.livejournal.com
Дата: 02.08.07 10:01
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Здравствуйте, Gaperton, Вы писали:


G>>Собственно, все. Можно сделать чтобы работало как в статике, так и в динамике. Без макросов. Где у нас подвох?

WH>Подвох в том что базового пространства нет.
WH>И завести его без потери точности и эффективности невозможно.
В классе пространств, которые приводятся линейным преобразованием друг к другу (а это, как ты сказал, половина твоих преобразований), такое пространство, через которое ты будешь гнать цвет, в явном виде не нужно. Ты всегда получаешь прямое преобразование перемножением матриц, и потери эфективности и точности здесь не будет. А если ты воспользуешься оптимизированной библиотекой BLAS от Intel, и применишь 32-х битные float для компонент цвета (чего вполне достаточно) то у тебя будет чистый выигрышь в производительности (будет задействовано SSE). Это делается чисто и понятно — без макросов.

Для пространств, которые преобразовыватся нелинейно, достаточно описать одно преобразование в любое "линейное" цветовое пространство. Позволь мне усомниться в том, что у тебя сильно упадет точность при использовании линейного пространства как переходного и применении плавающей арифметики хорошей разрядности — ты можешь в конце концов задействовать и double — SSE замечаетельно работает и с ними.

Также, для прямого оптимизированного перехода между двумя нелинейними пространствами (что надо делать по показаниям) — никто не мешает определить специализированный метод.

Необходимости в макросах я тут не вижу. Почему должна просесть точность и производительность — тоже не понимаю. А вот то, что применение макросов — это переусложнение — это понятно.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.