// Changes compared to SiMRiSc version 11a (by Chris)
//
// * New tumor growth model (Tumor.cpp) now calculating preclinical period from 'self-detect-diameter'. See thesis report for details.
//
// * Survival chance now taken from continuous formula (see thesis report)
//		* New parameters a, b, c and d in input file
//		* Alternatively, the old way (loading from CumTumorDeathProb.txt) can be used by setting config parameter cumDeathProbFromFile to 1
//
// * Changed how breast density is assigned. A women will now progress 'naturally' through her life instead of being assigned a completely random density each screening round.
//
// * Rewritten the way tumor chance and induced tumors from radiation is calculated
//	* The code-flow was severly bugged;
//		The tumor probability of a women was depending on the -previous- women in the simulation!
//		The first women in the simulation had no chance on a tumor, because the array was pointing to a random place in memory (wasn't initialized at that point in code)
//		Execution time is now reduced from >1 minute to 4 seconds for 10000 women with 16 screening rounds each
//
// * Rewritten and fixed MamDens function
//		The input parameter age was integer, but the age in the rest of the code is floating point, generating compiler warnings and unpredictable behaviour.
//		No more 'if else else if if else if then' code...
//
// * CumDeathProb (mortality rate because of natural causes) loaded from CumDeathProb.txt instead of being hardcoded
//  
// * Fixed a bug where if the women dies because of natural cause before the first screening, the death age is later on rewritten by 1
// * Fixed a bug in the interval cancer detection:
//         If a the screening interval is not 2 years, a women that
//         dies within 2 years after the screening moment was still recorded as interval cancer.
//  
// * Fixed dangling pointer bug in arrays r6, r7 and r8 which could cause SiMRiSc to crash when running multiple iterations
//
// * Renamed the executable to SiMRiSc.exe
//
// * Removed all console input (make it possible to run from batch process)
// * The control file is now a command line argument:
//		Starting SiMRiSc can now be done by 'SiMRiSc.exe control.txt' making it possible to run from batch file
//		If no command line argument is given, 'control.txt' is assumed for the control file by default
//	
// * The number of scenarios executed is now taken from the number of lines of the control file instead of requiring a seperate parameter
//	
// * Introduced variable deathStatus (replacing previous 'death' variable) to give more insight into when and why a women died.
//		This enum can have the following values:
//			0 DEATHSTATUS_NOTDEAD,
//			1 DEATHSTATUS_NATURAL_PRESCREENING,
//			2 DEATHSTATUS_NATURAL_DURINGSCREENING,
//			3 DEATHSTATUS_NATURAL_POSTSCREENING,
//			4 DEATHSTATUS_TUMOR_PRESCREENING,
//			5 DEATHSTATUS_TUMOR_DURINGSCREENING,
//			6 DEATHSTATUS_TUMOR_POSTSCREENING
//		This variable is also recorded to the output, making it clear what the exact cause of death per women is
//
// * Replaced quasi-boolean variables (using constants 'TRUE' and 'FALSE') by real boolean type
//		This drastic measure saves 15 bits of memory per variable \O/
//
// * Moved all output generating code after the simulation loops
//
//
// * Made the implementation of the random number generator abstract (random.cpp)
// * Implemented the random number engine provided by the C++ STL (in addition to the existing 3rd party library). Functionality between the 2 random number generator engines is exactly the same. Switching can be done in random.cpp.
// * Random number generator can now also generate exponential distribution
//
// * Removed all console output
// * Introduced progress bar to console, showing the progress of the current iteration and of the total execution
// * Introduced execution time benchmark
//
//
// * General code cleanups and comments
//		*	Changed variable name 'j' to 'iteration'.
//				Will change all variables like 'i','k','l','q' by sensible variable names in the future
//		*	Removed weird hardcoded stuff like
//				if (preclin_age1>3.1 && tumor_age<50)
//					preclin_age1=3.1;
//		*	All variable names and comments now in English
//		*	Marked code that is dirty, unclear or both by 'TODO' comment so it can be reviewed in the future
