diff options
| author | Eli Zaretskii | 2002-02-19 10:58:07 +0000 |
|---|---|---|
| committer | Eli Zaretskii | 2002-02-19 10:58:07 +0000 |
| commit | 250ffca65ee61183ebab25a4a301444cb9a51e9c (patch) | |
| tree | e50a7e012c77c4c75805a419738d27a6de42adc1 /src/floatfns.c | |
| parent | 9b2d1d408c023cc436b5cf251e9c814376f4c200 (diff) | |
| download | emacs-250ffca65ee61183ebab25a4a301444cb9a51e9c.tar.gz emacs-250ffca65ee61183ebab25a4a301444cb9a51e9c.zip | |
(Fatan): Accept an optional second arg and call atan2 if passed 2 args.
Diffstat (limited to 'src/floatfns.c')
| -rw-r--r-- | src/floatfns.c | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/src/floatfns.c b/src/floatfns.c index fabbffb4408..08405c307a7 100644 --- a/src/floatfns.c +++ b/src/floatfns.c | |||
| @@ -255,13 +255,25 @@ DEFUN ("asin", Fasin, Sasin, 1, 1, 0, | |||
| 255 | return make_float (d); | 255 | return make_float (d); |
| 256 | } | 256 | } |
| 257 | 257 | ||
| 258 | DEFUN ("atan", Fatan, Satan, 1, 1, 0, | 258 | DEFUN ("atan", Fatan, Satan, 1, 2, 0, |
| 259 | doc: /* Return the inverse tangent of ARG. */) | 259 | doc: /* Return the inverse tangent of the arguments. |
| 260 | (arg) | 260 | If only one argument Y is given, return the inverse tangent of Y. |
| 261 | register Lisp_Object arg; | 261 | If two arguments Y and X are given, return the inverse tangent of Y |
| 262 | divided by X, i.e. the angle in radians between the vector (X, Y) | ||
| 263 | and the x-axis. */) | ||
| 264 | (y, x) | ||
| 265 | register Lisp_Object y, x; | ||
| 262 | { | 266 | { |
| 263 | double d = extract_float (arg); | 267 | double d = extract_float (y); |
| 264 | IN_FLOAT (d = atan (d), "atan", arg); | 268 | |
| 269 | if (NILP (x)) | ||
| 270 | IN_FLOAT (d = atan (d), "atan", y); | ||
| 271 | else | ||
| 272 | { | ||
| 273 | double d2 = extract_float (x); | ||
| 274 | |||
| 275 | IN_FLOAT2 (d = atan2 (d, d2), "atan", y, x); | ||
| 276 | } | ||
| 265 | return make_float (d); | 277 | return make_float (d); |
| 266 | } | 278 | } |
| 267 | 279 | ||