| 1 | 282 | jeremybenn | /* Software floating-point emulation.
 | 
      
         | 2 |  |  |    Convert a to 32bit signed integer
 | 
      
         | 3 |  |  |    Copyright (C) 1997,1999,2006 Free Software Foundation, Inc.
 | 
      
         | 4 |  |  |    This file is part of the GNU C Library.
 | 
      
         | 5 |  |  |    Contributed by Richard Henderson (rth@cygnus.com) and
 | 
      
         | 6 |  |  |                   Jakub Jelinek (jj@ultra.linux.cz).
 | 
      
         | 7 |  |  |  
 | 
      
         | 8 |  |  |    The GNU C Library is free software; you can redistribute it and/or
 | 
      
         | 9 |  |  |    modify it under the terms of the GNU Lesser General Public
 | 
      
         | 10 |  |  |    License as published by the Free Software Foundation; either
 | 
      
         | 11 |  |  |    version 2.1 of the License, or (at your option) any later version.
 | 
      
         | 12 |  |  |  
 | 
      
         | 13 |  |  |    In addition to the permissions in the GNU Lesser General Public
 | 
      
         | 14 |  |  |    License, the Free Software Foundation gives you unlimited
 | 
      
         | 15 |  |  |    permission to link the compiled version of this file into
 | 
      
         | 16 |  |  |    combinations with other programs, and to distribute those
 | 
      
         | 17 |  |  |    combinations without any restriction coming from the use of this
 | 
      
         | 18 |  |  |    file.  (The Lesser General Public License restrictions do apply in
 | 
      
         | 19 |  |  |    other respects; for example, they cover modification of the file,
 | 
      
         | 20 |  |  |    and distribution when not linked into a combine executable.)
 | 
      
         | 21 |  |  |  
 | 
      
         | 22 |  |  |    The GNU C Library is distributed in the hope that it will be useful,
 | 
      
         | 23 |  |  |    but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
      
         | 24 |  |  |    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 | 
      
         | 25 |  |  |    Lesser General Public License for more details.
 | 
      
         | 26 |  |  |  
 | 
      
         | 27 |  |  |    You should have received a copy of the GNU Lesser General Public
 | 
      
         | 28 |  |  |    License along with the GNU C Library; if not, write to the Free
 | 
      
         | 29 |  |  |    Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
 | 
      
         | 30 |  |  |    MA 02110-1301, USA.  */
 | 
      
         | 31 |  |  |  
 | 
      
         | 32 |  |  | #include "soft-fp.h"
 | 
      
         | 33 |  |  | #include "single.h"
 | 
      
         | 34 |  |  |  
 | 
      
         | 35 |  |  | SItype __fixsfsi(SFtype a)
 | 
      
         | 36 |  |  | {
 | 
      
         | 37 |  |  |   FP_DECL_EX;
 | 
      
         | 38 |  |  |   FP_DECL_S(A);
 | 
      
         | 39 |  |  |   USItype r;
 | 
      
         | 40 |  |  |  
 | 
      
         | 41 |  |  |   FP_UNPACK_RAW_S(A, a);
 | 
      
         | 42 |  |  |   FP_TO_INT_S(r, A, SI_BITS, 1);
 | 
      
         | 43 |  |  |   FP_HANDLE_EXCEPTIONS;
 | 
      
         | 44 |  |  |  
 | 
      
         | 45 |  |  |   return r;
 | 
      
         | 46 |  |  | }
 |