Changes in src/tests/sum.c [7d69095:c0b4db0]
- File:
-
- 1 edited
-
src/tests/sum.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/tests/sum.c
r7d69095 rc0b4db0 11 11 // Created On : Wed May 27 17:56:53 2015 12 12 // Last Modified By : Peter A. Buhr 13 // Last Modified On : S un Jun 3 19:23:41201814 // Update Count : 27 813 // Last Modified On : Sat Feb 17 11:49:17 2018 14 // Update Count : 273 15 15 // 16 16 … … 18 18 #include <stdlib> 19 19 20 void ?{}( int & c, zero_t ) { c = 0; } // not in prelude20 void ?{}( int & c, zero_t ) { c = 0; } 21 21 22 22 trait sumable( otype T ) { 23 void ?{}( T &, zero_t ); // 0 literal constructor23 void ?{}( T &, zero_t ); // constructor from 0 literal 24 24 T ?+?( T, T ); // assortment of additions 25 25 T ?+=?( T &, T ); … … 29 29 30 30 forall( otype T | sumable( T ) ) // use trait 31 T sum( size_t size, T a[] ) {32 T total = 0; // in itialize by 0constructor33 for ( size_t i = 0; i < size; i += 1 )31 T sum( unsigned int size, T a[] ) { 32 T total = 0; // instantiate T from 0 by calling constructor 33 for ( unsigned int i = 0; i < size; i += 1 ) 34 34 total += a[i]; // select appropriate + 35 35 return total; … … 111 111 for ( int i = 0; i < size; i += 1, v += 1 ) { 112 112 s += (int)v; 113 gs.x[i] = (int)v; // set fi eld array in generic type113 gs.x[i] = (int)v; // set filed array in generic type 114 114 } // for 115 115 sout | "sum from" | low | "to" | High | "is" 116 | sum( size, gs.x ) | ", check" | (int)s | endl; // add fi eld array in generic type116 | sum( size, gs.x ) | ", check" | (int)s | endl; // add filed array in generic type 117 117 } // main 118 118
Note:
See TracChangeset
for help on using the changeset viewer.