OpenCores
URL https://opencores.org/ocsvn/scarts/scarts/trunk

Subversion Repositories scarts

[/] [scarts/] [trunk/] [toolchain/] [scarts-newlib/] [newlib-1.17.0/] [newlib/] [libm/] [math/] [w_atan2.c] - Blame information for rev 9

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 9 jlechner
 
2
/* @(#)w_atan2.c 5.1 93/09/24 */
3
/*
4
 * ====================================================
5
 * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
6
 *
7
 * Developed at SunPro, a Sun Microsystems, Inc. business.
8
 * Permission to use, copy, modify, and distribute this
9
 * software is freely granted, provided that this notice
10
 * is preserved.
11
 * ====================================================
12
 *
13
 */
14
 
15
/*
16
FUNCTION
17
        <<atan2>>, <<atan2f>>---arc tangent of y/x
18
 
19
INDEX
20
   atan2
21
INDEX
22
   atan2f
23
 
24
ANSI_SYNOPSIS
25
        #include <math.h>
26
        double atan2(double <[y]>,double <[x]>);
27
        float atan2f(float <[y]>,float <[x]>);
28
 
29
TRAD_SYNOPSIS
30
        #include <math.h>
31
        double atan2(<[y]>,<[x]>);
32
        double <[y]>;
33
        double <[x]>;
34
 
35
        float atan2f(<[y]>,<[x]>);
36
        float <[y]>;
37
        float <[x]>;
38
 
39
DESCRIPTION
40
 
41
<<atan2>> computes the inverse tangent (arc tangent) of <[y]>/<[x]>.
42
<<atan2>> produces the correct result even for angles near
43
@ifnottex
44
pi/2 or -pi/2
45
@end ifnottex
46
@tex
47
$\pi/2$ or $-\pi/2$
48
@end tex
49
(that is, when <[x]> is near 0).
50
 
51
<<atan2f>> is identical to <<atan2>>, save that it takes and returns
52
<<float>>.
53
 
54
RETURNS
55
<<atan2>> and <<atan2f>> return a value in radians, in the range of
56
@ifnottex
57
-pi to pi.
58
@end ifnottex
59
@tex
60
$-\pi$ to $\pi$.
61
@end tex
62
 
63
You can modify error handling for these functions using <<matherr>>.
64
 
65
PORTABILITY
66
<<atan2>> is ANSI C.  <<atan2f>> is an extension.
67
 
68
 
69
*/
70
 
71
/*
72
 * wrapper atan2(y,x)
73
 */
74
 
75
#include "fdlibm.h"
76
#include <errno.h>
77
 
78
#ifndef _DOUBLE_IS_32BITS
79
 
80
#ifdef __STDC__
81
        double atan2(double y, double x)        /* wrapper atan2 */
82
#else
83
        double atan2(y,x)                       /* wrapper atan2 */
84
        double y,x;
85
#endif
86
{
87
        return __ieee754_atan2(y,x);
88
}
89
 
90
#endif /* defined(_DOUBLE_IS_32BITS) */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.