Changeset d45ed83
- Timestamp:
- May 1, 2020, 12:37:42 PM (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:
- 93f7c001
- Parents:
- 4069faad (diff), 6091b88a (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - Files:
-
- 3 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/Makefile.am
r4069faad rd45ed83 39 39 #---------------------------------------------------------------------------------------------------------------- 40 40 if BUILDLIB 41 headers_nosrc = bitmanip.hfa math.hfa gmp.hfa time_t.hfa bits/align.hfa bits/containers.hfa bits/defs.hfa bits/debug.hfa bits/locks.hfa 41 headers_nosrc = bitmanip.hfa math.hfa gmp.hfa time_t.hfa bits/align.hfa bits/containers.hfa bits/defs.hfa bits/debug.hfa bits/locks.hfa containers/list.hfa 42 42 headers = fstream.hfa iostream.hfa iterator.hfa limits.hfa rational.hfa time.hfa stdlib.hfa common.hfa \ 43 43 containers/maybe.hfa containers/pair.hfa containers/result.hfa containers/vector.hfa -
libcfa/src/iostream.cfa
r4069faad rd45ed83 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sun Apr 26 20:31:36202013 // Update Count : 98512 // 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 int shift = (bits - 1) / 4 * 4; /* floor( bits - 1, 4 ) */\497 int shift = floor( bits - 1, 4 ); \ 482 498 typeof( f.val ) temp = f.val; \ 483 499 fmt( os, "%s", shortbin[(temp >> shift) & 0xf] ); \ … … 599 615 fmt.wd = 0; \ 600 616 /* if ( fmt2.val > 1 && fmt.flags.pc && fmt.pc > 0 ) fmt.pc -= 1; */ \ 601 /* printf( "L %llo %llo %llo % llo %d %d '%c' %x\n", msig, lsig, fmt.val, fmt2.val, fmt.wd, fmt.pc, fmt.base, fmt.all ); */ \617 /* printf( "L %llo %llo %llo %d %d '%c' %x %llo %d %d '%c' %x\n", msig, lsig, fmt.val, fmt.wd, fmt.pc, fmt.base, fmt.all, fmt2.val, fmt2.wd, fmt2.pc, fmt2.base, fmt2.all ); */ \ 602 618 (ostype &)(os | fmt | "" | fmt2); \ 603 619 sepOff( os ); \ … … 605 621 int msigd = ceiling( high1( fmt.val ), 3 ) + 1; \ 606 622 fmt2.wd = f.wd - (fmt.pc > msigd ? fmt.pc : msigd) - 1; \ 607 if ( fmt2.wd < 21 ) fmt2.wd = 21;\623 if ( (int)fmt2.wd < 21 ) fmt2.wd = 21; /* cast deals with negative value */ \ 608 624 fmt2.flags.pc = true; fmt2.pc = 21; \ 609 625 } else { \ … … 612 628 /*if ( ! fmt.flags.nobsdp && fmt.pc < fmt.wd ) fmt.wd -= 1;*/ \ 613 629 fmt2.wd = 1; \ 614 /* printf( "R %llo %llo %llo % llo %d %d '%c' %x\n", msig, lsig, fmt.val, fmt2.val, fmt.wd, fmt.pc, fmt.base, fmt.all ); */ \630 /* printf( "R %llo %llo %llo %d %d '%c' %x %llo %d %d '%c' %x\n", msig, lsig, fmt.val, fmt.wd, fmt.pc, fmt.base, fmt.all, fmt2.val, fmt2.wd, fmt2.pc, fmt2.base, fmt2.all ); */ \ 615 631 (ostype &)(os | fmt | "" | fmt2); \ 616 632 sepOff( os ); \
Note: See TracChangeset
for help on using the changeset viewer.