Jan 162021
 

http://h14s.p5r.org/2012/09/0x5f3759df.html

0x5f3759df

This post is about the magic constant 0x5f3759df and an extremely neat hack, fast inverse square root, which is where the constant comes from.

Meet the inverse square root hack:

float FastInvSqrt(float x) {
  float xhalf = 0.5f * x;
  int i = *(int*)&x;         // evil floating point bit level hacking
  i = 0x5f3759df - (i >> 1);  // what the fuck?
  x = *(float*)&i;
  x = x*(1.5f-(xhalf*x*x));
  return x;
}

What this code does is calculate, quickly, a good approximation for

\frac{1}{\sqrt{x}}

It’s a fairly well-known function these days and first became so when it appeared in the source of Quake III Arena in 2005. It was originally attributed to John Carmack but turned out to have a long history before Quake going back through SGI and 3dfx to Ardent Computer in the mid 80s to the original author Greg Walsh. The concrete code above is an adapted version of the Quake code (that’s where the comments are from).

 Posted by at 6:16 pm
Jan 012021
 

 

http://www.breatharian.eu/hw/index.html

Pandova bastlírna

Původním zaměřením jsem elektrikář-slaboproudař, a tak mě občas chytne (kromě softwerařiny) zabývat se vývojem elektroniky, a to především mikročipy. Výsledky nejsou profi, ale třeba budu někoho inspirovat v jeho tvorbě. Především se snažím zaměřovat stylem “za málo peněz hodně muziky” = vytáhnout maximum z jednoduchého zařízení. Zaměřuji se především na procesory ATmega8.

Mikropočítače

ATpad – Herní konzole s procesorem ATmega8. Výstup na televizor (PAL, NTSC) nebo VGA monitor. Spouštění programů z SD karty. Port s 2 digitálními vstupy/výstupy a 2 analogovými vstupy (možné připojení analogové joysticku).

ET-57 – Klon kalkulátoru TI-57 s procesorem ATmega8.

ET-58 – Klon kalkulátoru TI-58 s procesorem ATmega328.
TI58T tiny – Replika kalkulátoru TI-58C s procesorem ATmega8. Přesnost výpočtů na 19 platných číslic, exponent 4 číslice. NEDOKONČENO
TI59R revival – Upgrade kalkulátoru TI-59 s procesorem ATmega644P. Přesnost výpočtů na 19 platných číslic, exponent 4 číslice. NEODLADĚNO

Měřicí přístroje

RBox – Referenční odporová dekáda 0.1%.

FreqGen – Frekvenční generátor funkcí s procesorem ATmega8 (1 Hz až 8 MHz).

FreqMeter – Přesný měřič frekvence s procesorem ATmega8 (1 Hz až 50 MHz, příp. 1 Hz až 100 MHz).

RCLmeter – Měřič odporů, kondenzátorů, cívek, ESR, napětí a indikátor zkratů, s automatickou změnou rozsahů.

Různé

Craft – Minimalistické VGA demo s procesorem ATmega88 od švédského autora Linus Akesson.

 

Další (starší) projekty: http://panda38.sweb.cz/bastlirna.html

 

 

email: 

domovská www: panda38.sweb.cz

 Posted by at 3:35 pm