xref: /aosp_15_r20/external/eigen/debug/msvc/eigen_autoexp_part.dat (revision bf2c37156dfe67e5dfebd6d394bad8b2ab5804d4)
1*bf2c3715SXin Li; ***************************************************************
2*bf2c3715SXin Li; * Eigen Visualizer
3*bf2c3715SXin Li; *
4*bf2c3715SXin Li; * Author: Hauke Heibel <[email protected]>
5*bf2c3715SXin Li; *
6*bf2c3715SXin Li; * Support the enhanced debugging of the following Eigen
7*bf2c3715SXin Li; * types (*: any, +:fixed dimension) :
8*bf2c3715SXin Li; *
9*bf2c3715SXin Li; * - Eigen::Matrix<*,4,1,*,*,*> and Eigen::Matrix<*,1,4,*,*,*>
10*bf2c3715SXin Li; * - Eigen::Matrix<*,3,1,*,*,*> and Eigen::Matrix<*,1,3,*,*,*>
11*bf2c3715SXin Li; * - Eigen::Matrix<*,2,1,*,*,*> and Eigen::Matrix<*,1,2,*,*,*>
12*bf2c3715SXin Li; * - Eigen::Matrix<*,-1,-1,*,*,*>
13*bf2c3715SXin Li; * - Eigen::Matrix<*,+,-1,*,*,*>
14*bf2c3715SXin Li; * - Eigen::Matrix<*,-1,+,*,*,*>
15*bf2c3715SXin Li; * - Eigen::Matrix<*,+,+,*,*,*>
16*bf2c3715SXin Li; *
17*bf2c3715SXin Li; * Matrices are displayed properly independently of the memory
18*bf2c3715SXin Li; * alignment (RowMajor vs. ColMajor).
19*bf2c3715SXin Li; *
20*bf2c3715SXin Li; * This file is distributed WITHOUT ANY WARRANTY. Please ensure
21*bf2c3715SXin Li; * that your original autoexp.dat file is copied to a safe
22*bf2c3715SXin Li; * place before proceeding with its modification.
23*bf2c3715SXin Li; ***************************************************************
24*bf2c3715SXin Li
25*bf2c3715SXin Li[Visualizer]
26*bf2c3715SXin Li
27*bf2c3715SXin Li; Fixed size 4-vectors
28*bf2c3715SXin LiEigen::Matrix<*,4,1,*,*,*>|Eigen::Matrix<*,1,4,*,*,*>{
29*bf2c3715SXin Li   children
30*bf2c3715SXin Li   (
31*bf2c3715SXin Li      #(
32*bf2c3715SXin Li        [internals]: [$c,!],
33*bf2c3715SXin Li         x : ($c.m_storage.m_data.array)[0],
34*bf2c3715SXin Li         y : ($c.m_storage.m_data.array)[1],
35*bf2c3715SXin Li         z : ($c.m_storage.m_data.array)[2],
36*bf2c3715SXin Li         w : ($c.m_storage.m_data.array)[3]
37*bf2c3715SXin Li      )
38*bf2c3715SXin Li   )
39*bf2c3715SXin Li
40*bf2c3715SXin Li   preview
41*bf2c3715SXin Li   (
42*bf2c3715SXin Li      #(
43*bf2c3715SXin Li        "[",
44*bf2c3715SXin Li        4,
45*bf2c3715SXin Li        "](",
46*bf2c3715SXin Li        #array(expr: $e.m_storage.m_data.array[$i], size: 4),
47*bf2c3715SXin Li        ")"
48*bf2c3715SXin Li      )
49*bf2c3715SXin Li   )
50*bf2c3715SXin Li}
51*bf2c3715SXin Li
52*bf2c3715SXin Li; Fixed size 3-vectors
53*bf2c3715SXin LiEigen::Matrix<*,3,1,*,*,*>|Eigen::Matrix<*,1,3,*,*,*>{
54*bf2c3715SXin Li   children
55*bf2c3715SXin Li   (
56*bf2c3715SXin Li      #(
57*bf2c3715SXin Li        [internals]: [$c,!],
58*bf2c3715SXin Li         x : ($c.m_storage.m_data.array)[0],
59*bf2c3715SXin Li         y : ($c.m_storage.m_data.array)[1],
60*bf2c3715SXin Li         z : ($c.m_storage.m_data.array)[2]
61*bf2c3715SXin Li      )
62*bf2c3715SXin Li   )
63*bf2c3715SXin Li
64*bf2c3715SXin Li   preview
65*bf2c3715SXin Li   (
66*bf2c3715SXin Li      #(
67*bf2c3715SXin Li        "[",
68*bf2c3715SXin Li        3,
69*bf2c3715SXin Li        "](",
70*bf2c3715SXin Li        #array(expr: $e.m_storage.m_data.array[$i], size: 3),
71*bf2c3715SXin Li        ")"
72*bf2c3715SXin Li      )
73*bf2c3715SXin Li   )
74*bf2c3715SXin Li}
75*bf2c3715SXin Li
76*bf2c3715SXin Li; Fixed size 2-vectors
77*bf2c3715SXin LiEigen::Matrix<*,2,1,*,*,*>|Eigen::Matrix<*,1,2,*,*,*>{
78*bf2c3715SXin Li   children
79*bf2c3715SXin Li   (
80*bf2c3715SXin Li      #(
81*bf2c3715SXin Li        [internals]: [$c,!],
82*bf2c3715SXin Li         x : ($c.m_storage.m_data.array)[0],
83*bf2c3715SXin Li         y : ($c.m_storage.m_data.array)[1]
84*bf2c3715SXin Li      )
85*bf2c3715SXin Li   )
86*bf2c3715SXin Li
87*bf2c3715SXin Li   preview
88*bf2c3715SXin Li   (
89*bf2c3715SXin Li      #(
90*bf2c3715SXin Li        "[",
91*bf2c3715SXin Li        2,
92*bf2c3715SXin Li        "](",
93*bf2c3715SXin Li        #array(expr: $e.m_storage.m_data.array[$i], size: 2),
94*bf2c3715SXin Li        ")"
95*bf2c3715SXin Li      )
96*bf2c3715SXin Li   )
97*bf2c3715SXin Li}
98*bf2c3715SXin Li
99*bf2c3715SXin Li; Fixed size 1-vectors
100*bf2c3715SXin LiEigen::Matrix<*,1,1,*,*,*>|Eigen::Matrix<*,1,1,*,*,*>{
101*bf2c3715SXin Li   children
102*bf2c3715SXin Li   (
103*bf2c3715SXin Li      #(
104*bf2c3715SXin Li        [internals]: [$c,!],
105*bf2c3715SXin Li         x : ($c.m_storage.m_data.array)[0]
106*bf2c3715SXin Li      )
107*bf2c3715SXin Li   )
108*bf2c3715SXin Li
109*bf2c3715SXin Li   preview
110*bf2c3715SXin Li   (
111*bf2c3715SXin Li      #(
112*bf2c3715SXin Li        "[",
113*bf2c3715SXin Li        1,
114*bf2c3715SXin Li        "](",
115*bf2c3715SXin Li        #array(expr: $e.m_storage.m_data.array[$i], size: 1),
116*bf2c3715SXin Li        ")"
117*bf2c3715SXin Li      )
118*bf2c3715SXin Li   )
119*bf2c3715SXin Li}
120*bf2c3715SXin Li
121*bf2c3715SXin Li; Dynamic matrices (ColMajor and RowMajor support)
122*bf2c3715SXin LiEigen::Matrix<*,-1,-1,*,*,*>{
123*bf2c3715SXin Li  children
124*bf2c3715SXin Li   (
125*bf2c3715SXin Li      #(
126*bf2c3715SXin Li         [internals]: [$c,!],
127*bf2c3715SXin Li         rows: $c.m_storage.m_rows,
128*bf2c3715SXin Li         cols: $c.m_storage.m_cols,
129*bf2c3715SXin Li         ; Check for RowMajorBit
130*bf2c3715SXin Li         #if ($c.Flags & 0x1) (
131*bf2c3715SXin Li             #array(
132*bf2c3715SXin Li                rank: 2,
133*bf2c3715SXin Li                base: 0,
134*bf2c3715SXin Li                expr: ($c.m_storage.m_data)[($i % $c.m_storage.m_rows)*$c.m_storage.m_cols + (($i- $i % $c.m_storage.m_rows)/$c.m_storage.m_rows)],
135*bf2c3715SXin Li                size: ($r==1)*$c.m_storage.m_rows+($r==0)*$c.m_storage.m_cols
136*bf2c3715SXin Li             )
137*bf2c3715SXin Li         ) #else (
138*bf2c3715SXin Li             #array(
139*bf2c3715SXin Li                rank: 2,
140*bf2c3715SXin Li                base: 0,
141*bf2c3715SXin Li                expr: ($c.m_storage.m_data)[$i],
142*bf2c3715SXin Li                size: ($r==1)*$c.m_storage.m_rows+($r==0)*$c.m_storage.m_cols
143*bf2c3715SXin Li             )
144*bf2c3715SXin Li         )
145*bf2c3715SXin Li      )
146*bf2c3715SXin Li   )
147*bf2c3715SXin Li
148*bf2c3715SXin Li   preview
149*bf2c3715SXin Li   (
150*bf2c3715SXin Li     #(
151*bf2c3715SXin Li         "[",
152*bf2c3715SXin Li           $c.m_storage.m_rows,
153*bf2c3715SXin Li         ",",
154*bf2c3715SXin Li           $c.m_storage.m_cols,
155*bf2c3715SXin Li         "](",
156*bf2c3715SXin Li           #array(
157*bf2c3715SXin Li            expr :    [($c.m_storage.m_data)[$i],g],
158*bf2c3715SXin Li            size :    $c.m_storage.m_rows*$c.m_storage.m_cols
159*bf2c3715SXin Li           ),
160*bf2c3715SXin Li         ")"
161*bf2c3715SXin Li      )
162*bf2c3715SXin Li   )
163*bf2c3715SXin Li}
164*bf2c3715SXin Li
165*bf2c3715SXin Li; Fixed rows, dynamic columns matrix (ColMajor and RowMajor support)
166*bf2c3715SXin LiEigen::Matrix<*,*,-1,*,*,*>{
167*bf2c3715SXin Li  children
168*bf2c3715SXin Li   (
169*bf2c3715SXin Li      #(
170*bf2c3715SXin Li         [internals]: [$c,!],
171*bf2c3715SXin Li         rows: $c.RowsAtCompileTime,
172*bf2c3715SXin Li         cols: $c.m_storage.m_cols,
173*bf2c3715SXin Li         ; Check for RowMajorBit
174*bf2c3715SXin Li         #if ($c.Flags & 0x1) (
175*bf2c3715SXin Li             #array(
176*bf2c3715SXin Li                rank: 2,
177*bf2c3715SXin Li                base: 0,
178*bf2c3715SXin Li                expr: ($c.m_storage.m_data)[($i % $c.RowsAtCompileTime)*$c.m_storage.m_cols + (($i- $i % $c.RowsAtCompileTime)/$c.RowsAtCompileTime)],
179*bf2c3715SXin Li                size: ($r==1)*$c.RowsAtCompileTime+($r==0)*$c.m_storage.m_cols
180*bf2c3715SXin Li             )
181*bf2c3715SXin Li         ) #else (
182*bf2c3715SXin Li             #array(
183*bf2c3715SXin Li                rank: 2,
184*bf2c3715SXin Li                base: 0,
185*bf2c3715SXin Li                expr: ($c.m_storage.m_data)[$i],
186*bf2c3715SXin Li                size: ($r==1)*$c.RowsAtCompileTime+($r==0)*$c.m_storage.m_cols
187*bf2c3715SXin Li             )
188*bf2c3715SXin Li         )
189*bf2c3715SXin Li      )
190*bf2c3715SXin Li   )
191*bf2c3715SXin Li
192*bf2c3715SXin Li   preview
193*bf2c3715SXin Li   (
194*bf2c3715SXin Li     #(
195*bf2c3715SXin Li         "[",
196*bf2c3715SXin Li           $c.RowsAtCompileTime,
197*bf2c3715SXin Li         ",",
198*bf2c3715SXin Li           $c.m_storage.m_cols,
199*bf2c3715SXin Li         "](",
200*bf2c3715SXin Li           #array(
201*bf2c3715SXin Li            expr :    [($c.m_storage.m_data)[$i],g],
202*bf2c3715SXin Li            size :    $c.RowsAtCompileTime*$c.m_storage.m_cols
203*bf2c3715SXin Li           ),
204*bf2c3715SXin Li         ")"
205*bf2c3715SXin Li      )
206*bf2c3715SXin Li   )
207*bf2c3715SXin Li}
208*bf2c3715SXin Li
209*bf2c3715SXin Li; Dynamic rows, fixed columns matrix (ColMajor and RowMajor support)
210*bf2c3715SXin LiEigen::Matrix<*,-1,*,*,*,*>{
211*bf2c3715SXin Li  children
212*bf2c3715SXin Li   (
213*bf2c3715SXin Li      #(
214*bf2c3715SXin Li         [internals]: [$c,!],
215*bf2c3715SXin Li         rows: $c.m_storage.m_rows,
216*bf2c3715SXin Li         cols: $c.ColsAtCompileTime,
217*bf2c3715SXin Li         ; Check for RowMajorBit
218*bf2c3715SXin Li         #if ($c.Flags & 0x1) (
219*bf2c3715SXin Li             #array(
220*bf2c3715SXin Li                rank: 2,
221*bf2c3715SXin Li                base: 0,
222*bf2c3715SXin Li                expr: ($c.m_storage.m_data)[($i % $c.m_storage.m_rows)*$c.ColsAtCompileTime + (($i- $i % $c.m_storage.m_rows)/$c.m_storage.m_rows)],
223*bf2c3715SXin Li                size: ($r==1)*$c.m_storage.m_rows+($r==0)*$c.ColsAtCompileTime
224*bf2c3715SXin Li             )
225*bf2c3715SXin Li         ) #else (
226*bf2c3715SXin Li             #array(
227*bf2c3715SXin Li                rank: 2,
228*bf2c3715SXin Li                base: 0,
229*bf2c3715SXin Li                expr: ($c.m_storage.m_data)[$i],
230*bf2c3715SXin Li                size: ($r==1)*$c.m_storage.m_rows+($r==0)*$c.ColsAtCompileTime
231*bf2c3715SXin Li             )
232*bf2c3715SXin Li         )
233*bf2c3715SXin Li      )
234*bf2c3715SXin Li   )
235*bf2c3715SXin Li
236*bf2c3715SXin Li   preview
237*bf2c3715SXin Li   (
238*bf2c3715SXin Li     #(
239*bf2c3715SXin Li         "[",
240*bf2c3715SXin Li           $c.m_storage.m_rows,
241*bf2c3715SXin Li         ",",
242*bf2c3715SXin Li           $c.ColsAtCompileTime,
243*bf2c3715SXin Li         "](",
244*bf2c3715SXin Li           #array(
245*bf2c3715SXin Li            expr :    [($c.m_storage.m_data)[$i],g],
246*bf2c3715SXin Li            size :    $c.m_storage.m_rows*$c.ColsAtCompileTime
247*bf2c3715SXin Li           ),
248*bf2c3715SXin Li         ")"
249*bf2c3715SXin Li      )
250*bf2c3715SXin Li   )
251*bf2c3715SXin Li}
252*bf2c3715SXin Li
253*bf2c3715SXin Li; Fixed size matrix (ColMajor and RowMajor support)
254*bf2c3715SXin LiEigen::Matrix<*,*,*,*,*,*>{
255*bf2c3715SXin Li  children
256*bf2c3715SXin Li   (
257*bf2c3715SXin Li      #(
258*bf2c3715SXin Li         [internals]: [$c,!],
259*bf2c3715SXin Li         rows: $c.RowsAtCompileTime,
260*bf2c3715SXin Li         cols: $c.ColsAtCompileTime,
261*bf2c3715SXin Li         ; Check for RowMajorBit
262*bf2c3715SXin Li         #if ($c.Flags & 0x1) (
263*bf2c3715SXin Li             #array(
264*bf2c3715SXin Li                rank: 2,
265*bf2c3715SXin Li                base: 0,
266*bf2c3715SXin Li                expr: ($c.m_storage.m_data.array)[($i % $c.RowsAtCompileTime)*$c.ColsAtCompileTime + (($i- $i % $c.RowsAtCompileTime)/$c.RowsAtCompileTime)],
267*bf2c3715SXin Li                size: ($r==1)*$c.RowsAtCompileTime+($r==0)*$c.ColsAtCompileTime
268*bf2c3715SXin Li             )
269*bf2c3715SXin Li         ) #else (
270*bf2c3715SXin Li             #array(
271*bf2c3715SXin Li                rank: 2,
272*bf2c3715SXin Li                base: 0,
273*bf2c3715SXin Li                expr: ($c.m_storage.m_data.array)[$i],
274*bf2c3715SXin Li                size: ($r==1)*$c.RowsAtCompileTime+($r==0)*$c.ColsAtCompileTime
275*bf2c3715SXin Li             )
276*bf2c3715SXin Li         )
277*bf2c3715SXin Li      )
278*bf2c3715SXin Li   )
279*bf2c3715SXin Li
280*bf2c3715SXin Li   preview
281*bf2c3715SXin Li   (
282*bf2c3715SXin Li     #(
283*bf2c3715SXin Li         "[",
284*bf2c3715SXin Li           $c.RowsAtCompileTime,
285*bf2c3715SXin Li         ",",
286*bf2c3715SXin Li           $c.ColsAtCompileTime,
287*bf2c3715SXin Li         "](",
288*bf2c3715SXin Li           #array(
289*bf2c3715SXin Li            expr :    [($c.m_storage.m_data.array)[$i],g],
290*bf2c3715SXin Li            size :    $c.RowsAtCompileTime*$c.ColsAtCompileTime
291*bf2c3715SXin Li           ),
292*bf2c3715SXin Li         ")"
293*bf2c3715SXin Li      )
294*bf2c3715SXin Li   )
295*bf2c3715SXin Li}
296