Coverage Report

Created: 2024-08-18 16:21

/home/liu/actions-runner/_work/ccv/ccv/lib/3rdparty/dsfmt/dSFMT-params.h
Line
Count
Source
1
#ifndef DSFMT_PARAMS_H
2
#define DSFMT_PARAMS_H
3
4
#include "dSFMT.h"
5
6
/*----------------------
7
  the parameters of DSFMT
8
  following definitions are in dSFMT-paramsXXXX.h file.
9
  ----------------------*/
10
/** the pick up position of the array.
11
#define DSFMT_POS1 122 
12
*/
13
14
/** the parameter of shift left as four 32-bit registers.
15
#define DSFMT_SL1 18
16
 */
17
18
/** the parameter of shift right as four 32-bit registers.
19
#define DSFMT_SR1 12
20
*/
21
22
/** A bitmask, used in the recursion.  These parameters are introduced
23
 * to break symmetry of SIMD.
24
#define DSFMT_MSK1 (uint64_t)0xdfffffefULL
25
#define DSFMT_MSK2 (uint64_t)0xddfecb7fULL
26
*/
27
28
/** These definitions are part of a 128-bit period certification vector.
29
#define DSFMT_PCV1  UINT64_C(0x00000001)
30
#define DSFMT_PCV2  UINT64_C(0x00000000)
31
*/
32
33
157k
#define DSFMT_LOW_MASK  UINT64_C(0x000FFFFFFFFFFFFF)
34
157k
#define DSFMT_HIGH_CONST UINT64_C(0x3FF0000000000000)
35
527M
#define DSFMT_SR  12
36
37
/* for sse2 */
38
#if defined(HAVE_SSE2)
39
  #define SSE2_SHUFF 0x1b
40
#elif defined(HAVE_ALTIVEC)
41
  #if defined(__APPLE__)  /* For OSX */
42
    #define ALTI_SR (vector unsigned char)(4)
43
    #define ALTI_SR_PERM \
44
        (vector unsigned char)(15,0,1,2,3,4,5,6,15,8,9,10,11,12,13,14)
45
    #define ALTI_SR_MSK \
46
        (vector unsigned int)(0x000fffffU,0xffffffffU,0x000fffffU,0xffffffffU)
47
    #define ALTI_PERM \
48
        (vector unsigned char)(12,13,14,15,8,9,10,11,4,5,6,7,0,1,2,3)
49
  #else
50
    #define ALTI_SR      {4}
51
    #define ALTI_SR_PERM {15,0,1,2,3,4,5,6,15,8,9,10,11,12,13,14}
52
    #define ALTI_SR_MSK  {0x000fffffU,0xffffffffU,0x000fffffU,0xffffffffU}
53
    #define ALTI_PERM    {12,13,14,15,8,9,10,11,4,5,6,7,0,1,2,3}
54
  #endif
55
#endif
56
57
#include "dSFMT-params19937.h"
58
59
#endif /* DSFMT_PARAMS_H */