GithubHelp home page GithubHelp logo

joelkp / ranoise Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 351 KB

Ranoise (random access noise) algorithms and PRNG tests and comparisons. Ranoise uses chaotic wavehaping to turn e.g. sawtooth-ish input values into white noise. Mirror of the repository on Codeberg.

Makefile 5.44% C 94.56%
c prng pseudorandom random white-noise

ranoise's Introduction

I think the time has come to begin leaving GitHub behind. I'm more active on Codeberg, but I still check GitHub notifications.

My personal website has more on my projects and interests, and also points to some further places where you'll find me.

ranoise's People

Contributors

joelkp avatar

Watchers

 avatar

ranoise's Issues

splitmix32a info

Hello,

I'm possibly the one responsible for splitmix32a, or at least a lot of people seem to be using it from my post over at https://stackoverflow.com/a/52056161/815680.

I can't seem to find any source that I might've referenced prior to Aug 2018. There still might've been some unknown source that convinced me it was better than the supposed 'original', but can't remember anything for sure. I never tested it though, so I'm surprised that it's somehow better.

I actually had a slightly different version at first, before I quickly edited it the current constants.

uint32_t splitmix32(void) {
    uint32_t z = state += 0x3504f333;
    z ^= z >> 15; // 16 for murmur3
    z *= 0x85ebca6b;
    z ^= z >> 13;
    z *= 0xc2b2ae3d; // 0xc2b2ae35 for murmur3
    return z ^= z >> 16;
}

For some reason in this first version I used one constant from xxHash. No clue why. Of course the original is just a modified fmix fn from MurmurHash3.

I also chose an increment value related to Weyl sequences likely originating from here: http://marc-b-reynolds.github.io/math/2016/03/29/weyl_hash.html

I found a similar function that uses both of xxHash's constants in a similar function, also sharing that 0x3504f333 increment: https://www.thefiletree.com/espadrine/%E2%9A%92/random/weyl.html?app=html. Though this appears to be dated to 2020.

Feel free to close this issue, just sharing some info.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.