Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 263 → Rev 264

/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