PandA-2024.02
doitgen.h
Go to the documentation of this file.
1 
10 #ifndef _DOITGEN_H
11 # define _DOITGEN_H
12 
13 /* Default to LARGE_DATASET. */
14 # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(MEDIUM_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET)
15 # define LARGE_DATASET
16 # endif
17 
18 # if !defined(NQ) && !defined(NR) && !defined(NP)
19 /* Define sample dataset sizes. */
20 # ifdef MINI_DATASET
21 # define NQ 8
22 # define NR 10
23 # define NP 12
24 # endif
25 
26 # ifdef SMALL_DATASET
27 # define NQ 20
28 # define NR 25
29 # define NP 30
30 # endif
31 
32 # ifdef MEDIUM_DATASET
33 # define NQ 40
34 # define NR 50
35 # define NP 60
36 # endif
37 
38 # ifdef LARGE_DATASET
39 # define NQ 140
40 # define NR 150
41 # define NP 160
42 # endif
43 
44 # ifdef EXTRALARGE_DATASET
45 # define NQ 220
46 # define NR 250
47 # define NP 270
48 # endif
49 
50 
51 #endif /* !(NQ NR NP) */
52 
53 # define _PB_NQ POLYBENCH_LOOP_BOUND(NQ,nq)
54 # define _PB_NR POLYBENCH_LOOP_BOUND(NR,nr)
55 # define _PB_NP POLYBENCH_LOOP_BOUND(NP,np)
56 
57 
58 /* Default data type */
59 # if !defined(DATA_TYPE_IS_INT) && !defined(DATA_TYPE_IS_FLOAT) && !defined(DATA_TYPE_IS_DOUBLE)
60 # define DATA_TYPE_IS_DOUBLE
61 # endif
62 
63 #ifdef DATA_TYPE_IS_INT
64 # define DATA_TYPE int
65 # define DATA_PRINTF_MODIFIER "%d "
66 # define SCALAR_VAL(x) x
67 #endif
68 
69 #ifdef DATA_TYPE_IS_FLOAT
70 # define DATA_TYPE float
71 # define DATA_PRINTF_MODIFIER "%0.2f "
72 # define SCALAR_VAL(x) x##f
73 # define SQRT_FUN(x) sqrtf(x)
74 # define EXP_FUN(x) expf(x)
75 # define POW_FUN(x,y) powf(x,y)
76 # endif
77 
78 #ifdef DATA_TYPE_IS_DOUBLE
79 # define DATA_TYPE double
80 # define DATA_PRINTF_MODIFIER "%0.2lf "
81 # define SCALAR_VAL(x) x
82 # define SQRT_FUN(x) sqrt(x)
83 # define EXP_FUN(x) exp(x)
84 # define POW_FUN(x,y) pow(x,y)
85 # endif
86 
87 #endif /* !_DOITGEN_H */

Generated on Mon Feb 12 2024 13:02:50 for PandA-2024.02 by doxygen 1.8.13