Project 8 Summary

November 22, 2009

Predicted number of hours: 10hrs

Actual number of hours: 10hrs

LifeConwayCell.out

LifeFredkinCell.out

LifeCell.out

TestLife.out

Project 7 Summary

November 15, 2009

Predicted number of hours: 5hrs

Actual number of hours: 7hrs

Darwin.out

TestDarwin.out

Project 6 Summary

November 1, 2009

Predicted number of hours: 10hrs

Actual number of hours: 6hrs

TestSudoku.out

Project 5 Summary

October 18, 2009

Predicted number of hours: 5hrs

Actual number of hours: 5hrs

TestAllocator.out

Project 4 Summary

October 4, 2009

Predicted number of hours: 5hrs

Actual number of hours: 4hrs

TestMatLab.out

Project 3 Summary

September 27, 2009

Predicted number of hours: 5hrs

Actual number of hours: 4hrs

Execution Time: 0.196

Rank: 35

Voting.out

TestVoting.out

Project 2 Summary

September 10, 2009

Predicted hours to complete: 2hrs

Actual hours to complete: 3hrs

Execution time: 0.020

Rank: 59

Primes.out

TestPrimes.out

Project 1 Summary

September 3, 2009

Predicted hours to complete: 10hrs

Actual hours to complete: 15hrs

Execution time: 0.008

Rank: 144

Collatz.out

TestCollatz.out

Yay!

September 2, 2009

Got it all working in Windows + Eclipse + Cygwin. Cygwin is fairly convenient due to it coming with cppunit and the dl library and stuff.  The main problem that I ran into was that the unit testing code given to us wasn’t working. Turns out that I just had to add -c -fmessage-length=0 to the compiler flags that were there by default but I removed them earlier.  Now I need to ensure that all this stuff works with the CS labs’ computers.

Finished a smarter version of the program too by using a precompiled metacache that cached the cycles from 1-100000 in slices of 100. Made an automated slicer that given a max and an interval, spit out to the console a string that allowed me to change the slices metacache easily. For example, for my metacache, it spit out ” { 119, 125, ….” and so on. Also played around with the metacache size and interval and I have not found a more efficient maximum and interval.

Afterwards, I tried a lot of other optimizations to see if I could improve the speed any further. My first one was a precompiled cache of power of twos and their cycle lengths. That one actually slowed it down. The second was a precache that calculated cycles from 1-1000. Even after playing with the range, the best I got was to not adversely affect the running time. Then I added a cache with an offset. Because I had a precache and a metacache, I tried to see if caching values larger than my slice max of 100000 would increase the running time. It didn’t but it didn’t adversely affect it either. Lastly, I tried to precache the slices metacache instead of precompiling it in order to get a bigger range. But even with a larger range, the run time slowed down instead of speeding up. This leads me to believe that UVa does not feed it values much about 100000.

Current run time is 0.008.

Windows + Stuff = Pain.

September 1, 2009

I might have to up my estimate to 10hrs or so. Having trouble setting up my environment due to some problem when tests are enabled. Using Eclipse + MinGW. Weird thing is that a simple program I found for cppUnit seems to work. Oh well, I’ll look into it later.

Finished the dumb version of the program too. Not too sure if it works since the UVa Online Judging thing doesn’t seem to want to send me a confirmation email.