VirtualBox

source: vbox/trunk/src/libs/softfloat-3e/testfloat/source/verLoops.h@ 102535

Last change on this file since 102535 was 94551, checked in by vboxsync, 3 years ago

libs/softfloat: Copied TestFloat-3e from vendor branch and to testfloat subdir. bugref:9898

  • Property svn:eol-style set to native
File size: 10.3 KB
Line 
1
2/*============================================================================
3
4This C header file is part of TestFloat, Release 3e, a package of programs for
5testing the correctness of floating-point arithmetic complying with the IEEE
6Standard for Floating-Point, by John R. Hauser.
7
8Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the
9University of California. All rights reserved.
10
11Redistribution and use in source and binary forms, with or without
12modification, are permitted provided that the following conditions are met:
13
14 1. Redistributions of source code must retain the above copyright notice,
15 this list of conditions, and the following disclaimer.
16
17 2. Redistributions in binary form must reproduce the above copyright notice,
18 this list of conditions, and the following disclaimer in the documentation
19 and/or other materials provided with the distribution.
20
21 3. Neither the name of the University nor the names of its contributors may
22 be used to endorse or promote products derived from this software without
23 specific prior written permission.
24
25THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY
26EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
27WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE
28DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
29DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
30(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
31LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
32ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
33(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
34SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35
36=============================================================================*/
37
38#include <stdbool.h>
39#include <stdint.h>
40#include "softfloat.h"
41
42extern uint_fast8_t *verLoops_trueFlagsPtr;
43
44#ifdef FLOAT16
45void ver_a_ui32_z_f16( float16_t ( uint32_t ) );
46#endif
47void ver_a_ui32_z_f32( float32_t ( uint32_t ) );
48#ifdef FLOAT64
49void ver_a_ui32_z_f64( float64_t ( uint32_t ) );
50#endif
51#ifdef EXTFLOAT80
52void ver_a_ui32_z_extF80( void ( uint32_t, extFloat80_t * ) );
53#endif
54#ifdef FLOAT128
55void ver_a_ui32_z_f128( void ( uint32_t, float128_t * ) );
56#endif
57#ifdef FLOAT16
58void ver_a_ui64_z_f16( float16_t ( uint64_t ) );
59#endif
60void ver_a_ui64_z_f32( float32_t ( uint64_t ) );
61#ifdef FLOAT64
62void ver_a_ui64_z_f64( float64_t ( uint64_t ) );
63#endif
64#ifdef EXTFLOAT80
65void ver_a_ui64_z_extF80( void ( uint64_t, extFloat80_t * ) );
66#endif
67#ifdef FLOAT128
68void ver_a_ui64_z_f128( void ( uint64_t, float128_t * ) );
69#endif
70#ifdef FLOAT16
71void ver_a_i32_z_f16( float16_t ( int32_t ) );
72#endif
73void ver_a_i32_z_f32( float32_t ( int32_t ) );
74#ifdef FLOAT64
75void ver_a_i32_z_f64( float64_t ( int32_t ) );
76#endif
77#ifdef EXTFLOAT80
78void ver_a_i32_z_extF80( void ( int32_t, extFloat80_t * ) );
79#endif
80#ifdef FLOAT128
81void ver_a_i32_z_f128( void ( int32_t, float128_t * ) );
82#endif
83#ifdef FLOAT16
84void ver_a_i64_z_f16( float16_t ( int64_t ) );
85#endif
86void ver_a_i64_z_f32( float32_t ( int64_t ) );
87#ifdef FLOAT64
88void ver_a_i64_z_f64( float64_t ( int64_t ) );
89#endif
90#ifdef EXTFLOAT80
91void ver_a_i64_z_extF80( void ( int64_t, extFloat80_t * ) );
92#endif
93#ifdef FLOAT128
94void ver_a_i64_z_f128( void ( int64_t, float128_t * ) );
95#endif
96
97#ifdef FLOAT16
98void
99 ver_a_f16_z_ui32_rx(
100 uint_fast32_t ( float16_t, uint_fast8_t, bool ), uint_fast8_t, bool );
101void
102 ver_a_f16_z_ui64_rx(
103 uint_fast64_t ( float16_t, uint_fast8_t, bool ), uint_fast8_t, bool );
104void
105 ver_a_f16_z_i32_rx(
106 int_fast32_t ( float16_t, uint_fast8_t, bool ), uint_fast8_t, bool );
107void
108 ver_a_f16_z_i64_rx(
109 int_fast64_t ( float16_t, uint_fast8_t, bool ), uint_fast8_t, bool );
110void ver_a_f16_z_ui32_x( uint_fast32_t ( float16_t, bool ), bool );
111void ver_a_f16_z_ui64_x( uint_fast64_t ( float16_t, bool ), bool );
112void ver_a_f16_z_i32_x( int_fast32_t ( float16_t, bool ), bool );
113void ver_a_f16_z_i64_x( int_fast64_t ( float16_t, bool ), bool );
114void ver_a_f16_z_f32( float32_t ( float16_t ) );
115#ifdef FLOAT64
116void ver_a_f16_z_f64( float64_t ( float16_t ) );
117#endif
118#ifdef EXTFLOAT80
119void ver_a_f16_z_extF80( void ( float16_t, extFloat80_t * ) );
120#endif
121#ifdef FLOAT128
122void ver_a_f16_z_f128( void ( float16_t, float128_t * ) );
123#endif
124void ver_az_f16( float16_t ( float16_t ) );
125void
126 ver_az_f16_rx(
127 float16_t ( float16_t, uint_fast8_t, bool ), uint_fast8_t, bool );
128void ver_abz_f16( float16_t ( float16_t, float16_t ) );
129void ver_abcz_f16( float16_t ( float16_t, float16_t, float16_t ) );
130void ver_ab_f16_z_bool( bool ( float16_t, float16_t ) );
131#endif
132
133void
134 ver_a_f32_z_ui32_rx(
135 uint_fast32_t ( float32_t, uint_fast8_t, bool ), uint_fast8_t, bool );
136void
137 ver_a_f32_z_ui64_rx(
138 uint_fast64_t ( float32_t, uint_fast8_t, bool ), uint_fast8_t, bool );
139void
140 ver_a_f32_z_i32_rx(
141 int_fast32_t ( float32_t, uint_fast8_t, bool ), uint_fast8_t, bool );
142void
143 ver_a_f32_z_i64_rx(
144 int_fast64_t ( float32_t, uint_fast8_t, bool ), uint_fast8_t, bool );
145void ver_a_f32_z_ui32_x( uint_fast32_t ( float32_t, bool ), bool );
146void ver_a_f32_z_ui64_x( uint_fast64_t ( float32_t, bool ), bool );
147void ver_a_f32_z_i32_x( int_fast32_t ( float32_t, bool ), bool );
148void ver_a_f32_z_i64_x( int_fast64_t ( float32_t, bool ), bool );
149#ifdef FLOAT16
150void ver_a_f32_z_f16( float16_t ( float32_t ) );
151#endif
152#ifdef FLOAT64
153void ver_a_f32_z_f64( float64_t ( float32_t ) );
154#endif
155#ifdef EXTFLOAT80
156void ver_a_f32_z_extF80( void ( float32_t, extFloat80_t * ) );
157#endif
158#ifdef FLOAT128
159void ver_a_f32_z_f128( void ( float32_t, float128_t * ) );
160#endif
161void ver_az_f32( float32_t ( float32_t ) );
162void
163 ver_az_f32_rx(
164 float32_t ( float32_t, uint_fast8_t, bool ), uint_fast8_t, bool );
165void ver_abz_f32( float32_t ( float32_t, float32_t ) );
166void ver_abcz_f32( float32_t ( float32_t, float32_t, float32_t ) );
167void ver_ab_f32_z_bool( bool ( float32_t, float32_t ) );
168
169#ifdef FLOAT64
170void
171 ver_a_f64_z_ui32_rx(
172 uint_fast32_t ( float64_t, uint_fast8_t, bool ), uint_fast8_t, bool );
173void
174 ver_a_f64_z_ui64_rx(
175 uint_fast64_t ( float64_t, uint_fast8_t, bool ), uint_fast8_t, bool );
176void
177 ver_a_f64_z_i32_rx(
178 int_fast32_t ( float64_t, uint_fast8_t, bool ), uint_fast8_t, bool );
179void
180 ver_a_f64_z_i64_rx(
181 int_fast64_t ( float64_t, uint_fast8_t, bool ), uint_fast8_t, bool );
182void ver_a_f64_z_ui32_x( uint_fast32_t ( float64_t, bool ), bool );
183void ver_a_f64_z_ui64_x( uint_fast64_t ( float64_t, bool ), bool );
184void ver_a_f64_z_i32_x( int_fast32_t ( float64_t, bool ), bool );
185void ver_a_f64_z_i64_x( int_fast64_t ( float64_t, bool ), bool );
186#ifdef FLOAT16
187void ver_a_f64_z_f16( float16_t ( float64_t ) );
188#endif
189void ver_a_f64_z_f32( float32_t ( float64_t ) );
190#ifdef EXTFLOAT80
191void ver_a_f64_z_extF80( void ( float64_t, extFloat80_t * ) );
192#endif
193#ifdef FLOAT128
194void ver_a_f64_z_f128( void ( float64_t, float128_t * ) );
195#endif
196void ver_az_f64( float64_t ( float64_t ) );
197void
198 ver_az_f64_rx(
199 float64_t ( float64_t, uint_fast8_t, bool ), uint_fast8_t, bool );
200void ver_abz_f64( float64_t ( float64_t, float64_t ) );
201void ver_abcz_f64( float64_t ( float64_t, float64_t, float64_t ) );
202void ver_ab_f64_z_bool( bool ( float64_t, float64_t ) );
203#endif
204
205#ifdef EXTFLOAT80
206void
207 ver_a_extF80_z_ui32_rx(
208 uint_fast32_t ( const extFloat80_t *, uint_fast8_t, bool ),
209 uint_fast8_t,
210 bool
211 );
212void
213 ver_a_extF80_z_ui64_rx(
214 uint_fast64_t ( const extFloat80_t *, uint_fast8_t, bool ),
215 uint_fast8_t,
216 bool
217 );
218void
219 ver_a_extF80_z_i32_rx(
220 int_fast32_t ( const extFloat80_t *, uint_fast8_t, bool ),
221 uint_fast8_t,
222 bool
223 );
224void
225 ver_a_extF80_z_i64_rx(
226 int_fast64_t ( const extFloat80_t *, uint_fast8_t, bool ),
227 uint_fast8_t,
228 bool
229 );
230void
231 ver_a_extF80_z_ui32_x( uint_fast32_t ( const extFloat80_t *, bool ), bool );
232void
233 ver_a_extF80_z_ui64_x( uint_fast64_t ( const extFloat80_t *, bool ), bool );
234void ver_a_extF80_z_i32_x( int_fast32_t ( const extFloat80_t *, bool ), bool );
235void ver_a_extF80_z_i64_x( int_fast64_t ( const extFloat80_t *, bool ), bool );
236#ifdef FLOAT16
237void ver_a_extF80_z_f16( float16_t ( const extFloat80_t * ) );
238#endif
239void ver_a_extF80_z_f32( float32_t ( const extFloat80_t * ) );
240#ifdef FLOAT64
241void ver_a_extF80_z_f64( float64_t ( const extFloat80_t * ) );
242#endif
243#ifdef FLOAT128
244void ver_a_extF80_z_f128( void ( const extFloat80_t *, float128_t * ) );
245#endif
246void ver_az_extF80( void ( const extFloat80_t *, extFloat80_t * ) );
247void
248 ver_az_extF80_rx(
249 void ( const extFloat80_t *, uint_fast8_t, bool, extFloat80_t * ),
250 uint_fast8_t,
251 bool
252 );
253void
254 ver_abz_extF80(
255 void ( const extFloat80_t *, const extFloat80_t *, extFloat80_t * ) );
256void
257 ver_ab_extF80_z_bool( bool ( const extFloat80_t *, const extFloat80_t * ) );
258#endif
259
260#ifdef FLOAT128
261void
262 ver_a_f128_z_ui32_rx(
263 uint_fast32_t ( const float128_t *, uint_fast8_t, bool ),
264 uint_fast8_t,
265 bool
266 );
267void
268 ver_a_f128_z_ui64_rx(
269 uint_fast64_t ( const float128_t *, uint_fast8_t, bool ),
270 uint_fast8_t,
271 bool
272 );
273void
274 ver_a_f128_z_i32_rx(
275 int_fast32_t ( const float128_t *, uint_fast8_t, bool ),
276 uint_fast8_t,
277 bool
278 );
279void
280 ver_a_f128_z_i64_rx(
281 int_fast64_t ( const float128_t *, uint_fast8_t, bool ),
282 uint_fast8_t,
283 bool
284 );
285void ver_a_f128_z_ui32_x( uint_fast32_t ( const float128_t *, bool ), bool );
286void ver_a_f128_z_ui64_x( uint_fast64_t ( const float128_t *, bool ), bool );
287void ver_a_f128_z_i32_x( int_fast32_t ( const float128_t *, bool ), bool );
288void ver_a_f128_z_i64_x( int_fast64_t ( const float128_t *, bool ), bool );
289#ifdef FLOAT16
290void ver_a_f128_z_f16( float16_t ( const float128_t * ) );
291#endif
292void ver_a_f128_z_f32( float32_t ( const float128_t * ) );
293#ifdef FLOAT64
294void ver_a_f128_z_f64( float64_t ( const float128_t * ) );
295#endif
296#ifdef EXTFLOAT80
297void ver_a_f128_z_extF80( void ( const float128_t *, extFloat80_t * ) );
298#endif
299void ver_az_f128( void ( const float128_t *, float128_t * ) );
300void
301 ver_az_f128_rx(
302 void ( const float128_t *, uint_fast8_t, bool, float128_t * ),
303 uint_fast8_t,
304 bool
305 );
306void
307 ver_abz_f128( void ( const float128_t *, const float128_t *, float128_t * ) );
308void
309 ver_abcz_f128(
310 void
311 (
312 const float128_t *,
313 const float128_t *,
314 const float128_t *,
315 float128_t *
316 )
317 );
318void ver_ab_f128_z_bool( bool ( const float128_t *, const float128_t * ) );
319#endif
320
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette