Made ecpglib write double with a precision of 15 digits.

Patch by Akira Kurosawa <kurosawa-akira@mxc.nes.nec.co.jp>.
This commit is contained in:
Michael Meskes 2011-07-18 16:30:51 +02:00
parent 8aba280742
commit 66593881c6

View File

@ -690,12 +690,12 @@ ecpg_store_input(const int lineno, const bool force_indicator, const struct vari
strcpy(mallocedval, "array [");
for (element = 0; element < asize; element++)
sprintf(mallocedval + strlen(mallocedval), "%.14g,", ((float *) var->value)[element]);
sprintf(mallocedval + strlen(mallocedval), "%.15g,", ((float *) var->value)[element]);
strcpy(mallocedval + strlen(mallocedval) - 1, "]");
}
else
sprintf(mallocedval, "%.14g", *((float *) var->value));
sprintf(mallocedval, "%.15g", *((float *) var->value));
*tobeinserted_p = mallocedval;
break;
@ -709,12 +709,12 @@ ecpg_store_input(const int lineno, const bool force_indicator, const struct vari
strcpy(mallocedval, "array [");
for (element = 0; element < asize; element++)
sprintf(mallocedval + strlen(mallocedval), "%.14g,", ((double *) var->value)[element]);
sprintf(mallocedval + strlen(mallocedval), "%.15g,", ((double *) var->value)[element]);
strcpy(mallocedval + strlen(mallocedval) - 1, "]");
}
else
sprintf(mallocedval, "%.14g", *((double *) var->value));
sprintf(mallocedval, "%.15g", *((double *) var->value));
*tobeinserted_p = mallocedval;
break;