source: mainline/uspace/lib/softfloat/include/softfloat.h@ 3375bd4

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since 3375bd4 was 750636a, checked in by Martin Decky <martin@…>, 14 years ago

softfloat: slightly improve coding style (no change in functionality)

  • Property mode set to 100644
File size: 5.8 KB
RevLine 
[211bd8a5]1/*
[df4ed85]2 * Copyright (c) 2005 Josef Cejka
[211bd8a5]3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *
9 * - Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 * - Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in the
13 * documentation and/or other materials provided with the distribution.
14 * - The name of the author may not be used to endorse or promote products
15 * derived from this software without specific prior written permission.
16 *
17 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
18 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */
28
[750636a]29/** @addtogroup softfloat
[846848a6]30 * @{
31 */
32/** @file
33 */
34
[211bd8a5]35#ifndef __SOFTFLOAT_H__
36#define __SOFTFLOAT_H__
37
[750636a]38extern float __addsf3(float, float);
39extern double __adddf3(double, double);
40extern long double __addtf3(long double, long double);
41extern long double __addxf3(long double, long double);
[aa59fa0]42
[750636a]43extern float __subsf3(float, float);
44extern double __subdf3(double, double);
45extern long double __subtf3(long double, long double);
46extern long double __subxf3(long double, long double);
[211bd8a5]47
[750636a]48extern float __mulsf3(float, float);
49extern double __muldf3(double, double);
50extern long double __multf3(long double, long double);
51extern long double __mulxf3(long double, long double);
[846848a6]52
[750636a]53extern float __divsf3(float, float);
54extern double __divdf3(double, double);
55extern long double __divtf3(long double, long double);
56extern long double __divxf3(long double, long double);
57
58extern float __negsf2(float);
59extern double __negdf2(double);
60extern long double __negtf2(long double);
61extern long double __negxf2(long double);
62
63extern double __extendsfdf2(float);
64extern long double __extendsftf2(float);
65extern long double __extendsfxf2(float);
66extern long double __extenddftf2(double);
67extern long double __extenddfxf2(double);
68
69extern double __truncxfdf2(long double);
70extern double __trunctfdf2(long double);
71extern float __truncxfsf2(long double);
72extern float __trunctfsf2(long double);
73extern float __truncdfsf2(double);
74
75extern int __fixsfsi(float);
76extern int __fixdfsi(double);
77extern int __fixtfsi(long double);
78extern int __fixxfsi(long double);
79
80extern long __fixsfdi(float);
81extern long __fixdfdi(double);
82extern long __fixtfdi(long double);
83extern long __fixxfdi(long double);
84
85extern long long __fixsfti(float);
86extern long long __fixdfti(double);
87extern long long __fixtfti(long double);
88extern long long __fixxfti(long double);
89
90extern unsigned int __fixunssfsi(float);
91extern unsigned int __fixunsdfsi(double);
92extern unsigned int __fixunstfsi(long double);
93extern unsigned int __fixunsxfsi(long double);
94
95extern unsigned long __fixunssfdi(float);
96extern unsigned long __fixunsdfdi(double);
97extern unsigned long __fixunstfdi(long double);
98extern unsigned long __fixunsxfdi(long double);
99
100extern unsigned long long __fixunssfti(float);
101extern unsigned long long __fixunsdfti(double);
102extern unsigned long long __fixunstfti(long double);
103extern unsigned long long __fixunsxfti(long double);
104
105extern float __floatsisf(int);
106extern double __floatsidf(int);
107extern long double __floatsitf(int);
108extern long double __floatsixf(int);
109
110extern float __floatdisf(long);
111extern double __floatdidf(long);
112extern long double __floatditf(long);
113extern long double __floatdixf(long);
114
115extern float __floattisf(long long);
116extern double __floattidf(long long);
117extern long double __floattitf(long long);
118extern long double __floattixf(long long);
[846848a6]119
[750636a]120extern float __floatunsisf(unsigned int);
121extern double __floatunsidf(unsigned int);
122extern long double __floatunsitf(unsigned int);
123extern long double __floatunsixf(unsigned int);
124
125extern float __floatundisf(unsigned long);
126extern double __floatundidf(unsigned long);
127extern long double __floatunditf(unsigned long);
128extern long double __floatundixf(unsigned long);
129
130extern float __floatuntisf(unsigned long long);
131extern double __floatuntidf(unsigned long long);
132extern long double __floatuntitf(unsigned long long);
133extern long double __floatuntixf(unsigned long long);
134
135extern int __cmpsf2(float, float);
136extern int __cmpdf2(double, double);
137extern int __cmptf2(long double, long double);
138
139extern int __unordsf2(float, float);
140extern int __unorddf2(double, double);
141extern int __unordtf2(long double, long double);
142
143extern int __eqsf2(float, float);
144extern int __eqdf2(double, double);
145extern int __eqtf2(long double, long double);
146
147extern int __nesf2(float, float);
148extern int __nedf2(double, double);
149extern int __netf2(long double, long double);
150
151extern int __gesf2(float, float);
152extern int __gedf2(double, double);
153extern int __getf2(long double, long double);
154
155extern int __ltsf2(float, float);
156extern int __ltdf2(double, double);
157extern int __lttf2(long double, long double);
158extern int __lesf2(float, float);
159extern int __ledf2(double, double);
160extern int __letf2(long double, long double);
161
162extern int __gtsf2(float, float);
163extern int __gtdf2(double, double);
164extern int __gttf2(long double, long double);
165
166/* Not implemented yet */
167extern float __powisf2(float, int);
168
169#endif
170
171/** @}
172 */
Note: See TracBrowser for help on using the repository browser.