1 : /* -*- mode: C -*- Time-stamp: "09/09/05 22:49:28 jemarch"
2 : *
3 : * File: pdf-fp.c
4 : * Date: Sun Feb 10 21:38:34 2008
5 : *
6 : * GNU PDF Library - Floating-point Arithmetic Module
7 : *
8 : */
9 :
10 : /* Copyright (C) 2007, 2008 Free Software Foundation, Inc. */
11 :
12 : /* This program is free software: you can redistribute it and/or modify
13 : * it under the terms of the GNU General Public License as published by
14 : * the Free Software Foundation, either version 3 of the License, or
15 : * (at your option) any later version.
16 : *
17 : * This program is distributed in the hope that it will be useful,
18 : * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 : * GNU General Public License for more details.
21 : *
22 : * You should have received a copy of the GNU General Public License
23 : * along with this program. If not, see <http://www.gnu.org/licenses/>.
24 : */
25 :
26 : #include <config.h>
27 :
28 : #include <pdf-fp.h>
29 :
30 :
31 : pdf_real_t
32 : pdf_fp_add (pdf_real_t op1,
33 : pdf_real_t op2)
34 103 : {
35 103 : return op1 + op2;
36 : }
37 :
38 : pdf_real_t
39 : pdf_fp_sub (pdf_real_t op1,
40 : pdf_real_t op2)
41 71 : {
42 71 : return op1 - op2;
43 : }
44 :
45 : pdf_real_t
46 : pdf_fp_mul (pdf_real_t op1,
47 : pdf_real_t op2)
48 183 : {
49 183 : return op1 * op2;
50 : }
51 :
52 : pdf_real_t
53 : pdf_fp_div (pdf_real_t op1,
54 : pdf_real_t op2)
55 91 : {
56 91 : return op1 / op2;
57 : }
58 :
59 : pdf_real_t
60 : pdf_fp_mod (pdf_real_t op1,
61 : pdf_real_t op2)
62 26 : {
63 26 : return (int)op1 % (int)op2;
64 : }
65 :
66 : pdf_real_t
67 : pdf_fp_sqrt (pdf_real_t op)
68 17 : {
69 17 : return sqrtf (op);
70 : }
71 :
72 : pdf_real_t
73 : pdf_fp_sin (pdf_real_t op)
74 51 : {
75 51 : return sinf (op);
76 : }
77 :
78 : pdf_real_t
79 : pdf_fp_cos (pdf_real_t op)
80 27 : {
81 27 : return cosf (op);
82 : }
83 :
84 : pdf_real_t
85 : pdf_fp_atan2 (pdf_real_t op1,
86 : pdf_real_t op2)
87 12 : {
88 12 : return atan2f (op1, op2);
89 : }
90 :
91 : pdf_real_t
92 : pdf_fp_pow (pdf_real_t op1,
93 : pdf_real_t op2)
94 12 : {
95 12 : return pow (op1, op2);
96 : }
97 :
98 : pdf_real_t
99 : pdf_fp_exp (pdf_real_t op)
100 0 : {
101 0 : return expf (op);
102 : }
103 :
104 : pdf_real_t
105 : pdf_fp_abs (pdf_real_t op)
106 437 : {
107 437 : return fabs (op);
108 : }
109 :
110 : pdf_real_t
111 : pdf_fp_log10 (pdf_real_t op)
112 7 : {
113 7 : return log10f (op);
114 : }
115 :
116 : pdf_real_t
117 : pdf_fp_log (pdf_real_t op)
118 7 : {
119 7 : return logf (op);
120 : }
121 :
122 : pdf_real_t
123 : pdf_fp_floor (pdf_real_t op)
124 187 : {
125 187 : return floorf (op);
126 : }
127 :
128 : pdf_real_t
129 : pdf_fp_ceil (pdf_real_t op)
130 103 : {
131 103 : return ceilf (op);
132 : }
133 :
134 :
135 : /* End of pdf-fp.c */
|