Ignore:
Timestamp:
Apr 28, 2015, 4:21:36 PM (9 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:
42e2ad7
Parents:
ad17ba6a
Message:

fixed sizeof type variable, find lowest cost alternative for sizeof expression, removed unused classes, added compiler flag, remove temporary file for -CFA, formatting

File:
1 edited

Legend:

Unmodified
Added
Removed
  • translator/examples/sum.c

    rad17ba6a rbdd516a  
    77    T ?+?( T, T );
    88    T ?++( T * );
    9     [T] ?+=?( T *, T );
     9    T ?+=?( T *, T );
    1010};
    1111
    1212forall( type T | sumable( T ) )
    1313T sum( int n, T a[] ) {
    14     T total = 0;                        // instantiate T, select 0
     14    T total;                            // instantiate T, select 0
     15    total = 0;
    1516    for ( int i = 0; i < n; i += 1 )
    1617        total = total + a[i];           // select +
     
    1819}
    1920
     21// Required to satisfy sumable as char does not have addition.
     22const char 0;
     23char ?+?( char op1, char op2 ) { return op1 + op2; }
     24char ?++( char *op ) { return *op + 1; }
     25
     26const double 0; // TEMPORARY, incorrect use of int 0
     27
    2028int main() {
    2129    const int size = 10, low = 0, High = 10;
    22     int si, ai[10]; // size
     30    int si = 0, ai[10]; // size
    2331    int i;
    2432    for ( i = low; i < High; i += 1 ) {
     
    2836    printf( "sum from %d to %d is %d, check %d\n",
    2937            low, High, sum( size, ai ), si );
    30     double sd, ad[10]; // size
     38
     39//    char ci[10];
     40//    char c = sum( size, ci );
     41//    float fi[10];
     42//    float f = sum( size, fi );
     43
     44    double sd = 0.0, ad[10]; // size
    3145    for ( i = low; i < High; i += 1 ) {
    3246        double d = i / (double)size;
Note: See TracChangeset for help on using the changeset viewer.