I'm looking for a small function from integers to integers - in a language that only has floats - that can act as a visual RNG. Normally I would use a function such as the one described here:int cash(int x, int y){       int h = seed + x*374761393 + y*668265263; //all constants are prime    h = (h^(h >> 13))*1274126177;    return h^(h >> 16);}However, for the thing I'm working on, I have the added restriction of only using arithmetic operations. the operations I have available are: +, *, -, /, %, sign(), abs(), pow(base, exponent), ln(), floor(), as well as basic trig functions. I'm having difficulty finding anything that doesn't rely on having bitwise operations available. Does anyone know of a hash function that doesn't use xor, that produces reasonable visual randomness when fed a linear sequence of integers?
Are there any hash functions/stateless RNGs that do not use XOR, but produce good quality visual randomness?
hash;graphics;pseudo random generators