gegl r2051 - in trunk: . operations/workshop



Author: schumaml
Date: Mon Feb 18 21:22:58 2008
New Revision: 2051
URL: http://svn.gnome.org/viewvc/gegl?rev=2051&view=rev

Log:
2008-02-18  Michael Schumacher  <schumaml cvs gnome org>

	* operations/workshop/envelopes.h (compute_luts): replaced non-portable
	random()*... by suitable g_rand_double_range calls(). 
	Fixes bug #517296.

Modified:
   trunk/ChangeLog
   trunk/operations/workshop/envelopes.h

Modified: trunk/operations/workshop/envelopes.h
==============================================================================
--- trunk/operations/workshop/envelopes.h	(original)
+++ trunk/operations/workshop/envelopes.h	Mon Feb 18 21:22:58 2008
@@ -28,20 +28,26 @@
 static void compute_luts(gdouble rgamma)
 {
   gint i;
+  GRand *rand;
+
   if (luts_computed==rgamma)
     return;
   luts_computed = rgamma;
+  rand = g_rand_new();
 
   for (i=0;i<ANGLE_PRIME;i++)
     {
-      gfloat angle = (random() / (RAND_MAX*1.0)) * 3.141592653589793*2;
+      gfloat angle = g_rand_double_range (rand, 0.0, G_PI*2);
       lut_cos[i] = cos(angle);
       lut_sin[i] = sin(angle);
     }
   for (i=0;i<RADIUS_PRIME;i++)
     {
-      radiuses[i] = pow(random() / (RAND_MAX*1.0), rgamma);
+      radiuses[i] = pow(g_rand_double_range (rand, 0.0, 1.0), rgamma);
     }
+
+  g_rand_free(rand);
+
 }
 
 static inline void



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