Аналог функции fmod
От: Angakok Россия  
Дата: 06.06.07 21:35
Оценка:
Есть ли в Delphi аналог функции C++ double fmod(double x, double y) ?
Никак не найду что-нибудь похожее (((
Re: Аналог функции fmod
От: Serg Bormant  
Дата: 06.06.07 22:07
Оценка:
Здравствуйте, Angakok, Вы писали:

A>Есть ли в Delphi аналог функции C++ double fmod(double x, double y) ?

A>Никак не найду что-нибудь похожее (((

Как-то так:
function fmod(x, y: extended): extended;
begin
  result := frac(x/y);
  if (x < 0) xor (result < 0) then result := -result;
end;


задание на дом: поправить на предмет тихого возврата NaN при y=0.0.
--

wbr, sb Правила форумов RSDN, Как правильно задавать вопросы
Re[2]: Аналог функции fmod
От: Serg Bormant  
Дата: 06.06.07 22:24
Оценка:
Есть ли в Delphi аналог функции C++ double fmod(double x, double y) ?
Никак не найду что-нибудь похожее (((

Или еще короче:
function fmod(x, y: extended): extended;
begin
  result := frac(x/abs(y));
end;

p.s. примечание про "тихий NaN" в силе.
--

wbr, sb Правила форумов RSDN, Как правильно задавать вопросы
Re[3]: Аналог функции fmod
От: wallaby  
Дата: 06.06.07 22:55
Оценка:
Здравствуйте, Serg Bormant, Вы писали:

SB>
SB>function fmod(x, y: extended): extended;
SB>begin
SB>  result := frac(x/abs(y));
SB>end;
SB>

SB>p.s. примечание про "тихий NaN" в силе.

по-моему abs(y)*frac(x/abs(y))
---
The optimist proclaims that we live in the best of all possible worlds; and the pessimist fears this is true
Re[4]: Аналог функции fmod
От: Serg Bormant  
Дата: 06.06.07 23:13
Оценка:
Здравствуйте, wallaby, Вы писали:

W>Здравствуйте, Serg Bormant, Вы писали:


SB>>
SB>>function fmod(x, y: extended): extended;
SB>>begin
SB>>  result := frac(x/abs(y));
SB>>end;
SB>>

SB>>p.s. примечание про "тихий NaN" в силе.

W>по-моему abs(y)*frac(x/abs(y))


точно, был невнимателен следовательно и abs ни к чему... в сухом остатке
function fmod(x, y: extended): extended;
begin
  result := y*frac(x/y);
end;
--

wbr, sb Правила форумов RSDN, Как правильно задавать вопросы
Re[5]: Аналог функции fmod
От: Angakok Россия  
Дата: 07.06.07 19:16
Оценка:
Спасибо wallaby, спасибо Serg Bormant !!!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.