[PATCH xcalc 1/2] Use the new M_PI symbol from math.h
Stéphane Aulery
lkppo at free.fr
Sat Jul 6 17:02:38 PDT 2013
Use the new M_PI symbol from math.h and fix and a value of the same
accuracy if it's necessary to redefine M_PI.
Signed-off-by: Stéphane Aulery <lkppo at free.fr>
---
math.c | 26 +++++++++++++-------------
1 file changed, 13 insertions(+), 13 deletions(-)
diff --git a/math.c b/math.c
index 7f81757..bb31b14 100644
--- a/math.c
+++ b/math.c
@@ -18,8 +18,8 @@
#include "xcalc.h"
-#ifndef PI /* sometimes defined in math.h */
-#define PI 3.14159265358979
+#ifndef M_PI /* sometimes defined in math.h */
+#define M_PI 3.14159265358979323846
#endif
#define E 2.71828182845904
#define MAXDISP 11
@@ -42,8 +42,8 @@ jmp_buf env;
static int flagINV, flagPAREN, flagM, drgmode; /* display flags */
-static double drg2rad=PI/180.0; /* Conversion factors for trig funcs */
-static double rad2drg=180.0/PI;
+static double drg2rad=M_PI/180.0; /* Conversion factors for trig funcs */
+static double rad2drg=180.0/M_PI;
static int entered=1; /* true if display contains a valid number.
if==2, then use 'dnum', rather than the string
stored in the display. (for accuracy)
@@ -633,8 +633,8 @@ drgf(void)
if (entered==1)
parse_double(dispstr,"%lf",&dnum);
switch (drgmode) {
- case DEG: dnum=dnum*PI/180.0; break;
- case RAD: dnum=dnum*200.0/PI; break;
+ case DEG: dnum=dnum*M_PI/180.0; break;
+ case RAD: dnum=dnum*200.0/M_PI; break;
case GRAD: dnum=dnum*90.0/100.0; break;
}
entered=2;
@@ -646,14 +646,14 @@ drgf(void)
flagINV=0;
drgmode = (drgmode + 1) % 3;
switch (drgmode) {
- case DEG: drg2rad=PI / 180.0;
- rad2drg=180.0 / PI;
+ case DEG: drg2rad=M_PI / 180.0;
+ rad2drg=180.0 / M_PI;
break;
case RAD: drg2rad=1.0;
rad2drg=1.0;
break;
- case GRAD: drg2rad=PI / 200.0;
- rad2drg=200.0 / PI;
+ case GRAD: drg2rad=M_PI / 200.0;
+ rad2drg=200.0 / M_PI;
break;
}
DrawDisplay();
@@ -689,7 +689,7 @@ oneop(int keynum)
switch (keynum) { /* do the actual math fn. */
case kE: if (rpn && memop != kENTR) PushNum(dnum); dnum=E; break;
- case kPI: if (rpn && memop != kENTR) PushNum(dnum); dnum=PI; break;
+ case kPI: if (rpn && memop != kENTR) PushNum(dnum); dnum=M_PI; break;
case kRECIP: dnum=1.0/dnum; break;
case kSQR: flagINV = !flagINV; /* fall through to */
case kSQRT: if (flagINV) dnum=dnum*dnum;
@@ -908,6 +908,6 @@ ResetCalc(void)
strcpy(dispstr,"0");
draw(dispstr);
ClearStacks();
- drg2rad=PI/180.0;
- rad2drg=180.0/PI;
+ drg2rad=M_PI/180.0;
+ rad2drg=180.0/M_PI;
}
--
1.7.10.4
More information about the xorg-devel
mailing list