Difference between revisions of "Main Page"

From Dirks Personal WiKi
m
m (Test SyntaxHighlighter)
Line 22: Line 22:
   
 
[[File:Wikipedesketch.png|thumb|left|alt=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.
 
[[File:Wikipedesketch.png|thumb|left|alt=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 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.
  +
  +
<syntaxhighlighter lang="cpp">
  +
/* 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));
  +
}
  +
  +
</syntaxhighlighter>

Revision as of 00:06, 31 August 2024

This is a personal MediaWiki.

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

Getting started

Eq 1 &em;&em; [math]\displaystyle{ y=\pm\sqrt{1-x^{2}} }[/math] &em;&em;&em;&em; (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 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.

<syntaxhighlighter lang="cpp"> /* Fast Inverse Square Root, using Matthew Robertson's

* Magic Number for double-precision floating-point.
* 
* Implemented August 2, 2024
* by Dirk Mittler
* 
*/
  1. include <cstring>
  2. 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)); }

</syntaxhighlighter>