Download presentation

Presentation is loading. Please wait.

Published byShawn Timblin Modified over 2 years ago

1
**The Mathematics Behind the Fast Inverse Square Root Function Code**

0x5f3759df The Mathematics Behind the Fast Inverse Square Root Function Code McEniry, Charles 2007 November 2014

2
**Fast Inverse Square Root**

Problem Application Compute Why normalization is called billions of times for lighting and reflection tasks

3
**Q_rsqrt: Quake3 source code**

float Q_rsqrt( float number ) { long i; float x2, y; const float threehalfs = 1.5F; x2 = number * 0.5F; y = number; i = * ( long * ) &y; // evil floating point bit level hacking i = 0x5f3759df - ( i >> 1 ); // what the fuck? y = * ( float * ) &i; y = y * ( threehalfs - ( x2 * y * y ) ); // 1st iteration // y = y * ( threehalfs - ( x2 * y * y ) ); // 2nd iteration return y; }

4
**2) Newton’s method: with initial solution**

y= 1 √𝑥 the function to minimize: f . =𝑦− 1 √𝑥 𝑦 𝑛+1 = 𝑦 𝑛 − 𝑓( 𝑦 𝑛 ) 𝑓′( 𝑦 𝑛 ) Plugging 𝑓(𝑦 𝑛 ), f ′ 𝑦 𝑛 = 1 𝑦 2 −𝑥,− 2 𝑦 3 gives 𝑦(3−𝑥 𝑦 2 ) 2 =𝑦(1.5− 𝑥 𝑦 2 2 ) const float threehalfs = 1.5F; x2 = number * 0.5F; y = y * ( threehalfs - ( x2 * y * y ) ); // 1st iteration

5
**1) Approximation of log_2(x) using Int(x)**

1.1 Floating Point Representation 1.2 Float Perspective: 1.3 Integer Perspective 1.4 Finding int(y) from int(x) i = * ( long * ) &y; // evil floating point bit level hacking i = 0x5f3759df - ( i >> 1 ); // what the fuck? y = * ( float * ) &i;

6
0x5f3759df McEniry, Charles (August 2007). "The Mathematics Behind the Fast Inverse Square Root Function Code

7
0x5f3759df The integer aliased to a floating point number (in blue), compared to a scaled and shifted logarithm (in gray).

Similar presentations

OK

Square Root The square root of a nonnegative number is a number that, when multiplied by itself, is equal to that nonnegative number. Square roots have.

Square Root The square root of a nonnegative number is a number that, when multiplied by itself, is equal to that nonnegative number. Square roots have.

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google

Ppt on multivariate statistical analysis Ppt on dispersal of seeds by animals pictures Ppt on layer 3 switching hub Ppt on seasons in french Ppt on economic order quantity calculator A ppt on communication skills Ppt on adjectives for grade 3 Ppt on abortion in india Ppt on information technology industry in india Ppt on nature and human interaction