Function symlog( linthresh, linscale, x )

Description:
Symmetric logarithm mapping function. This function is not generally of much mathematical use, but it is available as one of the scaling options for plot axes. It is linear near the origin (abs(x)<=linthresh) and positive/negative logarithmic outside that region.

The function is:

    |x| <= linthresh:
         x * linscale / linthresh
    |x| >= linthresh:
         sgn(x) * (linscale + log10(|x|) - log10(linthresh))
 
Parameters:
linthresh (floating point)
linear threshold, below which absolute value the function is linear; must be >0
linscale (floating point)
linear scale, being the ratio of the half-extent of the linear mapped region to the extent of a decade in the logarithmic region; must be >0
x (floating point)
value to map
Return Value (floating point):
mapped value
Signature:
double symlog(double, double, double)