- Timestamp:
- Oct 1, 2017, 9:59:17 AM (7 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- 1033f5d, 72ae87c
- Parents:
- 6e49f18
- Location:
- src/tests
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
src/tests/coroutine.c
r6e49f18 rf802e46 10 10 // Created On : Thu Jun 8 07:29:37 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Jun 8 07:37:12201713 // Update Count : 512 // Last Modified On : Sun Sep 17 21:38:15 2017 13 // Update Count : 7 14 14 // 15 15 … … 18 18 19 19 coroutine Fibonacci { 20 int fn; // used for communication20 int fn; // used for communication 21 21 }; 22 22 … … 26 26 27 27 void main( Fibonacci & this ) { 28 int fn1, fn2; // retained between resumes29 this.fn = 0; // case 028 int fn1, fn2; // retained between resumes 29 this.fn = 0; // case 0 30 30 fn1 = this.fn; 31 suspend(); // return tolast resume31 suspend(); // restart last resume 32 32 33 this.fn = 1; // case 1 34 fn2 = fn1; 35 fn1 = this.fn; 36 suspend(); // return to last resume 33 this.fn = 1; // case 1 34 fn2 = fn1; fn1 = this.fn; 35 suspend(); // restart last resume 37 36 38 for ( ;; ) { // general case37 for ( ;; ) { // general case 39 38 this.fn = fn1 + fn2; 40 fn2 = fn1; 41 fn1 = this.fn; 42 suspend(); // return to last resume 39 fn2 = fn1; fn1 = this.fn; 40 suspend(); // restart last resume 43 41 } // for 44 42 } 45 43 46 44 int next( Fibonacci & this ) { 47 resume( this ); // transfer tolast suspend45 resume( this ); // restart last suspend 48 46 return this.fn; 49 47 } … … 52 50 Fibonacci f1, f2; 53 51 for ( int i = 1; i <= 10; i += 1 ) { 54 sout | next( f1 ) | ' ' |next( f2 ) | endl;52 sout | next( f1 ) | next( f2 ) | endl; 55 53 } // for 56 54 } -
src/tests/gmp.c
r6e49f18 rf802e46 10 10 // Created On : Tue Apr 19 08:55:51 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Sep 4 09:51:18201713 // Update Count : 55 012 // Last Modified On : Thu Sep 28 18:33:51 2017 13 // Update Count : 555 14 14 // 15 15 … … 97 97 98 98 sout | "Factorial Numbers" | endl; 99 Int fact; 100 fact = 1; // 1st case 99 Int fact = 1; // 1st case 101 100 sout | (int)0 | fact | endl; 102 101 for ( unsigned int i = 1; i <= 40; i += 1 ) {
Note: See TracChangeset
for help on using the changeset viewer.