// Evol functions. // Authors: // 4144 // Reid // Jesusalva // Description: // Math functions // abs() // returns the absolute value of the passed integer function script abs { .@n = getarg(0); return .@n >= 0 ? .@n : -.@n; } // lognbaselvl({{, }}) // returns BaseLevel * logn (BaseLevel * alpha). function script lognbaselvl { .@alpha = getarg(0, 1); .@min = getarg(1, 1); .@ret = 0; .@pc_level = BaseLevel * .@alpha; while (.@pc_level >>= 1) { ++.@ret; } .@ret *= BaseLevel; if (.@ret <= .@min) { .@ret = .@min; } return .@ret; } // result is: lower < target <= higher // is_between ( lower, higher, target) function script is_between { .@val=getarg(2); return (getarg(0) < .@val && getarg(1) >= .@val); } // result is the ponderate average. // ponderate_avg ( arg1, sub1, arg2, sub2) function script ponderate_avg { .@a1=getarg(0); .@s1=getarg(1); .@a2=getarg(2); .@s2=getarg(3); .@h1=.@a1*.@s1; .@h2=.@a2*.@s2; .@dd=.@s1+.@s2; return (.@h1+.@h2)/.@dd; }