 /**
 Linear mapping. Maps a value in the source range [min, max] to a value in the target range [toMin, toMax] using linear interpolation.
 
-For example:
     map(10, 0, 20, 0, 200) = 100
     map(10, 0, 100, 200, 300) = 210
     map(10, 0, 20, 200, 300) = 250


/**
Return a random integer greater than or equal to min and less than max.

:param: min The lower bound
:param: max The upper bound

/**
Linear interpolation. For any two values a and b return a linear interpolation with parameter `param`.

    lerp(0,100,0.5) = 50
    lerp(100,200,0.5) = 150
    lerp(500,1000,0.33) = 665
