view src/madplug/SFMT-sse2.h @ 1263:458d46e65a86

wav-sndfile: in is_our_file, ensure that filename is not NULL before passing it to sf_open
author Giacomo Lozito <james@develia.org>
date Fri, 13 Jul 2007 20:55:42 +0200
parents 7e14701aef54
children b8dd67ad7b86
line wrap: on
line source

/** 
 * @file SFMT-sse2.h 
 *
 * @brief SIMD oriented Fast Mersenne Twister(SFMT)
 * pseudorandom number generator
 *
 * @author Mutsuo Saito (Hiroshima University)
 * @author Makoto Matsumoto (Hiroshima University)
 *
 * Copyright (C) 2007 Mutsuo Saito, Makoto Matsumoto and Hiroshima
 * University. All rights reserved.
 *
 * The new BSD License is applied to this software.
 * see LICENSE.txt
 */

#ifndef SFMT_SSE2_H
#define SFMT_SSE2_H
#include <emmintrin.h>

union W128_T {
    __m128i si;
    uint32_t u[4];
};

typedef union W128_T w128_t;

#ifdef __GNUC__
inline static __m128i mm_recursion(__m128i *a, __m128i *b, __m128i c,
				   __m128i d, __m128i mask)
    __attribute__((always_inline));
#else
inline static __m128i mm_recursion(__m128i *a, __m128i *b,
				   __m128i c, __m128i d, __m128i mask);
#endif
#endif