Changeset c7978c0
- Timestamp:
- Apr 30, 2020, 11:46:01 AM (5 years ago)
- Branches:
- ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- 6091b88a
- Parents:
- fd4d3017
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/iostream.cfa
rfd4d3017 rc7978c0 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Apr 29 07:44:02202013 // Update Count : 99412 // Last Modified On : Thu Apr 30 10:50:31 2020 13 // Update Count : 1001 14 14 // 15 15 … … 463 463 int bits = high1( f.val ); /* position of most significant bit */ \ 464 464 if ( bits == 0 ) bits = 1; /* 0 value => force one bit to print */ \ 465 int spaces = f.wd - bits; /* can be negative */ \ 466 if ( ! f.flags.nobsdp ) { spaces -= 2; } /* base prefix takes space */ \ 467 /* printf( "%d %d\n", bits, spaces ); */ \ 465 int spaces; \ 468 466 if ( ! f.flags.left ) { /* right justified ? */ \ 469 467 /* Note, base prefix then zero padding or spacing then prefix. */ \ 470 if ( f.flags.pad0 || f.flags.pc ) { \ 468 if ( f.flags.pc ) { \ 469 spaces = f.wd - f.pc; \ 470 if ( ! f.flags.nobsdp ) { spaces -= 2; } /* base prefix takes space */ \ 471 if ( spaces > 0 ) fmt( os, "%*s", spaces, " " ); /* space pad */ \ 471 472 if ( ! f.flags.nobsdp ) { fmt( os, "0%c", f.base ); } \ 472 if ( f.flags.pc )spaces = f.pc - bits; \473 spaces = f.pc - bits; \ 473 474 if ( spaces > 0 ) fmt( os, "%0*d", spaces, 0 ); /* zero pad */ \ 474 475 } else { \ 475 if ( spaces > 0 ) fmt( os, "%*s", spaces, " " ); /* space pad */ \ 476 if ( ! f.flags.nobsdp ) { fmt( os, "0%c", f.base ); } \ 476 spaces = f.wd - bits; \ 477 if ( ! f.flags.nobsdp ) { spaces -= 2; } /* base prefix takes space */ \ 478 if ( f.flags.pad0 ) { \ 479 if ( ! f.flags.nobsdp ) { fmt( os, "0%c", f.base ); } \ 480 if ( spaces > 0 ) fmt( os, "%0*d", spaces, 0 ); /* zero pad */ \ 481 } else { \ 482 if ( spaces > 0 ) fmt( os, "%*s", spaces, " " ); /* space pad */ \ 483 if ( ! f.flags.nobsdp ) { fmt( os, "0%c", f.base ); } \ 484 } /* if */ \ 477 485 } /* if */ \ 478 } else if ( ! f.flags.nobsdp ) { \ 479 fmt( os, "0%c", f.base ); \ 486 } else { \ 487 if ( ! f.flags.nobsdp ) fmt( os, "0%c", f.base ); \ 488 if ( f.flags.pc ) { \ 489 spaces = f.pc - bits; \ 490 if ( spaces > 0 ) fmt( os, "%0*d", spaces, 0 ); /* zero pad */ \ 491 spaces = f.wd - f.pc; \ 492 } else { /* pad0 flag ignored with left flag */ \ 493 spaces = f.wd - bits; \ 494 } /* if */ \ 495 if ( ! f.flags.nobsdp ) { spaces -= 2; } /* base prefix takes space */ \ 480 496 } /* if */ \ 481 497 int shift = floor( bits - 1, 4 ); \
Note: See TracChangeset
for help on using the changeset viewer.