aboutsummaryrefslogtreecommitdiffstats
path: root/buch/papers/multiplikation/code/c_matrix.h
blob: 63d53909f76f0f15ede009b6d4cace876c61168b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
/* Seminar Matrizen, autogenerated File, Michael Schmid, 10/08/2021, 05:46:32 */ 
 
#include <stdint.h> 
const int A0[][2] = 
  {
    {60,-84},
    {-66,-1}
  };
const int B0[][2] = 
  {
    {-45,87},
    {-38,-73}
  };
const double dB0[][2] = 
  {
    {-45,87},
    {-38,-73}
  };
const double dA0[][2] = 
  {
    {60,-84},
    {-66,-1}
  };
const int A1[][4] = 
  {
    {-72,-19,-91,62},
    {-36,-74,-44,-47},
    {-39,-31,50,-93},
    {-81,2,-17,-86}
  };
const int B1[][4] = 
  {
    {-66,39,-23,52},
    {-88,-13,13,-13},
    {-45,-70,28,-20},
    {96,5,88,96}
  };
const double dB1[][4] = 
  {
    {-66,39,-23,52},
    {-88,-13,13,-13},
    {-45,-70,28,-20},
    {96,5,88,96}
  };
const double dA1[][4] = 
  {
    {-72,-19,-91,62},
    {-36,-74,-44,-47},
    {-39,-31,50,-93},
    {-81,2,-17,-86}
  };
const int A2[][8] = 
  {
    {-36,-2,-58,-32,34,-89,49,-55},
    {-68,-73,52,-3,-51,-37,-31,70},
    {73,-90,-21,-79,-15,96,-99,12},
    {68,-25,38,-73,-60,35,-99,72},
    {-43,-87,48,-84,-100,37,80,53},
    {-27,88,-5,-82,-57,-27,20,10},
    {-91,-47,54,-90,-99,-76,50,-18},
    {69,-36,76,5,-67,-38,-95,91}
  };
const int B2[][8] = 
  {
    {-84,22,-13,-66,-42,51,66,0},
    {37,-65,66,-85,-10,-23,77,5},
    {1,41,-79,0,63,-37,-10,29},
    {72,66,-99,92,-28,65,25,-40},
    {69,-49,65,-18,64,-97,-47,30},
    {36,86,66,-12,-17,89,1,-37},
    {-100,11,27,23,-75,-23,96,-9},
    {68,90,-87,-99,-70,-28,98,-76}
  };
const double dB2[][8] = 
  {
    {-84,22,-13,-66,-42,51,66,0},
    {37,-65,66,-85,-10,-23,77,5},
    {1,41,-79,0,63,-37,-10,29},
    {72,66,-99,92,-28,65,25,-40},
    {69,-49,65,-18,64,-97,-47,30},
    {36,86,66,-12,-17,89,1,-37},
    {-100,11,27,23,-75,-23,96,-9},
    {68,90,-87,-99,-70,-28,98,-76}
  };
const double dA2[][8] = 
  {
    {-36,-2,-58,-32,34,-89,49,-55},
    {-68,-73,52,-3,-51,-37,-31,70},
    {73,-90,-21,-79,-15,96,-99,12},
    {68,-25,38,-73,-60,35,-99,72},
    {-43,-87,48,-84,-100,37,80,53},
    {-27,88,-5,-82,-57,-27,20,10},
    {-91,-47,54,-90,-99,-76,50,-18},
    {69,-36,76,5,-67,-38,-95,91}
  };
const int A3[][16] = 
  {
    {-24,65,21,19,94,70,-90,-81,53,-41,-23,-1,58,-80,-54,59},
    {-42,76,-19,98,29,-56,92,14,45,11,82,83,48,-13,81,66},
    {43,-57,-67,95,5,72,11,0,-47,55,-24,36,84,54,-31,-54},
    {-39,-40,19,97,-82,-56,27,95,81,-21,-50,-74,-35,-87,-28,-26},
    {-74,-98,79,92,-24,-48,99,94,55,-83,70,98,-24,18,-67,14},
    {20,76,11,-23,-56,21,0,42,64,86,-74,44,93,-76,-30,97},
    {13,20,-73,-11,-30,80,53,-8,60,21,17,-42,82,-72,-6,-80},
    {36,-93,-64,-21,20,-85,15,24,99,81,-52,64,71,-56,52,63},
    {32,9,-2,-85,17,62,-98,-35,75,-58,-44,-20,-47,89,-95,52},
    {93,-43,86,68,-6,-25,90,57,60,-10,65,-97,43,46,-60,-41},
    {43,-33,0,50,-100,26,-60,95,39,-70,-61,-81,9,-23,-99,-4},
    {20,61,15,43,-96,93,-55,38,-29,-1,-10,26,-87,18,64,6},
    {-98,-84,51,16,-14,86,52,59,44,-39,-2,10,82,-66,54,19},
    {89,-49,-37,-6,-53,40,-11,46,-51,-56,86,34,11,13,-20,-49},
    {-90,14,28,-45,-25,-56,-51,-61,28,-8,51,91,95,-10,-85,58},
    {8,-44,88,-71,-27,11,89,37,86,-78,-44,-56,-87,0,-42,-61}
  };
const int B3[][16] = 
  {
    {62,-30,62,92,29,-93,-95,44,-33,-88,-29,9,-88,-42,-90,-70},
    {60,37,-44,-93,-87,6,-53,2,-29,53,-49,59,6,83,-15,50},
    {-19,85,-49,-14,84,-4,12,88,-83,-81,-24,-16,-12,-42,-63,-71},
    {-42,-78,-58,-61,-29,67,-28,-46,64,7,6,-13,88,-42,95,-24},
    {-90,-56,8,-30,-89,70,37,-29,24,-8,-10,-2,-25,-63,-95,-91},
    {10,-81,42,-28,-13,-68,-72,-20,-22,5,-79,-50,-88,62,57,69},
    {-67,24,-71,-43,11,48,33,-93,-82,-65,-4,5,-15,25,-54,-45},
    {-49,19,-29,90,-97,-87,78,-39,-75,-85,-79,-35,54,3,-73,7},
    {-7,39,70,-42,32,-100,56,4,-24,-57,38,-49,-50,-44,79,-42},
    {37,-65,-55,22,-97,-42,-76,95,97,-27,38,11,0,-81,-23,35},
    {26,-70,10,-29,47,-70,-52,29,-13,-18,5,34,18,32,87,91},
    {-84,41,-19,96,-51,-19,81,75,81,92,2,-40,-42,-69,-10,-61},
    {-30,98,71,-51,91,-59,58,86,86,-22,-84,7,66,-55,-52,23},
    {-71,-44,-9,90,26,18,26,-10,-85,64,-47,3,72,81,74,-8},
    {52,-59,-91,22,8,-63,84,9,-11,-54,-78,-71,-98,42,96,57},
    {18,-39,34,-50,-62,-96,-2,-78,52,94,-33,2,-19,-9,-86,-75}
  };
const double dB3[][16] = 
  {
    {62,-30,62,92,29,-93,-95,44,-33,-88,-29,9,-88,-42,-90,-70},
    {60,37,-44,-93,-87,6,-53,2,-29,53,-49,59,6,83,-15,50},
    {-19,85,-49,-14,84,-4,12,88,-83,-81,-24,-16,-12,-42,-63,-71},
    {-42,-78,-58,-61,-29,67,-28,-46,64,7,6,-13,88,-42,95,-24},
    {-90,-56,8,-30,-89,70,37,-29,24,-8,-10,-2,-25,-63,-95,-91},
    {10,-81,42,-28,-13,-68,-72,-20,-22,5,-79,-50,-88,62,57,69},
    {-67,24,-71,-43,11,48,33,-93,-82,-65,-4,5,-15,25,-54,-45},
    {-49,19,-29,90,-97,-87,78,-39,-75,-85,-79,-35,54,3,-73,7},
    {-7,39,70,-42,32,-100,56,4,-24,-57,38,-49,-50,-44,79,-42},
    {37,-65,-55,22,-97,-42,-76,95,97,-27,38,11,0,-81,-23,35},
    {26,-70,10,-29,47,-70,-52,29,-13,-18,5,34,18,32,87,91},
    {-84,41,-19,96,-51,-19,81,75,81,92,2,-40,-42,-69,-10,-61},
    {-30,98,71,-51,91,-59,58,86,86,-22,-84,7,66,-55,-52,23},
    {-71,-44,-9,90,26,18,26,-10,-85,64,-47,3,72,81,74,-8},
    {52,-59,-91,22,8,-63,84,9,-11,-54,-78,-71,-98,42,96,57},
    {18,-39,34,-50,-62,-96,-2,-78,52,94,-33,2,-19,-9,-86,-75}
  };
const double dA3[][16] = 
  {
    {-24,65,21,19,94,70,-90,-81,53,-41,-23,-1,58,-80,-54,59},
    {-42,76,-19,98,29,-56,92,14,45,11,82,83,48,-13,81,66},
    {43,-57,-67,95,5,72,11,0,-47,55,-24,36,84,54,-31,-54},
    {-39,-40,19,97,-82,-56,27,95,81,-21,-50,-74,-35,-87,-28,-26},
    {-74,-98,79,92,-24,-48,99,94,55,-83,70,98,-24,18,-67,14},
    {20,76,11,-23,-56,21,0,42,64,86,-74,44,93,-76,-30,97},
    {13,20,-73,-11,-30,80,53,-8,60,21,17,-42,82,-72,-6,-80},
    {36,-93,-64,-21,20,-85,15,24,99,81,-52,64,71,-56,52,63},
    {32,9,-2,-85,17,62,-98,-35,75,-58,-44,-20,-47,89,-95,52},
    {93,-43,86,68,-6,-25,90,57,60,-10,65,-97,43,46,-60,-41},
    {43,-33,0,50,-100,26,-60,95,39,-70,-61,-81,9,-23,-99,-4},
    {20,61,15,43,-96,93,-55,38,-29,-1,-10,26,-87,18,64,6},
    {-98,-84,51,16,-14,86,52,59,44,-39,-2,10,82,-66,54,19},
    {89,-49,-37,-6,-53,40,-11,46,-51,-56,86,34,11,13,-20,-49},
    {-90,14,28,-45,-25,-56,-51,-61,28,-8,51,91,95,-10,-85,58},
    {8,-44,88,-71,-27,11,89,37,86,-78,-44,-56,-87,0,-42,-61}
  };
const int *Ap[4] = {(int*) A0,(int*) A1,(int*) A2,(int*) A3}; 
const int *Bp[4] = {(int*) B0,(int*) B1,(int*) B2,(int*) B3}; 
const double *dAp[4] = {(double*) dA0,(double*) dA1,(double*) dA2,(double*) dA3}; 
const double *dBp[4] = {(double*) dB0,(double*) dB1,(double*) dB2,(double*) dB3}; 
int n[4] = {2,4,8,16}; 
int n_arrays = 4;