#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_ #_/ ◆ Additional Mathemetics - KGC_MathReinforce ◆ XP/VX ◆ #_/ ◆ Written by TOMY #_/ ◆ Translation by Mr. Anonymous #_/ ◆ KGC Site: #_/ ◆ http://ytomy.sakura.ne.jp/ #_/ ◆ Translator's Blog: #_/ ◆ http://mraprojects.wordpress.com #_/----------------------------------------------------------------------------- #_/ Installation: Insert this script above main. #_/============================================================================= #_/ This script adds additional mathemetical operations only for scripting #_/ convenience. #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_ =begin Added functions ┠─── Module - Math ──────────────────────────── ┃ average(value) ┃ value : Numeric array ┃ Calculate average value ┃ ┃ devsq(value) ┃ value : Numeric array ┃ Calculate deviation square value ┃ ┃ gmt(value) ┃ value : Numeric array ┃ Calculate average geometry(synergistic) value ┃ ┃ stdevp(value) ┃ value : Numeric array ┃ Calculate standard deviation value ┃ ┃ var(value) ┃ value : Numeric array ┃ Calculate square value _______________________________________________ =end module Math module_function #-------------------------------------------------------------------------- # ● Average #-------------------------------------------------------------------------- def average(value) n = 0.0 value.each {|i| n += i} return n / value.size end #-------------------------------------------------------------------------- # ● Deviation Square #-------------------------------------------------------------------------- def devsq(value) n, v = 0.0, average(value) value.each {|i| n += (i - v) ** 2} return n end #-------------------------------------------------------------------------- # ● Average Geometry(Synergistic) #-------------------------------------------------------------------------- def gmt(value) n = 1.0 value.each {|i| n *= i} return n ** (1.0 / value.size) end #-------------------------------------------------------------------------- # ● Standard Deviation #-------------------------------------------------------------------------- def stdevp(value) return sqrt(var(value)) end #-------------------------------------------------------------------------- # ● Square #-------------------------------------------------------------------------- def var(value) return 0.0 if value.size < 2 return devsq(value) / (value.size - 1) end end