noise-rs icon indicating copy to clipboard operation
noise-rs copied to clipboard

Definition of output ranges.

Open cheako opened this issue 5 years ago • 3 comments

https://docs.rs/noise/0.5.1/noise/struct.OpenSimplex.html does not specify it's output range, I only knew to look when I was getting negative numbers. Looks like it's -1 to 1, not sure if it's inclusive or not. These are the kinds of things that:

  1. Should be consistent about, get() for all NoiseFns should produce the same rage, I suggest -1 to 1 inclusive or 0(exclusive) to 1(inclusive).
  2. Should be well documented, even if there are no notations about compliance it should be explicitly stated in the docs. This assumes some implementations won't, for example, be able to get all the way to 1.

cheako avatar Mar 28 '19 09:03 cheako

Testing, I'm getting the range [-0.5; 0.5]. I'd also like if this information was added to the documentation.

Additionally, it would be great if there was a Range trait. That all the noise algorithms implemented. Even better if it is also implemented for the various noise functions. Such that Min, Power, etc. would correctly scale the min() and max() relative to their operation and the min/max of the source(s).

vallentin avatar Jul 30 '19 21:07 vallentin

Affirmative, having undefined behavior leads to different algorithms being undefined in different and often incompatible ways.

cheako avatar Jul 30 '19 23:07 cheako