Реализация modf из cmath
От: graviton9  
Дата: 24.01.12 10:58
Оценка:
Здравствуйте. Нужна реализация функции modf то есть алгоритм, тело функции и тмп. Искал в соурсах студии не нашел там токо хедр. Заеанее спасибо.
Re: Реализация modf из cmath
От: watch-maker  
Дата: 24.01.12 18:18
Оценка: 3 (1)
Здравствуйте, graviton9, Вы писали:

G>З Нужна реализация функции modf


Это одна из функций эффективность реализации которой существенно зависит от возможностей процессора. На некоторых машинах эта функция реализована аппаратно или требует небольшой предобработки аргументов перед запуском аппаратной реализации (к примеру, на i387 можно реализовать modf через пару FRNDINT+FSUB). То есть вместо вызова компилятор может сразу подставить нужные инструкции. Если же соответствующая поддержка со стороны процессора отсутствует, то функция modf может существовать именно как полноценная функция. В таких случаях она может быть реализована например так.
Re[2]: Реализация modf из cmath
От: graviton9  
Дата: 25.01.12 15:55
Оценка:
Здравствуйте, watch-maker, Вы писали:

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


G>>З Нужна реализация функции modf


WM>Это одна из функций эффективность реализации которой существенно зависит от возможностей процессора. На некоторых машинах эта функция реализована аппаратно или требует небольшой предобработки аргументов перед запуском аппаратной реализации (к примеру, на i387 можно реализовать modf через пару FRNDINT+FSUB). То есть вместо вызова компилятор может сразу подставить нужные инструкции. Если же соответствующая поддержка со стороны процессора отсутствует, то функция modf может существовать именно как полноценная функция. В таких случаях она может быть реализована например так.

Большое спасибо за ссылку
Re[2]: Реализация modf из cmath
От: graviton9  
Дата: 25.01.12 15:57
Оценка:
Здравствуйте, watch-maker, Вы писали:

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


G>>З Нужна реализация функции modf


WM>Это одна из функций эффективность реализации которой существенно зависит от возможностей процессора. На некоторых машинах эта функция реализована аппаратно или требует небольшой предобработки аргументов перед запуском аппаратной реализации (к примеру, на i387 можно реализовать modf через пару FRNDINT+FSUB). То есть вместо вызова компилятор может сразу подставить нужные инструкции. Если же соответствующая поддержка со стороны процессора отсутствует, то функция modf может существовать именно как полноценная функция. В таких случаях она может быть реализована например так.

А как нашел ? Молодец, я тоже искал...((
Re[3]: Реализация modf из cmath
От: watch-maker  
Дата: 25.01.12 17:50
Оценка: 5 (2)
Здравствуйте, graviton9, Вы писали:

G>А как нашел ?

modf — функция из libc. У libc есть несколько популярных реализаций. Выбираешь какая тебе нравится и смотришь в системе контроля версий на исходники. Например, на x86-64 реализация в BSD libc будет выглядеть вот так. Видно, что это несколько отличается от подхода в (e)glibc (ссылка на который была раньше). А именно, используются возможности сопроцессора вместо игр с битами.
Re[4]: Реализация modf из cmath
От: graviton9  
Дата: 26.01.12 06:06
Оценка:
Здравствуйте, watch-maker, Вы писали:

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


G>>А как нашел ?

WM>modf — функция из libc. У libc есть несколько популярных реализаций. Выбираешь какая тебе нравится и смотришь в системе контроля версий на исходники. Например, на x86-64 реализация в BSD libc будет выглядеть вот так. Видно, что это несколько отличается от подхода в (e)glibc (ссылка на который была раньше). А именно, используются возможности сопроцессора вместо игр с битами.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.