2
* Copyright (c) 2006 Josef Cejka
3
* Copyright (c) 2011 Petr Koupy
6
* Redistribution and use in source and binary forms, with or without
7
* modification, are permitted provided that the following conditions
10
* - Redistributions of source code must retain the above copyright
11
* notice, this list of conditions and the following disclaimer.
12
* - Redistributions in binary form must reproduce the above copyright
13
* notice, this list of conditions and the following disclaimer in the
14
* documentation and/or other materials provided with the distribution.
15
* - The name of the author may not be used to endorse or promote products
16
* derived from this software without specific prior written permission.
18
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
19
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
20
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
21
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
22
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
23
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
/** @addtogroup softfloatmips64 mips64
32
* @brief softfloat architecture dependent definitions
38
#ifndef __SOFTFLOAT_FUNCTIONS_H__
39
#define __SOFTFLOAT_FUNCTIONS_H__
41
#define float32_to_int(X) float32_to_int32(X);
42
#define float32_to_long(X) float32_to_int64(X);
43
#define float32_to_longlong(X) float32_to_int64(X);
45
#define float64_to_int(X) float64_to_int32(X);
46
#define float64_to_long(X) float64_to_int64(X);
47
#define float64_to_longlong(X) float64_to_int64(X);
49
#define float128_to_int(X) float128_to_int32(X);
50
#define float128_to_long(X) float128_to_int64(X);
51
#define float128_to_longlong(X) float128_to_int64(X);
53
#define float32_to_uint(X) float32_to_uint32(X);
54
#define float32_to_ulong(X) float32_to_uint64(X);
55
#define float32_to_ulonglong(X) float32_to_uint64(X);
57
#define float64_to_uint(X) float64_to_uint32(X);
58
#define float64_to_ulong(X) float64_to_uint64(X);
59
#define float64_to_ulonglong(X) float64_to_uint64(X);
61
#define float128_to_uint(X) float128_to_uint32(X);
62
#define float128_to_ulong(X) float128_to_uint64(X);
63
#define float128_to_ulonglong(X) float128_to_uint64(X);
65
#define int_to_float32(X) int32_to_float32(X);
66
#define long_to_float32(X) int64_to_float32(X);
67
#define longlong_to_float32(X) int64_to_float32(X);
69
#define int_to_float64(X) int32_to_float64(X);
70
#define long_to_float64(X) int64_to_float64(X);
71
#define longlong_to_float64(X) int64_to_float64(X);
73
#define int_to_float128(X) int32_to_float128(X);
74
#define long_to_float128(X) int64_to_float128(X);
75
#define longlong_to_float128(X) int64_to_float128(X);
77
#define uint_to_float32(X) uint32_to_float32(X);
78
#define ulong_to_float32(X) uint64_to_float32(X);
79
#define ulonglong_to_float32(X) uint64_to_float32(X);
81
#define uint_to_float64(X) uint32_to_float64(X);
82
#define ulong_to_float64(X) uint64_to_float64(X);
83
#define ulonglong_to_float64(X) uint64_to_float64(X);
85
#define uint_to_float128(X) uint32_to_float128(X);
86
#define ulong_to_float128(X) uint64_to_float128(X);
87
#define ulonglong_to_float128(X) uint64_to_float128(X);