flat-0.3.2: src/System/Endian.hs
{-# LANGUAGE CPP #-}
module System.Endian
(
toBE32
, toBE64
, toBE16
) where
#include "MachDeps.h"
import Data.Word
-- | Convert a 64 bit value in cpu endianess to big endian
toBE64 :: Word64 -> Word64
#ifdef WORDS_BIGENDIAN
toBE64 = id
#else
toBE64 = byteSwap64
#endif
-- | Convert a 32 bit value in cpu endianess to big endian
toBE32 :: Word32 -> Word32
#ifdef WORDS_BIGENDIAN
toBE32 = id
#else
toBE32 = byteSwap32
#endif
-- | Convert a 16 bit value in cpu endianess to big endian
toBE16 :: Word16 -> Word16
#ifdef WORDS_BIGENDIAN
toBE16 = id
#else
toBE16 = byteSwap16
#endif