OSDN Git Service

2007-09-10 Janis Johnson <janis187@us.ibm.com>
[pf3gnuchains/gcc-fork.git] / libdecnumber / bid / host-ieee32.c
index 639662e..9a59c93 100644 (file)
@@ -37,69 +37,21 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
 /* The intended way to use this file is to make two copies, add `#define '
    to one copy, then compile both copies and add them to libgcc.a.  */
 
-#include <stdio.h>
-#include <stdlib.h>
 #include <string.h>
-#include <limits.h>
-
-#include "config.h"
-#include "gstdint.h"
 #include "bid-dpd.h"
 #include "decimal32.h"
 
-uint32_t __dec_byte_swap (uint32_t);
 void __host_to_ieee_32 (_Decimal32 in, decimal32 *out);
 void __ieee_to_host_32 (decimal32 in, _Decimal32 *out);
 
-#ifndef WORDS_BIGENDIAN
-#define WORDS_BIGENDIAN 0
-#endif
-
-uint32_t
-__dec_byte_swap (uint32_t in)
-{
-  uint32_t out = 0;
-  unsigned char *p = (unsigned char *) &out;
-  union {
-    uint32_t i;
-    unsigned char b[4];
-  } u;
-
-  u.i = in;
-  p[0] = u.b[3];
-  p[1] = u.b[2];
-  p[2] = u.b[1];
-  p[3] = u.b[0];
-
-  return out;
-}
-
 void
 __host_to_ieee_32 (_Decimal32 in, decimal32 *out)
 {
-  uint32_t t;
-
-  if (!WORDS_BIGENDIAN)
-    {
-      memcpy (&t, &in, 4);
-      t = __dec_byte_swap (t);
-      memcpy (out, &t, 4);
-    }
-  else
-    memcpy (out, &in, 4);
+  memcpy ((char *) out, (char *) &in, 4);
 }
 
 void
 __ieee_to_host_32 (decimal32 in, _Decimal32 *out)
 {
-  uint32_t t;
-
-  if (!WORDS_BIGENDIAN)
-    {
-      memcpy (&t, &in, 4);
-      t = __dec_byte_swap (t);
-      memcpy (out, &t, 4);
-    }
-  else
-    memcpy (out, &in, 4);
+  memcpy ((char *) out, (char *) &in, 4);
 }