# Theory

Get flash to fully experience Pearltrees

## Fast inverse square root

Fast inverse square root (sometimes referred to as Fast InvSqrt() or by the hexadecimal constant 0x5f3759df ) is a method of calculating x −½ , the reciprocal (or multiplicative inverse) of a square root for a 32-bit floating point number in IEEE 754 floating point format . The algorithm was probably developed at Silicon Graphics in the early 1990s, and an implementation appeared in 1999 in the Quake III Arena source code, but the method did not appear on public forums such as Usenet until 2002 or 2003. [ 1 ] At the time, the primary advantage of the algorithm came from avoiding computationally expensive floating point operations in favor of integer operations. Inverse square roots are used to compute angles of incidence and reflection for lighting and shading in computer graphics .

## Knuth shuffle

Knuth shuffle You are encouraged to solve this task according to the task description, using any language you may know. Implement the Knuth shuffle (a.k.a. the Fisher-Yates shuffle) for an integer array (or, if possible, an array of any type). The Knuth shuffle is used to create a random permutation of an array.
The Fisher–Yates shuffle (named after Ronald Fisher and Frank Yates ), also known as the Knuth shuffle (after Donald Knuth ), is an algorithm for generating a random permutation of a finite set —in plain terms, for randomly shuffling the set.