mbutsko
6/3/2014 - 3:32 PM

Best Code Ever

Best Code Ever

			<cfif abiliest LTE -3>
			  <cfset infoforselection = info_3>
			<cfelseif abiliest LT -2>
			  <cfset infoforselection = (1 - (abiliest-(-3))) * info_3 + (1-((-2) - abiliest)) * info_2>
			<cfelseif abiliest LT -1>
			  <cfset infoforselection = (1 - (abiliest-(-2))) * info_2 + (1-((-1) - abiliest)) * info_1>
			<cfelseif abiliest LT 0>
			  <cfset infoforselection = (1 - (abiliest-(-1))) * info_1 + (1-((+0) - abiliest)) * info0>
			<cfelseif abiliest LT 1>
			  <cfset infoforselection = (1 - (abiliest-(+0))) * info0 + (1-((+1) - abiliest)) * info1>
			<cfelseif abiliest LT 2>
			  <cfset infoforselection = (1 - (abiliest-(+1))) * info1 + (1-((+2) - abiliest)) * info2>
			<cfelseif abiliest LT 3>
			  <cfset infoforselection = (1 - (abiliest-(+2))) * info2 + (1-((+3) - abiliest)) * info3>
			<cfelseif abiliest GTE 3>
			  <cfset infoforselection = info3>
			</cfif>
			
			
			...
			
			initprobtarget is a session variable that gets assigned to 0.5 and never changes,
			initabil is a session variable that gets assigned to 1 and never changes,
			This code is repeatedly run.
			=1 - ln(.5/.5)
			=1 - 0
			=1
			difftarget gets set to 1.0000 every time.
			
			
				<cfif NOT isDefined("session.difftarget")><!--- Is this the first question? (YES) --->
				<cfset session.difftarget = session.initabil - log(session.initprobtarget / (1 - session.initprobtarget))>
				<!--- Round the number --->
				<cfset session.difftarget = numberFormat(session.difftarget, ".9999")>
			<cfelse>