aboutsummaryrefslogtreecommitdiff
path: root/sys/libc/mathf.f
blob: 89279451e101b355c474edac83ad55f4b763e20e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
c
c	MATH -- C callable math functions.  This is the only portable way
c	to access the Fortran intrinsic functions from C.  As a local
c	optimization it is possible to add defines to map these external
c	names onto the local Fortran library functions, but since C is not
c	generally used intensively for computations and all floating point
c	is done in double precision anyway, it is probably not worth it.
c

	integer function xnint (x)
	double precision x
		xnint = nint (x)
	end

	double precision function xexp (x)
	double precision x
		xexp = exp(x)
	end

	double precision function xlog (x)
	double precision x
		xlog = log(x)
	end

	double precision function xlog10 (x)
	double precision x
		xlog10 = log10(x)
	end

	double precision function xpow (x, y)
	double precision x
	double precision y
		xpow = x ** y
	end

	double precision function xsqrt (x)
	double precision x
		xsqrt = sqrt(x)
	end

	double precision function xsin (x)
	double precision x
		xsin = sin(x)
	end

	double precision function xcos (x)
	double precision x
		xcos = cos(x)
	end

	double precision function xtan (x)
	double precision x
		xtan = tan(x)
	end

	double precision function xasin (x)
	double precision x
		xasin = asin(x)
	end

	double precision function xacos (x)
	double precision x
		xacos = acos(x)
	end

	double precision function xatan (x)
	double precision x
		xatan = atan(x)
	end

	double precision function xatan2 (x, y)
	double precision x
	double precision y
		xatan2 = atan2(x,y)
	end