All pastes #390809 Raw Edit

Something

public cpp v1 · immutable
·published 2007-03-11 18:08 UTC
rendered paste body
enum Dither {	None = 0,	Rectangle,	Triangle};inline quint32 prng_madplay_32bit() {	static quint32 state;		state = (state * 0x0019660dL + 0x3c6ef35fL) & 0xffffffffL;		return state;}template <typename T, Dither mode>inline qint32 dither(qint32 sample);template <>inline qint32 dither<qint16, Rectangle>(qint32 sample) {	return sample - (prng_madplay_32bit() & 0xffff);}template <>inline qint32 dither<qint16, Triangle>(qint32 sample) {	static qint32 last;	qint32 current = prng_madplay_32bit() & 0xffff;	qint32 dither = current - last;		last = current;		qint64 tmp = sample + dither;		return (qint32)qBound(-2147483648LL, tmp, 2147483647LL);}