test/testendian.c
author Sam Lantinga <slouken@libsdl.org>
Mon, 23 Feb 2004 08:03:14 +0000
changeset 850 c203b4a42701
child 1405 983df4f9c1c6
permissions -rw-r--r--
Added an endian detection and byte swapping test program
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
850
c203b4a42701 Added an endian detection and byte swapping test program
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
     1
c203b4a42701 Added an endian detection and byte swapping test program
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
     2
/* Test program to check SDL's CPU endian detection and byte swapping routines */
c203b4a42701 Added an endian detection and byte swapping test program
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
     3
c203b4a42701 Added an endian detection and byte swapping test program
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
     4
#include <stdio.h>
c203b4a42701 Added an endian detection and byte swapping test program
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
     5
c203b4a42701 Added an endian detection and byte swapping test program
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
     6
#include "SDL.h"
c203b4a42701 Added an endian detection and byte swapping test program
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
     7
#include "SDL_endian.h"
c203b4a42701 Added an endian detection and byte swapping test program
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
     8
c203b4a42701 Added an endian detection and byte swapping test program
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
     9
int main(int argc, char *argv[])
c203b4a42701 Added an endian detection and byte swapping test program
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    10
{
c203b4a42701 Added an endian detection and byte swapping test program
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    11
	Uint16 value16 = 0xCDAB;
c203b4a42701 Added an endian detection and byte swapping test program
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    12
	Uint32 value32 = 0xEFBEADDE;
c203b4a42701 Added an endian detection and byte swapping test program
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    13
#if defined(__GNUC__) && defined(SDL_HAS_64BIT_TYPE)
c203b4a42701 Added an endian detection and byte swapping test program
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    14
	Uint64 value64 = 0xEFBEADDECDAB3412LL;
c203b4a42701 Added an endian detection and byte swapping test program
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    15
#endif
c203b4a42701 Added an endian detection and byte swapping test program
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    16
c203b4a42701 Added an endian detection and byte swapping test program
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    17
	printf("This is a %s endian machine.\n",
c203b4a42701 Added an endian detection and byte swapping test program
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    18
		(SDL_BYTEORDER == SDL_LIL_ENDIAN) ? "little" : "big");
c203b4a42701 Added an endian detection and byte swapping test program
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    19
	printf("Value 16 = 0x%X, swapped = 0x%X\n", value16, SDL_Swap16(value16));
c203b4a42701 Added an endian detection and byte swapping test program
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    20
	printf("Value 32 = 0x%X, swapped = 0x%X\n", value32, SDL_Swap32(value32));
c203b4a42701 Added an endian detection and byte swapping test program
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    21
#if defined(__GNUC__) && defined(SDL_HAS_64BIT_TYPE)
c203b4a42701 Added an endian detection and byte swapping test program
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    22
	printf("Value 64 = 0x%llX, swapped = 0x%llX\n", value64, SDL_Swap64(value64));
c203b4a42701 Added an endian detection and byte swapping test program
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    23
#endif
c203b4a42701 Added an endian detection and byte swapping test program
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    24
	return(0);
c203b4a42701 Added an endian detection and byte swapping test program
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    25
}