Mercurial > hg > CbC > CbC_gcc
annotate libgcc/floatunsidf.c @ 120:f93fa5091070
fix conv1.c
author | mir3636 |
---|---|
date | Thu, 08 Mar 2018 14:53:42 +0900 |
parents | 04ced10e8804 |
children |
rev | line source |
---|---|
111 | 1 /* Public domain. */ |
2 typedef int SItype __attribute__ ((mode (SI))); | |
3 typedef unsigned int USItype __attribute__ ((mode (SI))); | |
4 typedef float DFtype __attribute__ ((mode (DF))); | |
5 | |
6 DFtype | |
7 __floatunsidf (USItype u) | |
8 { | |
9 SItype s = (SItype) u; | |
10 DFtype r = (DFtype) s; | |
11 if (s < 0) | |
12 r += (DFtype)2.0 * (DFtype) ((USItype) 1 | |
13 << (sizeof (USItype) * __CHAR_BIT__ - 1)); | |
14 return r; | |
15 } |