1 /*
2 * Copyright (c) 1980 Regents of the University of California.
3 * All rights reserved. The Berkeley software License Agreement
4 * specifies the terms and conditions for redistribution.
5 */
6
7 #ifndef lint
8 static char sccsid[] = "@(#)acos.c 5.1 (Berkeley) 05/08/85";
9 #endif not lint
10
11 /*
12 acos(arg) return the arccos,
13 respectively of their arguments.
14
15 Arctan is called after appropriate range reduction.
16 */
17
18 #include <errno.h>
19 int errno;
20 double atan();
21 double asin();
22 static double pio2 = 1.570796326794896619;
23
24 double
acos(arg)25 acos(arg) double arg; {
26
27 asm(" bispsw $0xe0");
28 if(arg > 1.|| arg < -1.){
29 errno = EDOM;
30 return(0.);
31 }
32
33 return(pio2 - asin(arg));
34 }
35