1/* Temporary library support for decimal floating point. 2 Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc. 3 4 This file is part of GCC. 5 6 GCC is free software; you can redistribute it and/or modify it 7 under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 3, or (at your option) 9 any later version. 10 11 GCC is distributed in the hope that it will be useful, but WITHOUT 12 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 13 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public 14 License for more details. 15 16Under Section 7 of GPL version 3, you are granted additional 17permissions described in the GCC Runtime Library Exception, version 183.1, as published by the Free Software Foundation. 19 20You should have received a copy of the GNU General Public License and 21a copy of the GCC Runtime Library Exception along with this program; 22see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 23<http://www.gnu.org/licenses/>. */ 24 25#include "dconfig.h" 26#include "decContext.h" 27#include "decimal128.h" 28#include "decimal64.h" 29#include "decimal32.h" 30 31void __host_to_ieee_32 (_Decimal32, decimal32 *); 32void __host_to_ieee_64 (_Decimal64, decimal64 *); 33void __host_to_ieee_128 (_Decimal128, decimal128 *); 34 35extern int isinfd32 (_Decimal32); 36extern int isinfd64 (_Decimal64); 37extern int isinfd128 (_Decimal128); 38uint32_t __dec_byte_swap (uint32_t); 39 40int 41isinfd32 (_Decimal32 arg) 42{ 43 decNumber dn; 44 decimal32 d32; 45 46 __host_to_ieee_32 (arg, &d32); 47 decimal32ToNumber (&d32, &dn); 48 return (decNumberIsInfinite (&dn)); 49} 50 51int 52isinfd64 (_Decimal64 arg) 53{ 54 decNumber dn; 55 decimal64 d64; 56 57 __host_to_ieee_64 (arg, &d64); 58 decimal64ToNumber (&d64, &dn); 59 return (decNumberIsInfinite (&dn)); 60} 61 62int 63isinfd128 (_Decimal128 arg) 64{ 65 decNumber dn; 66 decimal128 d128; 67 68 __host_to_ieee_128 (arg, &d128); 69 decimal128ToNumber (&d128, &dn); 70 return (decNumberIsInfinite (&dn)); 71} 72