Changes in examples/twice.c [200fcb3:73abe95]
- File:
-
- 1 edited
-
examples/twice.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
examples/twice.c
r200fcb3 r73abe95 7 7 // twice.c -- 8 8 // 9 // Author : Peter A. Buhr9 // Author : Richard C. Bilson 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Dec 11 23:28:08 201813 // Update Count : 4712 // Last Modified On : Tue Mar 8 22:04:58 2016 13 // Update Count : 16 14 14 // 15 15 16 16 #include <fstream.hfa> 17 17 18 forall( otype T | { T ?+?( T, T ); } )18 forall( otype T | { T ?+?( T, T ); T ?++( T * ); [T] ?+=?( T *, T ); } ) 19 19 T twice( const T t ) { 20 20 return t + t; 21 21 } 22 22 23 // char does not have addition 24 char ?+?( char op1, char op2 ) { return (int)op1 + op2; } // cast forces integer addition or recursion 23 int main( void ) { 24 // char does not have addition 25 char ?+?( char op1, char op2 ) { return (int)op1 + op2; } // cast forces integer addition or recursion 26 char ++?( char *op ) { *op += 1; return *op; } 27 char ?++( char *op ) { char temp = *op; *op += 1; return temp; } 25 28 26 // signed char does not have addition 27 signed char ?+?( signed char op1, signed char op2 ) { return (int)op1 + op2; } // cast forces integer addition or recursion 28 29 int main( void ) { 30 sout | twice( ' ' ) | ' ' | twice( (signed char)0 ) | twice( (int)1 ) | twice( 3.2 ); 29 sout | twice( 'a' ) | ' ' | twice( 1 ) | twice( 3.2 ) | endl; 31 30 } 32 31
Note:
See TracChangeset
for help on using the changeset viewer.