(Fatan): Accept an optional second arg and call atan2 if passed 2 args.
This commit is contained in:
parent
9b2d1d408c
commit
250ffca65e
1 changed files with 18 additions and 6 deletions
|
@ -255,13 +255,25 @@ DEFUN ("asin", Fasin, Sasin, 1, 1, 0,
|
|||
return make_float (d);
|
||||
}
|
||||
|
||||
DEFUN ("atan", Fatan, Satan, 1, 1, 0,
|
||||
doc: /* Return the inverse tangent of ARG. */)
|
||||
(arg)
|
||||
register Lisp_Object arg;
|
||||
DEFUN ("atan", Fatan, Satan, 1, 2, 0,
|
||||
doc: /* Return the inverse tangent of the arguments.
|
||||
If only one argument Y is given, return the inverse tangent of Y.
|
||||
If two arguments Y and X are given, return the inverse tangent of Y
|
||||
divided by X, i.e. the angle in radians between the vector (X, Y)
|
||||
and the x-axis. */)
|
||||
(y, x)
|
||||
register Lisp_Object y, x;
|
||||
{
|
||||
double d = extract_float (arg);
|
||||
IN_FLOAT (d = atan (d), "atan", arg);
|
||||
double d = extract_float (y);
|
||||
|
||||
if (NILP (x))
|
||||
IN_FLOAT (d = atan (d), "atan", y);
|
||||
else
|
||||
{
|
||||
double d2 = extract_float (x);
|
||||
|
||||
IN_FLOAT2 (d = atan2 (d, d2), "atan", y, x);
|
||||
}
|
||||
return make_float (d);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue