[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1093633: libnoise0: GradientCoherentNoise3D does not adhere to the domain {-1.0 .. 1.0}



Package: libnoise0
X-Debbugs-Cc: cliffjkilby@gmail.com
Version: 1.0.0+repack-1+b1
Severity: important
Tags: upstream

Dear Maintainer,

I observed out of bounds condition with GradientCoherentNoise3D.

Per source header documentation:
  /// @returns The generated gradient-coherent-noise value.
  ///
  /// The return value ranges from -1.0 to +1.0.

Test cases:
GradientCoherentNoise3D(0.25,-0.45,0.5)=1.00355
GradientCoherentNoise3D(-0.05,-0.45,0.5)=1.00432
GradientCoherentNoise3D(0.3,-0.5,0.5)=1.00751
GradientCoherentNoise3D(0.2,-0.45,0.5)=1.01694
GradientCoherentNoise3D(0,-0.45,0.5)=1.02274
GradientCoherentNoise3D(0.15,-0.45,0.5)=1.02594
GradientCoherentNoise3D(0.05,-0.45,0.5)=1.02919
GradientCoherentNoise3D(0.1,-0.45,0.5)=1.03015
GradientCoherentNoise3D(0.25,-0.5,0.5)=1.03285
GradientCoherentNoise3D(-0.05,-0.5,0.5)=1.03658
GradientCoherentNoise3D(0.2,-0.5,0.5)=1.05275
GradientCoherentNoise3D(0,-0.5,0.5)=1.06107
GradientCoherentNoise3D(0.15,-0.5,0.5)=1.06634
GradientCoherentNoise3D(0.05,-0.5,0.5)=1.07129
GradientCoherentNoise3D(0.1,-0.5,0.5)=1.07279

Expected results:
Return value ranges from -1.0 to +1.0

I contacted the author, who confirmed the source is unmaintained, and indicated that this may just be a documentation error. But, if anyone built software based on the documented domain, it will eventually fall beyond the documented domain. Hence I classified this as "important" and not "normal".

Reply to: