aruslan: (Default)
[personal profile] aruslan
Очень рекомендую к прочтению замечательную статью "Магия" [livejournal.com profile] kunaifusu про довольно стандартный трик магического преобразования floating point в int с помощью загадочных констант.

В статье очень детально и вкусно расписываются корни преобразования и происхождение чисел вроде
  (double)fp+6755399441055744.0

Что характерно, рассказывается как сделать это без double ;)

Помню своё удивление, когда я впервые увидел зубодробительные пассажи для табличного вычисления синусов и косинусов, которые начинались с характерного приведения аргументов
  inline float SinCosFast(float x, float &cosx) 
  {
    x= 0.159155f*x +1536.0f;
    ...
  }


Уже потом появились cvtps2pi, споры о тормозах, выравнивания, спецхинты и инструкции. Естественно, не везде (ц).

А тогда это было интересным и свежим взглядом на жизнь.

Особенно из-за явного джедайского форса.
Который молча рубил одной строчкой тупые брутальные
    const int a = *reinterpret_cast<const int*>(&fp);
    const int sign = (a>>31);
    const int mantissa  = (a&((1<<23)-1))|(1<<23);
    const int exponent  = ((a&0x7fffffff)>>23)-127;
    const int r         = ((unsigned int)(mantissa)<<8)>>(31-exponent);
    return ((r ^ (sign)) - sign ) &~ (exponent>>31);


Клёвая статья, спасибо! :)

Ну и танкистские ссылки напоследок:

1. "What Every Computer Scientist Should Know About Floating Point Arithmetic" by David Goldberg
2. "Let's Go to the (Floating) Point" by Chris Hecker
3. "Магия" by [livejournal.com profile] kunaifusu
4. "Origin of Quake3's Fast InvSqrt()" - Part I, читать камменты, Part II (via [livejournal.com profile] qiller_neu)
From: (Anonymous)
[url=http://tinyurl.com/3jsry2q][img]http://i006.radikal.ru/1105/3f/d0cea78e1b02.jpg[/img][/url]

| комментарии 1 свадьба по обмену смотреть онлайн о фильме:супермодель соня мечтает о тихом семейном счастье с давним бой-френдом русланом самовлюблённым ведущим популярного кулинарного шоу, но тот не разделяет её мечты, он грезит только о славе и повышении собственного рейтинга, поэтому делает соне предложение руки и сердца в присутствии толпы репортеров. [url=http://aleksiy8k.krovatka.su/prostitutki-individualki-po-vyzovu-38.html]проститутки индивидуалки по вызову[/url] Мы зашли в тропические заросли, присели на скамейке, и я достал из сумки путеводитель по Гагре из санатория Гребешок. [url=http://imarav1.hotmail.ru/prostitutki-goroda-pyatigorska-551.html]проститутки города пятигорска[/url] Девушка едет на «крутом» джипе и считает, что правила дорожного движения не для нее написаны. [url=http://camelliao4.hotmail.ru/sait-prostitutok-karagandy-283.html]сайт проституток караганды[/url] К 14 часам польская столица была полностью освобождена от фашистских оккупантов. [url=http://mideacx.nightmail.ru/nizhnii-novgorod-dosug-prostitutki-312.html]нижний новгород досуг проститутки[/url] Наиболее часто встречающиеся или интересные вопросы я буду переносить в этот пост. [url=http://judecieyh.newmail.ru/prostitutki-na-moskovskom-shosse-567.html]проститутки на московском шоссе[/url] С 1931 заместитель наркомвоенмора и председатель Реввоенсовета СССР, начальник вооружений РККА. [url=http://brantleyad.front.ru/elitnye-prostitutki-ulyanovska-344.html]элитные проститутки ульяновска[/url] Зато у соседей можно было попробовать что-то необычное.

Profile

aruslan: (Default)
aruslan

January 2014

S M T W T F S
   1234
56789 1011
12131415161718
19202122232425
262728293031 

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Dec. 28th, 2025 10:24
Powered by Dreamwidth Studios