/SPARTAN/trunk/test/print/print1/test.c |
---|
38,5 → 38,14 |
printf(" B %B %b \n",0x01 ,0x01); |
printf(" F %F %f (123456789.987654321)\n",123456789.987654321,123456789.987654321); |
printf(" F %F %f (-123456789.987654321e-10)\n",-123456789.987654321e-10,-123456789.987654321e-10); |
printf(" E %E %e (123456789.987654321)\n",123456789.987654321,123456789.987654321); |
printf(" E %.10E %.8e (-123456789.987654321e-12 for precision 10 & 8)\n",-123456789.987654321e-12,-123456789.987654321e-12); |
printf(" E %.10E %.8e (-987654321.123456789e-12 for precision 10 & 8)\n",-987654321.123456789e-12,-987654321.123456789e-12); |
printf(" E %.10E %.8e (123456789.987654321e-12 for precision 10 & 8)\n",123456789.987654321e-12,123456789.987654321e-12); |
printf(" E %.10E %.8e (987654321.123456789e-12 for precision 10 & 8)\n",987654321.123456789e-12,987654321.123456789e-12); |
printf(" E %.10E %.8e (-123456789.987654321e12 for precision 10 & 8)\n",-123456789.987654321e12,-123456789.987654321e12); |
printf(" E %.10E %.8e (-987654321.123456789e12 for precision 10 & 8)\n",-987654321.123456789e12,-987654321.123456789e12); |
printf(" E %.10E %.8e (123456789.987654321e12 for precision 10 & 8)\n",123456789.987654321e12,123456789.987654321e12); |
printf(" E %.10E %.8e (987654321.123456789e12 for precision 10 & 8)\n",987654321.123456789e12,987654321.123456789e12); |
return; |
} |
/SPARTAN/trunk/include/print.h |
---|
36,7 → 36,7 |
#define INT32 4 |
#define INT64 8 |
static void print_double(double num,__u16 precision) ; |
static void print_double(double num, __u8 modifier, __u16 precision) ; |
static void print_str(const char *str); |
static void print_fixed_hex(const __u64 num, const int width); |
static void print_number(const __native num, const unsigned int base); |
/SPARTAN/trunk/src/debug/print.c |
---|
41,7 → 41,7 |
#define DEFAULT_DOUBLE_PRECISION 16 |
#define DEFAULT_DOUBLE_BUFFER_SIZE 128 |
void print_double(double num, __u16 precision) |
void print_double(double num, __u8 modifier, __u16 precision) |
{ |
double intval,intval2; |
int counter; |
48,6 → 48,7 |
int exponent,exponenttmp; |
unsigned char buf[DEFAULT_DOUBLE_BUFFER_SIZE]; |
unsigned long in1,in2; |
/* |
if (fmath_is_nan(num)) { |
print_str("NaN"); |
61,6 → 62,23 |
num=fmath_abs(num); |
if ((modifier=='E')||(modifier=='e')) { |
intval2=fmath_fint(fmath_get_decimal_exponent(num),&intval); |
exponent=intval; |
if ((intval2<0.0)&&(exponent<0)) exponent--; |
num = num / ((fmath_dpow(10.0,exponent))); |
print_double(num,modifier+1,precision); //modifier+1 = E => F or e => f |
putchar(modifier); |
if (exponent<0) { |
putchar('-'); |
exponent*=-1; |
} |
print_number(exponent,10); |
return; |
} |
/* |
if (fmath_is_infinity(num)) { |
print_str("Inf"); |
232,7 → 250,9 |
int irqpri, i = 0; |
va_list ap; |
char c; |
__u16 precision; |
va_start(ap, fmt); |
irqpri = cpu_priority_high(); |
241,8 → 261,22 |
while (c = fmt[i++]) { |
switch (c) { |
/* control character */ |
case '%': |
precision = DEFAULT_DOUBLE_PRECISION; |
if (fmt[i]=='.') { |
precision=0; |
c=fmt[++i]; |
while((c>='0')&&(c<='9')) { |
precision = precision*10 + c - '0'; |
c=fmt[++i]; |
} |
} |
switch (c = fmt[i++]) { |
/* percentile itself */ |
298,9 → 332,20 |
*/ |
case 'F': |
print_double(va_arg(ap, double),'F',precision); |
goto loop; |
case 'f': |
print_double(va_arg(ap, double),DEFAULT_DOUBLE_PRECISION); |
print_double(va_arg(ap, double),'f',precision); |
goto loop; |
case 'E': |
print_double(va_arg(ap, double),'E',precision); |
goto loop; |
case 'e': |
print_double(va_arg(ap, double),'e',precision); |
goto loop; |
/* |
* Decimal and hexadecimal conversions. |
*/ |
/SPARTAN/trunk/arch/ia32/src/boot/memmap.S |
---|
115,4 → 115,4 |
#memory size in 1 kb chunks |
e801memorysize: |
.long 0 |