patches/gnumeric-01-numtheory.diff
author jurikm
Sun, 12 Feb 2012 14:04:10 +0000
changeset 8245 383896da4129
parent 2901 cfd87a6bffdd
permissions -rw-r--r--
SFEsauerbraten.spec: add IPS package name

--- gnumeric-1.10.9/plugins/fn-numtheory/numtheory.c-orig	2010-08-26 22:21:00.688371013 -0500
+++ gnumeric-1.10.9/plugins/fn-numtheory/numtheory.c	2010-08-26 22:22:53.747146100 -0500
@@ -38,7 +38,7 @@ GNM_PLUGIN_MODULE_HEADER;
  * represented in a gnm_float _and_ in a guint64.  (For regular "double",
  * the latter part is irrelevant.)
  */
-static const double bit_max = MIN (1 / GNM_EPSILON, (gnm_float)G_MAXUINT64);
+#define GNUMERIC_BIT_MAX ((double)(MIN (1 / GNM_EPSILON, (gnm_float)G_MAXUINT64)))
 
 /* ------------------------------------------------------------------------- */
 
@@ -237,7 +237,7 @@ gnumeric_phi (GnmFuncEvalInfo *ei, GnmVa
 	guint64 phi = 1;
 	gnm_float n = gnm_floor (value_get_as_float (args[0]));
 
-	if (n < 1 || n > bit_max)
+	if (n < 1 || n > GNUMERIC_BIT_MAX)
 		return value_new_error_NUM (ei->pos);
 
 	if (walk_factorization ((guint64)n, &phi, walk_for_phi))
@@ -277,7 +277,7 @@ gnumeric_nt_mu (GnmFuncEvalInfo *ei, Gnm
 	int mu = 1;
 	gnm_float n = gnm_floor (value_get_as_float (args[0]));
 
-	if (n < 1 || n > bit_max)
+	if (n < 1 || n > GNUMERIC_BIT_MAX)
 		return value_new_error_NUM (ei->pos);
 
 	if (walk_factorization ((guint64)n, &mu, walk_for_mu))
@@ -310,7 +310,7 @@ gnumeric_d (GnmFuncEvalInfo *ei, GnmValu
 	int d = 1;
 	gnm_float n = gnm_floor (value_get_as_float (args[0]));
 
-	if (n < 1 || n > bit_max)
+	if (n < 1 || n > GNUMERIC_BIT_MAX)
 		return value_new_error_NUM (ei->pos);
 
 	if (walk_factorization ((guint64)n, &d, walk_for_d))
@@ -344,7 +344,7 @@ gnumeric_sigma (GnmFuncEvalInfo *ei, Gnm
 	guint64 sigma = 1;
 	gnm_float n = gnm_floor (value_get_as_float (args[0]));
 
-	if (n < 1 || n > bit_max)
+	if (n < 1 || n > GNUMERIC_BIT_MAX)
 		return value_new_error_NUM (ei->pos);
 
 	if (walk_factorization ((guint64)n, &sigma, walk_for_sigma))
@@ -399,7 +399,7 @@ gnumeric_isprime (GnmFuncEvalInfo *ei, G
 
 	if (i < 0)
 		yesno = 0;
-	else if (i > bit_max)
+	else if (i > GNUMERIC_BIT_MAX)
 		yesno = -1;
 	else
 		yesno = isprime ((guint64)i);
@@ -455,7 +455,7 @@ gnumeric_pfactor (GnmFuncEvalInfo *ei, G
 
 	if (n < 2)
 		return value_new_error_VALUE (ei->pos);
-	if (n > bit_max)
+	if (n > GNUMERIC_BIT_MAX)
 		p = 0;
 	else
 		p = prime_factor ((guint64)n);
@@ -486,7 +486,7 @@ gnumeric_nt_pi (GnmFuncEvalInfo *ei, Gnm
 
 	if (n < 0)
 		pi = 0;
-	else if (n > bit_max)
+	else if (n > GNUMERIC_BIT_MAX)
 		pi = -1;
 	else
 		pi = compute_nt_pi ((guint64)n);
@@ -515,7 +515,7 @@ func_bitor (GnmFuncEvalInfo *ei, GnmValu
 	gnm_float l = value_get_as_float (argv[0]);
 	gnm_float r = value_get_as_float (argv[1]);
 
-	if (l < 0 || l > bit_max || r < 0 || r > bit_max)
+	if (l < 0 || l > GNUMERIC_BIT_MAX || r < 0 || r > GNUMERIC_BIT_MAX)
 		return value_new_error_NUM (ei->pos);
 
         return value_new_float ((guint64)l | (guint64)r);
@@ -539,7 +539,7 @@ func_bitxor (GnmFuncEvalInfo *ei, GnmVal
 	gnm_float l = value_get_as_float (argv[0]);
 	gnm_float r = value_get_as_float (argv[1]);
 
-	if (l < 0 || l > bit_max || r < 0 || r > bit_max)
+	if (l < 0 || l > GNUMERIC_BIT_MAX || r < 0 || r > GNUMERIC_BIT_MAX)
 		return value_new_error_NUM (ei->pos);
 
         return value_new_float ((guint64)l ^ (guint64)r);
@@ -564,7 +564,7 @@ func_bitand (GnmFuncEvalInfo *ei, GnmVal
 	gnm_float l = value_get_as_float (argv[0]);
 	gnm_float r = value_get_as_float (argv[1]);
 
-	if (l < 0 || l > bit_max || r < 0 || r > bit_max)
+	if (l < 0 || l > GNUMERIC_BIT_MAX || r < 0 || r > GNUMERIC_BIT_MAX)
 		return value_new_error_NUM (ei->pos);
 
         return value_new_float ((guint64)l & (guint64)r);
@@ -589,7 +589,7 @@ func_bitlshift (GnmFuncEvalInfo *ei, Gnm
 	gnm_float l = value_get_as_float (argv[0]);
 	gnm_float r = gnm_floor (value_get_as_float (argv[1]));
 
-	if (l < 0 || l > bit_max)
+	if (l < 0 || l > GNUMERIC_BIT_MAX)
 		return value_new_error_NUM (ei->pos);
 
 	if (r >= 64 || r <= -64)
@@ -619,7 +619,7 @@ func_bitrshift (GnmFuncEvalInfo *ei, Gnm
 	gnm_float l = value_get_as_float (argv[0]);
 	gnm_float r = gnm_floor (value_get_as_float (argv[1]));
 
-	if (l < 0 || l > bit_max)
+	if (l < 0 || l > GNUMERIC_BIT_MAX)
 		return value_new_error_NUM (ei->pos);
 
 	if (r >= 64 || r <= -64)