floIncrementor
This is a PHP class that was written mainly to be an obsurd method of adding two numbers together. This task can normally be applied by "a = b + c", however, this pertuclar class uses 150 lines of code to prove that it doesn't have to be that simple. (Sorry about the page width on this.)
Though this class is finished, I have put it under "Under Development" because I want to add a form that visitors can use to do their own calculations.
Increment 20 by 11 => $inc->increment(20, 11, "Comment: Incrementing 20 by 11 with a precision of .0001, accepting results between 0 and 100.", .0001, 0, 100): 30.999971861395
inc = floIncrementor Object
(
[last_value_calculated] => 30.999971861395
[last_increment_value] => 11
[last_precision] => 0.0001
[last_max_value] => 100
[last_min_value] => 0
[increment_history_for_undo] => Array
(
[0] => Array
(
[start_value] => 20
[inc_value] => 11
[precision] => 0.0001
[comments] => Comment: Incrementing 20 by 11 with a precision of .0001, accepting results between 0 and 100.
[min_value] => 0
[max_value] => 100
[recursion] => Array
(
[0] => Array
(
[starting_value] => 20
[target_increment] => 11
[tollerance_adjusted] => -5.8937434181818E-06
[return_value] => 20.999994106257
)
[1] => Array
(
[starting_value] => 20.999994106257
[target_increment] => 10
[tollerance_adjusted] => 3.9416019909091E-06
[return_value] => 21.999998047859
)
[2] => Array
(
[starting_value] => 21.999998047859
[target_increment] => 9
[tollerance_adjusted] => 7.5724540909091E-07
[return_value] => 22.999998805104
)
[3] => Array
(
[starting_value] => 22.999998805104
[target_increment] => 8
[tollerance_adjusted] => 4.1942348090909E-06
[return_value] => 24.000002999339
)
[4] => Array
(
[starting_value] => 24.000002999339
[target_increment] => 7
[tollerance_adjusted] => -1.7985306454545E-06
[return_value] => 25.000001200808
)
[5] => Array
(
[starting_value] => 25.000001200808
[target_increment] => 6
[tollerance_adjusted] => -5.5158827363636E-06
[return_value] => 25.999995684925
)
[6] => Array
(
[starting_value] => 25.999995684925
[target_increment] => 5
[tollerance_adjusted] => -6.7006796818182E-06
[return_value] => 26.999988984246
)
[7] => Array
(
[starting_value] => 26.999988984246
[target_increment] => 4
[tollerance_adjusted] => -2.7415579181818E-06
[return_value] => 27.999986242688
)
[8] => Array
(
[starting_value] => 27.999986242688
[target_increment] => 3
[tollerance_adjusted] => -9.0039343272727E-06
[return_value] => 28.999977238753
)
[9] => Array
(
[starting_value] => 28.999977238753
[target_increment] => 2
[tollerance_adjusted] => -2.0374134545455E-06
[return_value] => 29.99997520134
)
[10] => Array
(
[starting_value] => 29.99997520134
[target_increment] => 1
[tollerance_adjusted] => -3.3399447727273E-06
[return_value] => 30.999971861395
)
)
)
)
[increment_history_for_redo] => Array
(
)
[errors] => Array
(
)
[shiftiness:private] => 1000000000
)
5 more => $inc->increment(NULL, 5, "Adding 5 more."): 35.999992988127
inc = floIncrementor Object
(
[last_value_calculated] => 35.999992988127
[last_increment_value] => 5
[last_precision] => 0.0001
[last_max_value] => 100
[last_min_value] => 0
[increment_history_for_undo] => Array
(
[0] => Array
(
[start_value] => 20
[inc_value] => 11
[precision] => 0.0001
[comments] => Comment: Incrementing 20 by 11 with a precision of .0001, accepting results between 0 and 100.
[min_value] => 0
[max_value] => 100
[recursion] => Array
(
[0] => Array
(
[starting_value] => 20
[target_increment] => 11
[tollerance_adjusted] => -5.8937434181818E-06
[return_value] => 20.999994106257
)
[1] => Array
(
[starting_value] => 20.999994106257
[target_increment] => 10
[tollerance_adjusted] => 3.9416019909091E-06
[return_value] => 21.999998047859
)
[2] => Array
(
[starting_value] => 21.999998047859
[target_increment] => 9
[tollerance_adjusted] => 7.5724540909091E-07
[return_value] => 22.999998805104
)
[3] => Array
(
[starting_value] => 22.999998805104
[target_increment] => 8
[tollerance_adjusted] => 4.1942348090909E-06
[return_value] => 24.000002999339
)
[4] => Array
(
[starting_value] => 24.000002999339
[target_increment] => 7
[tollerance_adjusted] => -1.7985306454545E-06
[return_value] => 25.000001200808
)
[5] => Array
(
[starting_value] => 25.000001200808
[target_increment] => 6
[tollerance_adjusted] => -5.5158827363636E-06
[return_value] => 25.999995684925
)
[6] => Array
(
[starting_value] => 25.999995684925
[target_increment] => 5
[tollerance_adjusted] => -6.7006796818182E-06
[return_value] => 26.999988984246
)
[7] => Array
(
[starting_value] => 26.999988984246
[target_increment] => 4
[tollerance_adjusted] => -2.7415579181818E-06
[return_value] => 27.999986242688
)
[8] => Array
(
[starting_value] => 27.999986242688
[target_increment] => 3
[tollerance_adjusted] => -9.0039343272727E-06
[return_value] => 28.999977238753
)
[9] => Array
(
[starting_value] => 28.999977238753
[target_increment] => 2
[tollerance_adjusted] => -2.0374134545455E-06
[return_value] => 29.99997520134
)
[10] => Array
(
[starting_value] => 29.99997520134
[target_increment] => 1
[tollerance_adjusted] => -3.3399447727273E-06
[return_value] => 30.999971861395
)
)
)
[1] => Array
(
[start_value] => 30.999971861395
[inc_value] => 5
[precision] => 0.0001
[comments] => Adding 5 more.
[min_value] => 0
[max_value] => 100
[recursion] => Array
(
[0] => Array
(
[starting_value] => 30.999971861395
[target_increment] => 5
[tollerance_adjusted] => 1.698277374E-05
[return_value] => 31.999988844169
)
[1] => Array
(
[starting_value] => 31.999988844169
[target_increment] => 4
[tollerance_adjusted] => -9.88699594E-06
[return_value] => 32.999978957173
)
[2] => Array
(
[starting_value] => 32.999978957173
[target_increment] => 3
[tollerance_adjusted] => 1.672224644E-05
[return_value] => 33.999995679419
)
[3] => Array
(
[starting_value] => 33.999995679419
[target_increment] => 2
[tollerance_adjusted] => -1.971635924E-05
[return_value] => 34.99997596306
)
[4] => Array
(
[starting_value] => 34.99997596306
[target_increment] => 1
[tollerance_adjusted] => 1.702506682E-05
[return_value] => 35.999992988127
)
)
)
)
[increment_history_for_redo] => Array
(
)
[errors] => Array
(
)
[shiftiness:private] => 1000000000
)
undo => $inc->undo(): 30.999971861395
inc = floIncrementor Object
(
[last_value_calculated] => 30.999971861395
[last_increment_value] => 11
[last_precision] => 0.0001
[last_max_value] => 0
[last_min_value] => 100
[increment_history_for_undo] => Array
(
[0] => Array
(
[start_value] => 20
[inc_value] => 11
[precision] => 0.0001
[comments] => Comment: Incrementing 20 by 11 with a precision of .0001, accepting results between 0 and 100.
[min_value] => 0
[max_value] => 100
[recursion] => Array
(
[0] => Array
(
[starting_value] => 20
[target_increment] => 11
[tollerance_adjusted] => -5.8937434181818E-06
[return_value] => 20.999994106257
)
[1] => Array
(
[starting_value] => 20.999994106257
[target_increment] => 10
[tollerance_adjusted] => 3.9416019909091E-06
[return_value] => 21.999998047859
)
[2] => Array
(
[starting_value] => 21.999998047859
[target_increment] => 9
[tollerance_adjusted] => 7.5724540909091E-07
[return_value] => 22.999998805104
)
[3] => Array
(
[starting_value] => 22.999998805104
[target_increment] => 8
[tollerance_adjusted] => 4.1942348090909E-06
[return_value] => 24.000002999339
)
[4] => Array
(
[starting_value] => 24.000002999339
[target_increment] => 7
[tollerance_adjusted] => -1.7985306454545E-06
[return_value] => 25.000001200808
)
[5] => Array
(
[starting_value] => 25.000001200808
[target_increment] => 6
[tollerance_adjusted] => -5.5158827363636E-06
[return_value] => 25.999995684925
)
[6] => Array
(
[starting_value] => 25.999995684925
[target_increment] => 5
[tollerance_adjusted] => -6.7006796818182E-06
[return_value] => 26.999988984246
)
[7] => Array
(
[starting_value] => 26.999988984246
[target_increment] => 4
[tollerance_adjusted] => -2.7415579181818E-06
[return_value] => 27.999986242688
)
[8] => Array
(
[starting_value] => 27.999986242688
[target_increment] => 3
[tollerance_adjusted] => -9.0039343272727E-06
[return_value] => 28.999977238753
)
[9] => Array
(
[starting_value] => 28.999977238753
[target_increment] => 2
[tollerance_adjusted] => -2.0374134545455E-06
[return_value] => 29.99997520134
)
[10] => Array
(
[starting_value] => 29.99997520134
[target_increment] => 1
[tollerance_adjusted] => -3.3399447727273E-06
[return_value] => 30.999971861395
)
)
)
)
[increment_history_for_redo] => Array
(
[0] => Array
(
[start_value] => 30.999971861395
[inc_value] => 5
[precision] => 0.0001
[comments] => Adding 5 more.
[min_value] => 0
[max_value] => 100
[recursion] => Array
(
[0] => Array
(
[starting_value] => 30.999971861395
[target_increment] => 5
[tollerance_adjusted] => 1.698277374E-05
[return_value] => 31.999988844169
)
[1] => Array
(
[starting_value] => 31.999988844169
[target_increment] => 4
[tollerance_adjusted] => -9.88699594E-06
[return_value] => 32.999978957173
)
[2] => Array
(
[starting_value] => 32.999978957173
[target_increment] => 3
[tollerance_adjusted] => 1.672224644E-05
[return_value] => 33.999995679419
)
[3] => Array
(
[starting_value] => 33.999995679419
[target_increment] => 2
[tollerance_adjusted] => -1.971635924E-05
[return_value] => 34.99997596306
)
[4] => Array
(
[starting_value] => 34.99997596306
[target_increment] => 1
[tollerance_adjusted] => 1.702506682E-05
[return_value] => 35.999992988127
)
)
)
)
[errors] => Array
(
)
[shiftiness:private] => 1000000000
)
redo => $inc->redo(): 35.999992988127
inc = floIncrementor Object
(
[last_value_calculated] => 35.999992988127
[last_increment_value] =>
[last_precision] =>
[last_max_value] =>
[last_min_value] =>
[increment_history_for_undo] => Array
(
[0] => Array
(
[start_value] => 20
[inc_value] => 11
[precision] => 0.0001
[comments] => Comment: Incrementing 20 by 11 with a precision of .0001, accepting results between 0 and 100.
[min_value] => 0
[max_value] => 100
[recursion] => Array
(
[0] => Array
(
[starting_value] => 20
[target_increment] => 11
[tollerance_adjusted] => -5.8937434181818E-06
[return_value] => 20.999994106257
)
[1] => Array
(
[starting_value] => 20.999994106257
[target_increment] => 10
[tollerance_adjusted] => 3.9416019909091E-06
[return_value] => 21.999998047859
)
[2] => Array
(
[starting_value] => 21.999998047859
[target_increment] => 9
[tollerance_adjusted] => 7.5724540909091E-07
[return_value] => 22.999998805104
)
[3] => Array
(
[starting_value] => 22.999998805104
[target_increment] => 8
[tollerance_adjusted] => 4.1942348090909E-06
[return_value] => 24.000002999339
)
[4] => Array
(
[starting_value] => 24.000002999339
[target_increment] => 7
[tollerance_adjusted] => -1.7985306454545E-06
[return_value] => 25.000001200808
)
[5] => Array
(
[starting_value] => 25.000001200808
[target_increment] => 6
[tollerance_adjusted] => -5.5158827363636E-06
[return_value] => 25.999995684925
)
[6] => Array
(
[starting_value] => 25.999995684925
[target_increment] => 5
[tollerance_adjusted] => -6.7006796818182E-06
[return_value] => 26.999988984246
)
[7] => Array
(
[starting_value] => 26.999988984246
[target_increment] => 4
[tollerance_adjusted] => -2.7415579181818E-06
[return_value] => 27.999986242688
)
[8] => Array
(
[starting_value] => 27.999986242688
[target_increment] => 3
[tollerance_adjusted] => -9.0039343272727E-06
[return_value] => 28.999977238753
)
[9] => Array
(
[starting_value] => 28.999977238753
[target_increment] => 2
[tollerance_adjusted] => -2.0374134545455E-06
[return_value] => 29.99997520134
)
[10] => Array
(
[starting_value] => 29.99997520134
[target_increment] => 1
[tollerance_adjusted] => -3.3399447727273E-06
[return_value] => 30.999971861395
)
)
)
[1] => Array
(
[start_value] => 30.999971861395
[inc_value] => 5
[precision] => 0.0001
[comments] => Adding 5 more.
[min_value] => 0
[max_value] => 100
[recursion] => Array
(
[0] => Array
(
[starting_value] => 30.999971861395
[target_increment] => 5
[tollerance_adjusted] => 1.698277374E-05
[return_value] => 31.999988844169
)
[1] => Array
(
[starting_value] => 31.999988844169
[target_increment] => 4
[tollerance_adjusted] => -9.88699594E-06
[return_value] => 32.999978957173
)
[2] => Array
(
[starting_value] => 32.999978957173
[target_increment] => 3
[tollerance_adjusted] => 1.672224644E-05
[return_value] => 33.999995679419
)
[3] => Array
(
[starting_value] => 33.999995679419
[target_increment] => 2
[tollerance_adjusted] => -1.971635924E-05
[return_value] => 34.99997596306
)
[4] => Array
(
[starting_value] => 34.99997596306
[target_increment] => 1
[tollerance_adjusted] => 1.702506682E-05
[return_value] => 35.999992988127
)
)
)
)
[increment_history_for_redo] => Array
(
)
[errors] => Array
(
)
[shiftiness:private] => 1000000000
)