Skip to content

Instantly share code, notes, and snippets.

@kevinmoran
kevinmoran / Murmur3.cpp
Created May 27, 2020 09:26
Simple MurmurHash3 Implementation (from Demetri Spanos)
// Minimal Murmur3 implementation shared by Demetri Spanos on Handmade Network Discord
//
// Code is deliberately terse and simplistic
// Intended to be the first hash function you reach for e.g. a simple hash table
// *** NB THIS IS NOT A CRYPTOGRAPHIC HASH ***
//
// @demetrispanos:
// "yes let me reiterate the moral of this story
// there is never any reason to use a dumb made up hash function
// use murmur3 or jenkins-one-at-a-time for a 0-effort version
@kevinmoran
kevinmoran / SinApprox.h
Last active October 9, 2019 15:50
Sin Approximation
// From: https://web.archive.org/web/20080228213915/http://www.devmaster.net/forums/showthread.php?t=5784
float sinApprox(float x)
{
const float kPI32 = 3.14159265359f;
const float B = 4/kPI32;
const float C = -4/(kPI32*kPI32);
float y = B * x + C * x * abs(x);
@kevinmoran
kevinmoran / cubicSinf.h
Created October 9, 2019 15:49
Cubic approximation of sinf(), if you only need something sinusoid-ish
// Source: https://www.youtube.com/watch?v=1xlCVBIF_ig
float cubicSinf(float x)
{
float t = x * 0.15915f;
t = t - (int)t;
return 20.785f * t * (t - 0.5f) * (t - 1.f);
}