Annotation of hatari/src/uae-cpu/fpp-ieee-be.h, revision 1.1

1.1     ! root        1:  /*
        !             2:   * UAE - The Un*x Amiga Emulator
        !             3:   *
        !             4:   * MC68881 emulation
        !             5:   * Support functions for IEEE compatible host CPUs.
        !             6:   * These functions use a GCC extension (type punning through unions) and
        !             7:   * should only be compiled with compilers that support this.
        !             8:   *
        !             9:   * Copyright 1999 Sam Jordan
        !            10:   */
        !            11: 
        !            12: STATIC_INLINE double to_single (uae_u32 value)
        !            13: {
        !            14:     union {
        !            15:         float f;
        !            16:         uae_u32 u;
        !            17:     } val;
        !            18: 
        !            19:     val.u = value;
        !            20:     return val.f;
        !            21: }
        !            22: 
        !            23: STATIC_INLINE uae_u32 from_single (double src)
        !            24: {
        !            25:     union {
        !            26:         float f;
        !            27:         uae_u32 u;
        !            28:     } val;
        !            29: 
        !            30:     val.f = src;
        !            31:     return val.u;
        !            32: }
        !            33: 
        !            34: STATIC_INLINE double to_double(uae_u32 wrd1, uae_u32 wrd2)
        !            35: {
        !            36:     union {
        !            37:         double d;
        !            38:         uae_u32 u[2];
        !            39:     } val;
        !            40: 
        !            41:     val.u[0] = wrd1;
        !            42:     val.u[1] = wrd2;
        !            43:     return val.d;
        !            44: }
        !            45: 
        !            46: STATIC_INLINE void from_double(double src, uae_u32 * wrd1, uae_u32 * wrd2)
        !            47: {
        !            48:     union {
        !            49:         double d;
        !            50:         uae_u32 u[2];
        !            51:     } val;
        !            52: 
        !            53:     val.d = src;
        !            54:     *wrd1 = val.u[0];
        !            55:     *wrd2 = val.u[1];
        !            56: }
        !            57: 
        !            58: #define HAVE_from_double
        !            59: #define HAVE_to_double
        !            60: #define HAVE_from_single
        !            61: #define HAVE_to_single
        !            62: 
        !            63: /* Get the rest of the conversion functions defined.  */
        !            64: #include "fpp-unknown.h"

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.