Browse Source

bug fix, incorrect '%le' printf format specifier

rlar 14 years ago
parent
commit
f17b14102c
  1. 14
      ChangeLog
  2. 2
      src/frontend/numparam/xpressn.c
  3. 4
      src/maths/poly/polyfit.c

14
ChangeLog

@ -1,3 +1,17 @@
2012-01-08 Robert Larice
* src/frontend/numparam/xpressn.c ,
* src/maths/poly/polyfit.c :
bug fix, incorrect '%le' printf format specifier
responsible for failure on mingw. see
string parameters cause crash on win32 platform - ID: 3469699
http://sourceforge.net/tracker/?func=detail&atid=423915&group_id=38962&aid=3469699
I've sneaked this in with commit
"numparm, 17 digit placeholders --> numparm__XXXXXXXX dummy symbols"
from
2011-02-19 Robert Larice
2012-01-07 Robert Larice
* src/spicelib/devices/bsim1/b1set.c ,
* src/spicelib/devices/bsim2/b2set.c ,

2
src/frontend/numparam/xpressn.c

@ -1399,7 +1399,7 @@ evaluate (tdico * dico, SPICE_DSTRINGPTR qstr_p, char *t, unsigned char mode)
*/
char buf[17+1];
if(snprintf(buf, sizeof(buf), "% 17.9le", u) != 17) {
if(snprintf(buf, sizeof(buf), "% 17.9e", u) != 17) {
fprintf(stderr, "ERROR: xpressn.c, %s(%d)\n", __FUNCTION__, __LINE__);
controlled_exit(1);
}

4
src/maths/poly/polyfit.c

@ -93,7 +93,7 @@ ft_polyfit(double *xdata, double *ydata, double *result,
if (fabs(d - ydata[i]) > ABS_TOL) {
/*
fprintf(cp_err,
"Error: polyfit: x = %le, y = %le, int = %le\n",
"Error: polyfit: x = %e, y = %le, int = %e\n",
xdata[i], ydata[i], d);
printmat("mat1", mat1, n, n);
printmat("mat2", mat2, n, 1);
@ -103,7 +103,7 @@ ft_polyfit(double *xdata, double *ydata, double *result,
ABS_TOL) > REL_TOL) {
/*
fprintf(cp_err,
"Error: polyfit: x = %le, y = %le, int = %le\n",
"Error: polyfit: x = %e, y = %le, int = %e\n",
xdata[i], ydata[i], d);
printmat("mat1", mat1, n, n);
printmat("mat2", mat2, n, 1);

Loading…
Cancel
Save