Noise functions are slightly different from Rnd functions in that when you give it a series of numbers - say 1,2,3,4,5 the values returned must have no discernable relation to each other. This is a bit more demanding requirement than seeding a Rnd function.
The value returned depends entirely on the value passed to it . The noise function has no seeded sequence to remember.
I found these work well enough for graphical noise generation:
'------------------------------
Function Noise(sys i) As Single
'==============================
Static As Single f, d=1/0x7fffffff
mov eax,i
xor eax,35353535
imul eax,eax
ror eax,17
imul eax,i
ror eax,7
push eax
fild dWord [esp]
add esp,4
fmul dWord d
fstp dWord _return
End Function
'----------------------------
Function Noisei(sys i) As sys
'============================
mov eax,i
xor eax,35353535
imul eax,eax
ror eax,17
imul eax,i
ror eax,7
mov _return,eax
End Function
Charles