Changeset 5721a6d for src/examples


Ignore:
Timestamp:
Feb 1, 2016, 2:24:50 PM (10 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, gc_noraii, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, string, with_gc
Children:
2a4b088, b4cd03b7
Parents:
ae8b942
Message:

correctly set type for complex constants, consolidate function name tables, add offsetof, refactor printing complex constants to use basic types

Location:
src/examples
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • src/examples/abs.c

    rae8b942 r5721a6d  
    1010// Created On       : Thu Jan 28 18:26:16 2016
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Fri Jan 29 15:44:41 2016
    13 // Update Count     : 20
     12// Last Modified On : Sun Jan 31 09:24:45 2016
     13// Update Count     : 41
    1414//
    1515
    16 extern "C" {
    17 #include <complex.h>
    18 } // extern
    1916#include <fstream>
    2017#include <algorithm>
     
    2421
    2522        char ch = -65;
    26         sout | "char\t\t\t"                                     | -65    | "\tabs " | abs( ch ) | endl;
     23        sout | "char\t\t\t"                                     | ch     | "\tabs " | abs( ch ) | endl;
    2724        sout | "signed int\t\t"                         | -65    | "\tabs " | abs( -65 ) | endl;
    2825        sout | "signed long int\t\t"            | -65l   | "\tabs " | abs( -65l ) | endl;
     
    3128        sout | "double\t\t\t"                           | -65.0  | "\tabs " | abs( -65.0 ) | endl;
    3229        sout | "long double\t\t"                        | -65.0l | "\tabs " | abs( -65.0l ) | endl;
    33         double _Complex c = -65.0+2.0 * I;
    34         sout | "double _Complex\t\t"            | c | "\tabs " | abs( c ) | endl;
     30        sout | "float _Complex\t\t"                     | -65.0F-2.0iF | "\tabs " | abs( -65.0F-2.0iF ) | endl;
     31        sout | "double _Complex\t\t"            | -65.0D-2.0iD | "\tabs " | abs( -65.0D-2.0iD ) | endl;
     32        sout | "long double _Complex\t"         | -65.0L-2.0iL | "\tabs " | abs( -65.0L-2.0iL ) | endl;
    3533} // main
    3634
  • src/examples/minmax.c

    rae8b942 r5721a6d  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // min.c --
     7// minmax.c --
    88//
    99// Author           : Richard C. Bilson
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Jan 28 22:15:14 2016
    13 // Update Count     : 42
     12// Last Modified On : Mon Feb  1 11:35:53 2016
     13// Update Count     : 44
    1414//
    1515
     
    3333        sout | "double\t\t\t"                           | 4.0 | ' ' | 3.1 | "\tmin " | min( 4.0, 3.1 ) | endl;
    3434        sout | "long double\t\t"                        | 4.0l | ' ' | 3.1l | "\tmin " | min( 4.0l, 3.1l ) | endl;
     35
    3536        sout | endl;
     37
    3638        sout | "char\t\t\t"                                     | 'z' | ' ' | 'a' | "\tmax " | max( 'z', 'a' ) | endl;
    3739        sout | "signed int\t\t"                         | 4 | ' ' | 3 | "\tmax " | max( 4, 3 ) | endl;
  • src/examples/swap.c

    rae8b942 r5721a6d  
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue Jan 26 16:49:41 2016
    13 // Update Count     : 7
     12// Last Modified On : Mon Feb  1 12:30:15 2016
     13// Update Count     : 61
    1414//
    1515
    1616#include <fstream>
    17 
    18 forall( type T )
    19 void swap( T *left, T *right ) {
    20         T temp = *left;
    21         *left = *right;
    22         *right = temp;
    23 }
     17#include <algorithm>
    2418
    2519int main( void ) {
    26         int x = 1, y = 2;
    2720        ofstream *sout = ofstream_stdout();
    28         sout | x | ' ' | y | endl;
    29         swap( &x, &y );
    30         sout | x | ' ' | y | endl;
    31 }
     21
     22        char c1 = 'a', c2 = 'b';
     23        sout | "char\t\t\t" | c1 | ' ' | c2 | "\t\t\tswap ";
     24        swap( &c1, &c2 );
     25        sout | '\t' | c1 | ' ' | c2 | endl;
     26
     27        signed int i1 = -1, i2 = -2;
     28        sout | "signed int\t\t" | i1 | ' ' | i2 | "\t\t\tswap ";
     29        swap( &i1, &i2 );
     30        sout | '\t' | i1 | ' ' | i2 | endl;
     31
     32        unsigned int ui1 = 1, ui2 = 2;
     33        sout | "unsigned int\t\t" | ui1 | ' ' | ui2 | "\t\t\tswap ";
     34        swap( &ui1, &ui2 );
     35        sout | '\t' | ui1 | ' ' | ui2 | endl;
     36
     37        signed long int li1 = -1, li2 = -2;
     38        sout | "signed long int\t\t" | li1 | ' ' | li2 | "\t\t\tswap ";
     39        swap( &li1, &li2 );
     40        sout | '\t' | li1 | ' ' | li2 | endl;
     41
     42        unsigned long int uli1 = 1, uli2 = 2;
     43        sout | "unsigned long int\t" | uli1 | ' ' | uli2 | "\t\t\tswap ";
     44        swap( &uli1, &uli2 );
     45        sout | '\t' | uli1 | ' ' | uli2 | endl;
     46
     47        signed long long int lli1 = -1, lli2 = -2;
     48        sout | "signed long long int\t" | lli1 | ' ' | lli2 | "\t\t\tswap ";
     49        swap( &lli1, &lli2 );
     50        sout | '\t' | lli1 | ' ' | lli2 | endl;
     51
     52        unsigned long long int ulli1 = 1, ulli2 = 2;
     53        sout | "unsigned long long int\t" | ulli1 | ' ' | ulli2 | "\t\t\tswap ";
     54        swap( &ulli1, &ulli2 );
     55        sout | '\t' | ulli1 | ' ' | ulli2 | endl;
     56
     57        float f1 = 1.5, f2 = 2.5;
     58        sout | "float\t\t\t" | f1 | ' ' | f2 | "\t\t\tswap ";
     59        swap( &f1, &f2 );
     60        sout | '\t' | f1 | ' ' | f2 | endl;
     61
     62        double d1 = 1.5, d2 = 2.5;
     63        sout | "double\t\t\t" | d1 | ' ' | d2 | "\t\t\tswap ";
     64        swap( &d1, &d2 );
     65        sout | '\t' | d1 | ' ' | d2 | endl;
     66
     67        long double ld1 = 1.5, ld2 = 2.5;
     68        sout | "long double\t\t" | ld1 | ' ' | ld2 | "\t\t\tswap ";
     69        swap( &ld1, &ld2 );
     70        sout | '\t' | ld1 | ' ' | ld2 | endl;
     71
     72        float _Complex fc1 = 1.5f+1.5if, fc2 = 2.5f+2.5if;
     73        sout | "float _Complex\t\t" | fc1 | ' ' | fc2 | "\tswap ";
     74        swap( &fc1, &fc2 );
     75        sout | '\t' | fc1 | ' ' | fc2 | endl;
     76
     77        double _Complex dc1 = 1.5d+1.5id, dc2 = 2.5d+2.5id;
     78        sout | "double _Complex\t\t" | dc1 | ' ' | dc2 | "\tswap ";
     79        swap( &dc1, &dc2 );
     80        sout | '\t' | dc1 | ' ' | dc2 | endl;
     81
     82        long double _Complex ldc1 = 1.5d+1.5il, ldc2 = 2.5d+2.5il;
     83        sout | "long double _Complex\t" | ldc1 | ' ' | ldc2 | "\tswap ";
     84        swap( &ldc1, &ldc2 );
     85        sout | '\t' | ldc1 | ' ' | ldc2 | endl;
     86
     87        struct S { int i, j; } s1 = { 1, 2 }, s2 = { 2, 1 };
     88        ofstream * ?|?( ofstream * os, S s ) { return os | s.i | ' ' | s.j; }
     89        sout | "struct S\t\t" | s1 | "  " | s2 | "\t\tswap ";
     90        swap( &s1, &s2 );
     91        sout | '\t' | s1 | "  " | s2 | endl;
     92} // main
    3293
    3394// Local Variables: //
Note: See TracChangeset for help on using the changeset viewer.