~ppsspp/ppsspp/ppsspp_1.3.0

« back to all changes in this revision

Viewing changes to ext/sfmt19937/SFMT-params19937.h

  • Committer: Sérgio Benjamim
  • Date: 2017-01-02 00:12:05 UTC
  • Revision ID: sergio_br2@yahoo.com.br-20170102001205-cxbta9za203nmjwm
1.3.0 source (from ppsspp_1.3.0-r160.p5.l1762.a165.t83~56~ubuntu16.04.1.tar.xz).

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#pragma once
 
2
#ifndef SFMT_PARAMS19937_H
 
3
#define SFMT_PARAMS19937_H
 
4
 
 
5
#define SFMT_POS1       122
 
6
#define SFMT_SL1        18
 
7
#define SFMT_SL2        1
 
8
#define SFMT_SR1        11
 
9
#define SFMT_SR2        1
 
10
#define SFMT_MSK1       0xdfffffefU
 
11
#define SFMT_MSK2       0xddfecb7fU
 
12
#define SFMT_MSK3       0xbffaffffU
 
13
#define SFMT_MSK4       0xbffffff6U
 
14
#define SFMT_PARITY1    0x00000001U
 
15
#define SFMT_PARITY2    0x00000000U
 
16
#define SFMT_PARITY3    0x00000000U
 
17
#define SFMT_PARITY4    0x13c9e684U
 
18
 
 
19
 
 
20
/* PARAMETERS FOR ALTIVEC */
 
21
#if defined(__APPLE__)  /* For OSX */
 
22
    #define SFMT_ALTI_SL1 \
 
23
        (vector unsigned int)(SFMT_SL1, SFMT_SL1, SFMT_SL1, SFMT_SL1)
 
24
    #define SFMT_ALTI_SR1 \
 
25
        (vector unsigned int)(SFMT_SR1, SFMT_SR1, SFMT_SR1, SFMT_SR1)
 
26
    #define SFMT_ALTI_MSK \
 
27
        (vector unsigned int)(SFMT_MSK1, SFMT_MSK2, SFMT_MSK3, SFMT_MSK4)
 
28
    #define SFMT_ALTI_MSK64 \
 
29
        (vector unsigned int)(SFMT_MSK2, SFMT_MSK1, SFMT_MSK4, SFMT_MSK3)
 
30
    #define SFMT_ALTI_SL2_PERM \
 
31
        (vector unsigned char)(1,2,3,23,5,6,7,0,9,10,11,4,13,14,15,8)
 
32
    #define SFMT_ALTI_SL2_PERM64 \
 
33
        (vector unsigned char)(1,2,3,4,5,6,7,31,9,10,11,12,13,14,15,0)
 
34
    #define SFMT_ALTI_SR2_PERM \
 
35
        (vector unsigned char)(7,0,1,2,11,4,5,6,15,8,9,10,17,12,13,14)
 
36
    #define SFMT_ALTI_SR2_PERM64 \
 
37
        (vector unsigned char)(15,0,1,2,3,4,5,6,17,8,9,10,11,12,13,14)
 
38
#else   /* For OTHER OSs(Linux?) */
 
39
    #define SFMT_ALTI_SL1       {SFMT_SL1, SFMT_SL1, SFMT_SL1, SFMT_SL1}
 
40
    #define SFMT_ALTI_SR1       {SFMT_SR1, SFMT_SR1, SFMT_SR1, SFMT_SR1}
 
41
    #define SFMT_ALTI_MSK       {SFMT_MSK1, SFMT_MSK2, SFMT_MSK3, SFMT_MSK4}
 
42
    #define SFMT_ALTI_MSK64     {SFMT_MSK2, SFMT_MSK1, SFMT_MSK4, SFMT_MSK3}
 
43
    #define SFMT_ALTI_SL2_PERM  {1,2,3,23,5,6,7,0,9,10,11,4,13,14,15,8}
 
44
    #define SFMT_ALTI_SL2_PERM64 {1,2,3,4,5,6,7,31,9,10,11,12,13,14,15,0}
 
45
    #define SFMT_ALTI_SR2_PERM  {7,0,1,2,11,4,5,6,15,8,9,10,17,12,13,14}
 
46
    #define SFMT_ALTI_SR2_PERM64 {15,0,1,2,3,4,5,6,17,8,9,10,11,12,13,14}
 
47
#endif  /* For OSX */
 
48
#define SFMT_IDSTR      "SFMT-19937:122-18-1-11-1:dfffffef-ddfecb7f-bffaffff-bffffff6"
 
49
 
 
50
#endif /* SFMT_PARAMS19937_H */