diff options
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | arith.c | 5 | ||||
-rw-r--r-- | eval.c | 1 | ||||
-rw-r--r-- | lib.h | 1 | ||||
-rw-r--r-- | txr.1 | 6 |
5 files changed, 22 insertions, 1 deletions
@@ -1,3 +1,13 @@ +2014-03-04 Kaz Kylheku <kaz@kylheku.com> + + * arith.c (logten): New function. + + * eval.c (eval_init): logten registered as intrinsic. + + * lib.h (logten): Declared. + + * txr.1: Documented. + 2014-03-03 Kaz Kylheku <kaz@kylheku.com> * parser.l: Allowing ^ to be a quote character, and adjusting definition @@ -1439,6 +1439,11 @@ val loga(val num) return flo(log(c_flo(to_float(lit("log"), num)))); } +val logten(val num) +{ + return flo(log10(c_flo(to_float(lit("log"), num)))); +} + val expo(val num) { return flo(exp(c_flo(to_float(lit("exp"), num)))); @@ -3241,6 +3241,7 @@ void eval_init(void) reg_fun(intern(lit("atan"), user_package), func_n1(atang)); reg_fun(intern(lit("atan2"), user_package), func_n2(atang2)); reg_fun(intern(lit("log"), user_package), func_n1(loga)); + reg_fun(intern(lit("log10"), user_package), func_n1(logten)); reg_fun(intern(lit("exp"), user_package), func_n1(expo)); reg_fun(intern(lit("sqrt"), user_package), func_n1(sqroot)); reg_fun(intern(lit("cum-norm-dist"), user_package), func_n1(cum_norm_dist)); @@ -497,6 +497,7 @@ val acosi(val); val atang(val); val atang2(val, val); val loga(val); +val logten(val num); val expo(val); val logand(val, val); val logior(val, val); @@ -9778,13 +9778,14 @@ functions. The <num> argument to asin and acos must be in the range -1.0 to 1.0. The atan2 function converts the rectilinear coordinates <x> and <y> to an angle in polar coordinates in the range [0, 2pi). -.SS Functions log, exp +.SS Functions exp, log, log10 .TP Syntax: (exp <number>) (log <number>) + (log10 <number>) .TP Description: @@ -9795,6 +9796,9 @@ the specified exponent. The log function calculates the base e logarithm of its argument, which must be a positive value. +The log10 function calculates the base 10 logarithm of its argument, which must +be a positive value. + Integer arguments are converted to floats. .SS Functions expt, sqrt, isqrt |