Ignore:
Timestamp:
Jul 14, 2020, 1:39:15 PM (16 months ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
arm-eh, jacob/cs343-translation, master, new-ast, new-ast-unique-expr
Children:
0aec496
Parents:
e1801fc (diff), b4cd58ed (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.
Message:

Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc

File:
1 edited

Legend:

Unmodified
Added
Removed
  • tests/manipulatorsOutput3.cfa

    re1801fc rf5d4f62  
    11#include <fstream.hfa>
     2
    23int main() {
    3     int128 x = 0xffff, y = 0x2;
    4     x <<= 64;
    5     x += 0xffff;
    6     y <<= 64;
    7     y += 0123;
    8     y |= 0x8000000000000000;
    9     x = -x;
    10     sout | x;
    11     sout | sign(x);
    12     x = -x;
    13     sout | sign(x);
    14     sout | nl;
    15 
    16     sout | bin(x);
    17     sout | upcase(bin(x));
    18     sout | nobase(bin(x));
    19     sout | wd( 95, upcase(bin(x)) );
    20     sout | wd( 95,90, upcase(bin(x)) );
    21     sout | wd( 25,30, upcase(hex(x)) );
    22     sout | nl;
    23 
    24     printf( "%#.10o\n", 0123 );
    25     sout | wd( 1,10, oct(0123) );
    26     sout | oct(x);
    27     sout | nobase(oct(x));
    28     sout | wd( 45, oct(0123) );
    29     sout | wd( 45,40, oct(0123) );
    30     sout | wd( 40,45, oct(0123) );
    31     sout | wd( 45, oct(x) );
    32     sout | wd( 45,40, oct(x) );
    33     sout | wd( 40,45, oct(x) );
    34 
    35     sout | left(wd( 45, oct(0123) )) | 'X';
    36     sout | left(wd( 45, oct(x) )) | 'X';
    37     sout | left(wd( 45, oct(y) )) | 'X';
    38     sout | left(wd( 45,40, oct(0123) )) | 'X';
    39     sout | left(wd( 45,40, oct(x) )) | 'X';
    40     sout | left(wd( 45,40, oct(y) )) | 'X';
    41     sout | left(wd( 40,45, oct(0123) )) | 'X';
    42     sout | left(wd( 40,45, oct(x) )) | 'X';
    43     sout | left(wd( 40,45, oct(y) )) | 'X';
    44     printf( "%#-1.10oX\n", 0123 );
    45     sout | left(wd( 1,10, oct(0123) )) | 'X';
    46     printf( "%#-40.10oX\n", 0123 );
    47     sout | left(wd( 40,10, oct(0123) )) | 'X';
    48     sout | left(wd( 40,10, oct(x) )) | 'X';
    49     sout | left(wd( 40,10, oct(y) )) | 'X';
    50     sout | left(wd( 10,40, oct(0123) )) | 'X';
    51     sout | left(wd( 10,40, oct(x) )) | 'X';
    52     sout | left(wd( 10,40, oct(y) )) | 'X';
    53 
    54     y = 01234567;
    55     sout | left(wd( 45, 49, oct(y) )) | 'X';
    56     y = -y;
    57     sout | wd(0, oct(y)) | 'Y';
    58     sout | left(wd(0, oct(y))) | 'Y';
    59     sout | nl;
    60 
    61     sout | hex(x);
    62     sout | upcase(hex(x));
    63     sout | nobase(hex(x));
    64     sout | wd( 45, upcase(hex(x)) );
    65     sout | wd( 45,40, upcase(hex(x)) );
    66     sout | wd( 45,49, upcase(hex(x)) );
    67     sout | left(wd( 45, upcase(hex(x)) )) | 'X';
    68     sout | left(wd( 45,40, upcase(hex(x)) )) | 'X';
    69     sout | left(wd( 45,49, upcase(hex(x)) )) | 'X';
    70 
    71     sout | nl;
    72 
    73     int128 divisor = 0x4b3b4ca85a86c47a;
    74     divisor <<= 16;
    75     divisor += 0x98a224000000000;
    76    
    77     // base 2
    78     sout | "base 2";
    79     sout | bin(divisor);
    80     sout | upcase(bin(divisor));
    81     sout | wd(38, upcase(bin(divisor)));
    82     sout | wd(40, upcase(bin(divisor)));
    83     sout | wd(40, 38, upcase(bin(divisor)));
    84     sout | wd(40, 30, upcase(bin(divisor)));
    85     sout | pad0(sign(wd(40, 38, upcase(bin(divisor)))));
    86     sout | nl;
    87    
    88     // oct
    89     sout | "base 8";
    90     sout | upcase(oct(divisor));
    91     sout | wd(38, upcase(oct(divisor)));
    92     sout | wd(40, upcase(oct(divisor)));
    93     sout | wd(40, 38, upcase(oct(divisor)));
    94     sout | wd(40, 30, upcase(oct(divisor)));
    95     sout | pad0(sign(wd(40, 38, upcase(oct(divisor)))));
    96     sout | nl;
    97 
    98     // decimal
    99     sout | "base 10";
    100     sout | divisor;
    101     sout | wd(2, divisor);
    102     sout | wd(3, divisor);
    103     sout | wd(10, divisor);
    104     sout | wd(24, divisor);
    105     sout | wd(38, divisor);
    106     sout | wd(39, divisor);
    107     sout | wd(40, divisor);
    108    
    109     sout | wd(40, 30, divisor);
    110     sout | wd(40, 38, divisor);
    111     sout | wd(40, 40, divisor);
    112     sout | pad0(wd(40, divisor));
    113     sout | pad0(sign(wd(40,divisor)));
    114     sout | nl;
    115    
    116     // hex
    117     sout | "base 16";
    118     sout | upcase(hex(divisor));
    119     sout | wd(38, upcase(hex(divisor)));
    120     sout | wd(40, upcase(hex(divisor)));
    121     sout | wd(40, 38, upcase(hex(divisor)));
    122     sout | wd(40, 30, upcase(hex(divisor)));
    123     sout | pad0(sign(wd(40, 38, upcase(hex(divisor)))));
    124     sout | nl;
    125 
    126 
    127     // extras
    128     sout | "extras";
    129     sout | bin(divisor);
    130     sout | upcase(bin(divisor));
    131     sout | oct(divisor);
    132     sout | hex(divisor);
    133     sout | upcase(hex(divisor));
    134     sout | nobase(bin(divisor)) | nobase(oct(divisor)) | nobase(hex(divisor));
    135     sout | sign(divisor);
    136     sout | -divisor;
    137     sout | sign(-divisor);
    138     sout | wd(2, divisor);
    139     sout | wd(3,10,divisor);
    140     sout | left(wd(40,divisor)) | 'X';
    141     sout | left(sign(wd(40, divisor))) | 'X';
    142     sout | left(sign(wd(0,40, divisor))) | 'X';
    143     printf( "%-+1.40dX\n", 123456789 );
    144 
    145     int128 i128;
    146     unsigned int128 ui128;
    147 
    148     i128 = -10;
    149     for ( 25 ) {
    150         sout | left( sign( wd( 20, i128 ) ) ) | left( wd( 20, hex( i128 ) ) ) | left( wd( 20, oct( i128 ) ) );
    151         sout | left( wd( 20, bin( i128 ) ) );
    152         i128 += 1;
    153     }
    154     sout | nl;
    155 
    156     i128 = 0x7fffffffffffffff;
    157     i128 <<= 64;
    158     i128 += 0xfffffffffffffffa;
    159 
    160     for ( 20 ) {
    161         sout | i128;
    162         sout | left( sign( wd( 45, i128 ) ) ) | left( wd( 45, hex( i128 ) ) ) | left( wd( 45, oct( i128 ) ) );
    163         sout | left( wd( 45, bin( i128 ) ) );
    164         i128 += 1;
    165     }
    166     sout | nl;
    167 
    168     ui128 = 0x7fffffffffffffff;
    169     ui128 <<= 64;
    170     ui128 += 0xfffffffffffffffa;
    171    
    172     for ( 20 ) {
    173         sout | ui128;
    174         ui128 += 1;
    175     }
    176     sout | nl;
    177 
    178     ui128 = 0xffffffffffffffff;
    179     ui128 <<= 64;
    180     ui128 += 0xfffffffffffffffa;
    181    
    182     for ( 20 ) {
    183         sout | ui128;
    184         ui128 += 1;
    185     }
    186 }
     4        // int128 printing
     5        int128 x = 0xffff, y = 0x2;
     6
     7        x <<= 64;
     8        x += 0xffff;
     9        y <<= 64;
     10        y += 0123;
     11        y |= 0x8000000000000000;
     12        x = -x;
     13        sout | x;
     14        sout | sign(x);
     15        x = -x;
     16        sout | sign(x);
     17        sout | nl;
     18
     19        int128 divisor = 0x4b3b4ca85a86c47a;
     20        divisor <<= 16;
     21        divisor += 0x98a224000000000;
     22       
     23        // base 2
     24        sout | "base 2";
     25        sout | bin(x);
     26        sout | upcase(bin(x));
     27        sout | nobase(bin(x));
     28        sout | wd( 95, upcase(bin(x)) );
     29        sout | wd( 95,90, upcase(bin(x)) );
     30        sout | wd( 25,30, upcase(hex(x)) );
     31        sout | nl;
     32
     33        sout | bin(divisor);
     34        sout | upcase(bin(divisor));
     35        sout | wd(38, upcase(bin(divisor)));
     36        sout | wd(40, upcase(bin(divisor)));
     37        sout | wd(40, 38, upcase(bin(divisor)));
     38        sout | wd(40, 30, upcase(bin(divisor)));
     39        sout | pad0(sign(wd(40, 38, upcase(bin(divisor)))));
     40        sout | nl;
     41       
     42        // oct
     43        sout | "base 8";
     44        printf( "%#.10o\n", 0123 );
     45        sout | wd( 1,10, oct(0123) );
     46        sout | oct(x);
     47        sout | nobase(oct(x));
     48        sout | wd( 45, oct(0123) );
     49        sout | wd( 45,40, oct(0123) );
     50        sout | wd( 40,45, oct(0123) );
     51        sout | wd( 45, oct(x) );
     52        sout | wd( 45,40, oct(x) );
     53        sout | wd( 40,45, oct(x) );
     54
     55        sout | left(wd( 45, oct(0123) )) | 'X';
     56        sout | left(wd( 45, oct(x) )) | 'X';
     57        sout | left(wd( 45, oct(y) )) | 'X';
     58        sout | left(wd( 45,40, oct(0123) )) | 'X';
     59        sout | left(wd( 45,40, oct(x) )) | 'X';
     60        sout | left(wd( 45,40, oct(y) )) | 'X';
     61        sout | left(wd( 40,45, oct(0123) )) | 'X';
     62        sout | left(wd( 40,45, oct(x) )) | 'X';
     63        sout | left(wd( 40,45, oct(y) )) | 'X';
     64        printf( "%#-1.10oX\n", 0123 );
     65        sout | left(wd( 1,10, oct(0123) )) | 'X';
     66        printf( "%#-40.10oX\n", 0123 );
     67        sout | left(wd( 40,10, oct(0123) )) | 'X';
     68        sout | left(wd( 40,10, oct(x) )) | 'X';
     69        sout | left(wd( 40,10, oct(y) )) | 'X';
     70        sout | left(wd( 10,40, oct(0123) )) | 'X';
     71        sout | left(wd( 10,40, oct(x) )) | 'X';
     72        sout | left(wd( 10,40, oct(y) )) | 'X';
     73
     74        y = 01234567;
     75        sout | left(wd( 45, 49, oct(y) )) | 'X';
     76        y = -y;
     77        sout | wd(0, oct(y)) | 'Y';
     78        sout | left(wd(0, oct(y))) | 'Y';
     79        sout | nl;
     80
     81        sout | upcase(oct(divisor));
     82        sout | wd(38, upcase(oct(divisor)));
     83        sout | wd(40, upcase(oct(divisor)));
     84        sout | wd(40, 38, upcase(oct(divisor)));
     85        sout | wd(40, 30, upcase(oct(divisor)));
     86        sout | pad0(sign(wd(40, 38, upcase(oct(divisor)))));
     87        sout | nl;
     88
     89        // decimal
     90        sout | "base 10";
     91        sout | divisor;
     92        sout | wd(2, divisor);
     93        sout | wd(3, divisor);
     94        sout | wd(10, divisor);
     95        sout | wd(24, divisor);
     96        sout | wd(38, divisor);
     97        sout | wd(39, divisor);
     98        sout | wd(40, divisor);
     99       
     100        sout | wd(40, 30, divisor);
     101        sout | wd(40, 38, divisor);
     102        sout | wd(40, 40, divisor);
     103        sout | pad0(wd(40, divisor));
     104        sout | pad0(sign(wd(40,divisor)));
     105        sout | nl;
     106       
     107        // hex
     108        sout | "base 16";
     109
     110        sout | hex(x);
     111        sout | upcase(hex(x));
     112        sout | nobase(hex(x));
     113        sout | wd( 45, upcase(hex(x)) );
     114        sout | wd( 45,40, upcase(hex(x)) );
     115        sout | wd( 45,49, upcase(hex(x)) );
     116        sout | left(wd( 45, upcase(hex(x)) )) | 'X';
     117        sout | left(wd( 45,40, upcase(hex(x)) )) | 'X';
     118        sout | left(wd( 45,49, upcase(hex(x)) )) | 'X';
     119        sout | nl;
     120
     121        sout | upcase(hex(divisor));
     122        sout | wd(38, upcase(hex(divisor)));
     123        sout | wd(40, upcase(hex(divisor)));
     124        sout | wd(40, 38, upcase(hex(divisor)));
     125        sout | wd(40, 30, upcase(hex(divisor)));
     126        sout | pad0(sign(wd(40, 38, upcase(hex(divisor)))));
     127        sout | nl;
     128
     129        // extras
     130        sout | "extras";
     131        sout | bin(divisor);
     132        sout | upcase(bin(divisor));
     133        sout | oct(divisor);
     134        sout | hex(divisor);
     135        sout | upcase(hex(divisor));
     136        sout | nobase(bin(divisor)) | nobase(oct(divisor)) | nobase(hex(divisor));
     137        sout | sign(divisor);
     138        sout | -divisor;
     139        sout | sign(-divisor);
     140        sout | wd(2, divisor);
     141        sout | wd(3,10,divisor);
     142        sout | left(wd(40,divisor)) | 'X';
     143        sout | left(sign(wd(40, divisor))) | 'X';
     144        sout | left(sign(wd(0,40, divisor))) | 'X';
     145        printf( "%-+1.40dX\n", 123456789 );
     146
     147        int128 i128;
     148        unsigned int128 ui128;
     149        i128 = -1000;
     150        for ( 10 ) {
     151                sout | left( sign( wd( 2, i128 ) ) ) | left( wd( 2, hex( i128 ) ) ) | left( wd( 2, oct( i128 ) ) );
     152                sout | left( wd( 2, bin( i128 ) ) );
     153                i128 += 1;
     154        }
     155        sout | nl;
     156        sout | nl;
     157
     158        ui128 = 0x7fffffffffffffff;
     159        ui128 <<= 64;
     160        ui128 += 0xffffffffffffffff;
     161        sout | left( wd( 160, i128 ) );
     162        sout | left( sign( wd( 0, i128 ) ) );
     163        sout | left( wd( 0, hex( i128 ) ) );
     164        sout | left( wd( 0, oct( i128 ) ) );
     165        sout | left( wd( 0, bin( i128 ) ) );
     166        sout | left( sign( wd( 1, i128 ) ) );
     167        sout | left( wd( 1, hex( i128 ) ) );
     168        sout | left( wd( 1, oct( i128 ) ) );
     169        sout | left( wd( 1, bin( i128 ) ) );
     170        sout | left( sign( wd( 32, i128 ) ) );
     171        sout | left( wd( 32, hex( i128 ) ) );
     172        sout | left( wd( 32, oct( i128 ) ) );
     173        sout | left( wd( 32, bin( i128 ) ) );
     174        sout | left( sign( wd( 160, i128 ) ) );
     175        sout | left( wd( 160, hex( i128 ) ) );
     176        sout | left( wd( 160, oct( i128 ) ) );
     177        sout | left( wd( 160, bin( i128 ) ) );
     178        sout | left( sign( wd( 160, i128 ) ) );
     179        sout | left( wd( 160, upcase(hex( i128 )) ) );
     180        sout | left( wd( 160, upcase(oct( i128 ) )) );
     181        sout | left( wd( 160, upcase(bin( i128 )) ) );
     182
     183        x = 1234;
     184        x <<= 64;
     185        x += 5678;
     186        sout | x | 'X';
     187        sout | wd(45, 20, oct(x)) | 'X';
     188        sout | left(wd(45, 20, oct(x))) | 'X';
     189        sout | wd(45, 21, oct(x)) | 'X';
     190        sout | left(wd(45, 21, oct(x))) | 'X';
     191        sout | wd(45, 22, oct(x)) | 'X';
     192        sout | left(wd(45, 22, oct(x))) | 'X';
     193        sout | wd(45, 36, oct(x)) | 'X';
     194        sout | left(wd(45, 36, oct(x))) | 'X';
     195        sout | wd(45, 46, oct(x)) | 'X';
     196        sout | left(wd(45, 46, oct(x))) | 'X';
     197        sout | left(wd(45, 20, oct(x))) | 'X';
     198        sout | left(wd(45, 22, oct(x))) | 'X';
     199        sout | left(wd(45, 24, oct(x))) | 'X';
     200        sout | left(wd(45, 26, oct(x))) | 'X';
     201        sout | left(wd(45, 28, oct(x))) | 'X';
     202
     203        y = -x;
     204        sout | oct(y) | 'Y';
     205        sout | left(wd(0, oct(y))) | 'Y';
     206        sout | left(wd(20, oct(y))) | 'Y';
     207        sout | left(wd(26, oct(y))) | 'Y';
     208        sout | left(wd(40, oct(y))) | 'Y';
     209        sout | left(wd(41, oct(y))) | 'Y';
     210        sout | left(wd(45, oct(y))) | 'Y';
     211        sout | left(wd(45, 49, oct(y))) | 'Y';
     212        sout | left(wd(45, 4, oct(y))) | 'Y';
     213        sout | left(wd( 45, oct(0123) )) | 'X';
     214        sout | left(wd( 45, oct(x) )) | 'X';
     215        sout | left(wd( 45,40, oct(0123) )) | 'X';
     216        sout | left(wd( 45,40, oct(x) )) | 'X';
     217        sout | left(wd( 40,45, oct(0123) )) | 'X';
     218        sout | left(wd( 40,45, oct(x) )) | 'X';
     219        sout | left(wd( 40,10, oct(0123) )) | 'X';
     220        sout | left(wd( 40,10, oct(x) )) | 'X';
     221        sout | left(wd( 40,10, oct(y) )) | 'X';
     222        sout | left(wd( 10,40, oct(0123) )) | 'X';
     223        sout | left(wd( 10,40, oct(x) )) | 'X';
     224        sout | left(wd( 10,40, oct(y) )) | 'X';
     225
     226        x = 0xffff, y = 0x2;
     227        int128 z = 0x_ffff_ffff_ffff_ffff;
     228        x <<= 64;
     229        x += 0xffff;
     230        y <<= 64;
     231        y += 0123;
     232        y |= 0x8000000000000000;
     233
     234        for ( int128 i = 0; i < 8; i += 1 ) {
     235                sout | nobase(oct(z + 0x8000000000000000 * i));
     236        } // for
     237
     238        sout | bin(x);
     239        sout | upcase(bin(x));
     240        sout | nobase(bin(x));
     241
     242        sout | wd( 95, upcase(bin(x)) );
     243        sout | wd( 95,90, upcase(bin(x)) );
     244        sout | wd( 90,95, upcase(bin(x)) );
     245
     246        sout | left(bin(x));
     247        sout | left(upcase(bin(x)));
     248        sout | left(nobase(bin(x)));
     249
     250        sout | left(wd( 95, upcase(bin(x)) ));
     251        sout | left(wd( 95,90, upcase(bin(x)) ));
     252        sout | left(wd( 95,81, upcase(bin(x)) ));
     253
     254        sout | left(wd( 95,80, upcase(bin(x)) ));
     255        sout | left(wd( 95,79, upcase(bin(x)) ));
     256        sout | left(wd( 95,90, upcase(bin(0xffff)) ));
     257
     258        sout | left(wd( 68,64, upcase(bin(0xffff)) ));
     259        sout | left(wd( 90,95, upcase(bin(x)) ));
     260
     261        printf( "%#30.25X\n", 0xffff );
     262        sout | wd( 30,25, upcase(hex(0xffff)) );
     263        printf( "%#25.30X\n", 0xffff );
     264        sout | wd( 25,30, upcase(hex(0xffff)) );
     265
     266        sout | oct(y);
     267        sout | wd( 45, oct(y) );
     268        sout | left(wd( 45, oct(y) )) | 'X';
     269
     270        sout | left(wd( 40,10, oct(0123) )) | 'X';
     271        sout | left(wd( 40,10, oct(x) )) | 'X';
     272        sout | left(wd( 40,10, oct(y) )) | 'X';
     273        sout | left(wd( 10,40, oct(0123) )) | 'X';
     274        sout | left(wd( 10,40, oct(x) )) | 'X';
     275        sout | left(wd( 10,40, oct(y) )) | 'X';
     276
     277        i128 = -10;
     278        for ( 25 ) {
     279                sout | left( sign( wd( 20, i128 ) ) ) | left( wd( 20, hex( i128 ) ) ) | left( wd( 20, oct( i128 ) ) );
     280                sout | left( wd( 20, bin( i128 ) ) );
     281                i128 += 1;
     282        } // for
     283        sout | nl;
     284
     285        i128 = 0x7fffffffffffffff;
     286        i128 <<= 64;
     287        i128 += 0xfffffffffffffffa;
     288
     289//      for ( 20 ) {
     290        volatile int stop = 20;                                                         // gcc compiler bug
     291        for ( int i = 0; i < stop; i += 1 ) {
     292                sout | i128;
     293                sout | left( sign( wd( 45, i128 ) ) ) | left( wd( 45, hex( i128 ) ) ) | left( wd( 45, oct( i128 ) ) );
     294                sout | left( wd( 45, bin( i128 ) ) );
     295                i128 += 1;
     296        } // for
     297        sout | nl;
     298
     299        ui128 = 0x7fffffffffffffff;
     300        ui128 <<= 64;
     301        ui128 += 0xfffffffffffffffa;
     302       
     303        for ( 20 ) {
     304                sout | ui128;
     305                ui128 += 1;
     306        }
     307        sout | nl;
     308
     309        ui128 = 0xffffffffffffffff;
     310        ui128 <<= 64;
     311        ui128 += 0xfffffffffffffffa;
     312       
     313        for ( 20 ) {
     314                sout | ui128;
     315                ui128 += 1;
     316        }
     317
     318
     319        // int128 constants (and printing)
     320        int128 v = 0xffff_ffffffff_ffffffff_L128 + 0xffffffff_ffffffff_ffffffff_ffffffff_L128;
     321        sout | hex(v);
     322        v = 0xffff_ffffffff_ffffffff_L128 + 0xffffffff_ffffffff_ffffffff_ffffffff_L128;
     323        sout | hex(v);
     324        sout | nl;
     325
     326        sout | "binary";
     327        sout | bin(v);
     328        sout | bin(0b_11111111111111111111111111111111_L128);
     329        sout | bin(0b_11111111111111111111111111111111_11111111111111111111111111111111_L128);
     330        sout | bin(0b_11111111111111111111111111111111_11111111111111111111111111111111_11111111111111111111111111111111_L128);
     331        sout | bin(0b_11111111111111111111111111111111_11111111111111111111111111111111_11111111111111111111111111111111_11111111111111111111111111111111_L128);
     332        sout | hex(0b_10100010001101000101011001111000_L128);
     333        sout | hex(0b_10100010001101000101011001111000_10100111011001010100001100100001_L128);
     334        sout | hex(0b_10100010001101000101011001111000_10100111011001010100001100100001_11000010001101000101011001111000_L128);
     335        sout | hex(0b_10100010001101000101011001111000_10100111011001010100001100100001_11000010001101000101011001111000_11010111010101010100001100100001_L128);
     336        sout | nl;
     337
     338        sout | "octal";
     339        sout | oct(v);
     340        sout | oct(0_123456_L128u);
     341        sout | oct(0_123456_65432_uL128);
     342        sout | oct(0_123456_65432_34567_L128);
     343        sout | oct(0_123456_65432_34567_76543_L128);
     344        sout | oct(0_123456_65432_34567_76543_23456_L128);
     345        sout | oct(0_123456_65432_34567_76543_23456_65432_L128);
     346        sout | oct(0_123456_65432_34567_76543_23456_65432_34567_L128);
     347        sout | oct(0_123456_65432_34567_76543_23456_65432_34567_76543_L128);
     348        sout | oct(0_1111111111111111111L);
     349        sout | oct(0_11111111111111111111L);
     350        sout | oct(0_111111111111111111111L);
     351        sout | nl;
     352
     353        sout | "decimal";
     354        sout | v;
     355        sout | 42_798_L128 | oct(42_798_L128);
     356        sout | 1_402_432_282_L128 | oct(1_402_432_282_L128);
     357        sout | 45_954_901_031_287_L128 | oct(45_954_901_031_287_L128);
     358        sout | 1_505_850_196_993_244_515_L128 | oct(1_505_850_196_993_244_515_L128);
     359        sout | 394_749_758_663_249_135_511_342_L128 | oct(394_749_758_663_249_135_511_342_L128);
     360        sout | 12_935_154_696_204_706_112_391_834_394_L128 | oct(12_935_154_696_204_706_112_391_834_394_L128);
     361        sout | 423_859_149_128_410_414_395_372_834_994_551_L128 | oct(423_859_149_128_410_414_395_372_834_994_551_L128);
     362        sout | 13_889_016_598_639_747_063_234_935_497_057_631_587_L128 | oct(13_889_016_598_639_747_063_234_935_497_057_631_587_L128);
     363        sout | 1234567890123456789_uL128;
     364        sout | 1234567890123456789_L128u;
     365        sout | 0x_7fffffff_ffffffff_ffffffff_ffffffff_L128;
     366        sout | 0x_ffffffff_ffffffff_ffffffff_ffffffff_L128;
     367        sout | 0x_80000000_00000000_00000000_00000000_L128;
     368        unsigned int128 vv;
     369        vv = 340282366920938463463374607431768211455_L128u;
     370        sout | vv;
     371        vv = 170141183460469231731687303715884105727_L128;
     372        sout | vv;
     373        sout | nl;
     374
     375        sout | "hexadecimal";
     376        sout | hex(v);
     377        sout | hex(0x_ffffffff_L128);
     378        sout | hex(0x_ffffffff_ffffffff_L128);
     379        sout | hex(0x_ffffffff_ffffffff_ffffffff_L128);
     380        sout | hex(0xffffffff_ffffffff_ffffffff_ffffffff_L128);
     381        sout | hex(0x_a2345678_L128);
     382        sout | hex(0x_a2345678_b7654321_L128);
     383        sout | hex(0x_a2345678_b7654321_c2345678_L128);
     384        sout | hex(0x_a2345678_b7654321_c2345678_d7654321_L128);
     385        sout | nl;
     386} // main
     387
     388// Local Variables: //
     389// tab-width: 4 //
     390// compile-command: "cfa -Wall -Wextra manipulatorsOutput3.cfa" //
     391// End: //
Note: See TracChangeset for help on using the changeset viewer.