view src/madplug/SFMT-alti.h @ 926:fa7f7cd029af trunk

[svn] Spell internal & pseudorandom in a consistent way. Add missing altivec.h include in SFMT-alti.h; more work to be done as it still does not build.
author chainsaw
date Mon, 09 Apr 2007 08:11:42 -0700
parents 7e14701aef54
children b8dd67ad7b86
line wrap: on
line source

/** 
 * @file SFMT-alti.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
 */

#include <altivec.h>
#ifndef SFMT_ALTI_H
#define SFMT_ALTI_H

union W128_T {
    vector unsigned int s;
    uint32_t u[4];
};

typedef union W128_T w128_t;

#ifdef __GNUC__
inline static vector unsigned int vec_recursion(vector unsigned int a,
						vector unsigned int b,
						vector unsigned int c,
						vector unsigned int d)
    __attribute__((always_inline));
#else
inline static vector unsigned int vec_recursion(vector unsigned int a,
						vector unsigned int b,
						vector unsigned int c,
						vector unsigned int d);
#endif

#endif