Мой личный бложек. Пишу о жизни в Чехии, программировании и просто свои мысли обо всём. Пишу не часто.

 
Уёбищные math ldc.intrinsics в LDC
Заметки не программиста
LDC предлагает замечательный модуль ldc.intrinsics, который заменяет вызов некоторых функций встроенным кодом, оптимизированным под процессор, что в теории должно значительно ускорить работу программы.

Но не всё так замечательно. Математические функции, такие как pragma(LDC_intrinsic, "llvm.sin.#f"), cos, sqrt и тому подобные в реальности заменяются на функции из стандартной библиотеки phobos. Что в этом плохого?
Во-первых эти функции должны быть в core-модуле, а не в phobos, т.к. я  например некоторые проекты собирают без phobos. Во-вторых, а нахрена тогда этот intrinsic нужен если всё равно вызывается функция? Если я захочу вызывать функцию лучше я её явно вызову чем вот через такую жопу.

Такое ощущение, что математические intrinsics делали на отъебись, типа начальник сказал чтобы они были, но ему похуй как они там будут. Это бы было простительно для обычного проекта, но не для языка программирования.
0