Main Page

From Dirks Personal WiKi
Revision as of 05:05, 31 August 2024 by DirkMittler (talk | contribs)

This is a personal MediaWiki.

The User's Guide will explain how to use the WiKi software, to Dirk.

Getting started

Eq 1:    [math]\displaystyle{ y=\pm\sqrt{1-x^{2}} }[/math] & ;& ; (Equation for circle.)

Drop-Down Menu
  • [[Plastic Widgets]]
  • [[Framistans]]
  • [[Pet Rocks]]
  • Eq 1

The following is a hypothetical exercise...

A cartoon centipede reads books and types on a laptop.
The Wikipede edits wikipedia:Myriapoda.

This example is supposed to show how thumbnails can be made to display by default, as well as how inter-WiKi links work.


The following is some (C++) code which has been suggested, to compute the reciprocal square root using a trick. It may not be helpful, because this code requires that the language implementation can already convert a floating-point number into its 64-bit representation.

/*  Fast Inverse Square Root, using Matthew Robertson's
 * Magic Number for double-precision floating-point.
 * 
 * Implemented August 2, 2024
 * by Dirk Mittler
 * 
 */

#include <cstring>
#include <cstdint>

typedef double float64_t;

float64_t Q_rsqrt(const float64_t number) noexcept {
	const float64_t threehalfs = 1.5;
	const float64_t halfnum = 0.5 * number;
	uint64_t temp;
	float64_t y;
	static_assert(sizeof(uint64_t) == sizeof(number),
					"`double` has a weird size.");
	memcpy(&temp, &number, sizeof(float64_t));
//	temp = 0x5f3759df - (temp >> 1);	// Original 32-bit fr Quake III
	temp = 0x5FE6EB50C7B537A9 - (temp >> 1);	// Matthew Robertson's
	memcpy(&y, &temp, sizeof(float64_t));
	y *= (threehalfs - (halfnum * y * y));
	y *= (threehalfs - (halfnum * y * y));
	y *= (threehalfs - (halfnum * y * y));
	return y * (threehalfs - (halfnum * y * y));
}