1 /*
2 
3     Copyright (C) 2014, The University of Texas at Austin
4 
5     This file is part of libflame and is available under the 3-Clause
6     BSD license, which can be found in the LICENSE file at the top-level
7     directory, or at http://opensource.org/licenses/BSD-3-Clause
8 
9 */
10 
11 #include "FLAME.h"
12 
13 FLA_Error FLA_Eig_gest_iu_blk_var1( FLA_Obj A, FLA_Obj Y, FLA_Obj B, fla_eig_gest_t* cntl );
14 FLA_Error FLA_Eig_gest_iu_blk_var2( FLA_Obj A, FLA_Obj Y, FLA_Obj B, fla_eig_gest_t* cntl );
15 FLA_Error FLA_Eig_gest_iu_blk_var3( FLA_Obj A, FLA_Obj Y, FLA_Obj B, fla_eig_gest_t* cntl );
16 FLA_Error FLA_Eig_gest_iu_blk_var4( FLA_Obj A, FLA_Obj Y, FLA_Obj B, fla_eig_gest_t* cntl );
17 FLA_Error FLA_Eig_gest_iu_blk_var5( FLA_Obj A, FLA_Obj Y, FLA_Obj B, fla_eig_gest_t* cntl );
18 
19 FLA_Error FLA_Eig_gest_iu_unb_var1( FLA_Obj A, FLA_Obj Y, FLA_Obj B );
20 FLA_Error FLA_Eig_gest_iu_unb_var2( FLA_Obj A, FLA_Obj Y, FLA_Obj B );
21 FLA_Error FLA_Eig_gest_iu_unb_var3( FLA_Obj A, FLA_Obj Y, FLA_Obj B );
22 FLA_Error FLA_Eig_gest_iu_unb_var4( FLA_Obj A, FLA_Obj Y, FLA_Obj B );
23 FLA_Error FLA_Eig_gest_iu_unb_var5( FLA_Obj A, FLA_Obj Y, FLA_Obj B );
24 
25 FLA_Error FLA_Eig_gest_iu_opt_var1( FLA_Obj A, FLA_Obj Y, FLA_Obj B );
26 FLA_Error FLA_Eig_gest_iu_ops_var1( int m_AB,
27                                     float*    buff_A, int rs_A, int cs_A,
28                                     float*    buff_y, int inc_y,
29                                     float*    buff_B, int rs_B, int cs_B );
30 FLA_Error FLA_Eig_gest_iu_opd_var1( int m_AB,
31                                     double*   buff_A, int rs_A, int cs_A,
32                                     double*   buff_y, int inc_y,
33                                     double*   buff_B, int rs_B, int cs_B );
34 FLA_Error FLA_Eig_gest_iu_opc_var1( int m_AB,
35                                     scomplex* buff_A, int rs_A, int cs_A,
36                                     scomplex* buff_y, int inc_y,
37                                     scomplex* buff_B, int rs_B, int cs_B );
38 FLA_Error FLA_Eig_gest_iu_opz_var1( int m_AB,
39                                     dcomplex* buff_A, int rs_A, int cs_A,
40                                     dcomplex* buff_y, int inc_y,
41                                     dcomplex* buff_B, int rs_B, int cs_B );
42 
43 FLA_Error FLA_Eig_gest_iu_opt_var2( FLA_Obj A, FLA_Obj Y, FLA_Obj B );
44 FLA_Error FLA_Eig_gest_iu_ops_var2( int m_AB,
45                                     float*    buff_A, int rs_A, int cs_A,
46                                     float*    buff_y, int inc_y,
47                                     float*    buff_B, int rs_B, int cs_B );
48 FLA_Error FLA_Eig_gest_iu_opd_var2( int m_AB,
49                                     double*   buff_A, int rs_A, int cs_A,
50                                     double*   buff_y, int inc_y,
51                                     double*   buff_B, int rs_B, int cs_B );
52 FLA_Error FLA_Eig_gest_iu_opc_var2( int m_AB,
53                                     scomplex* buff_A, int rs_A, int cs_A,
54                                     scomplex* buff_y, int inc_y,
55                                     scomplex* buff_B, int rs_B, int cs_B );
56 FLA_Error FLA_Eig_gest_iu_opz_var2( int m_AB,
57                                     dcomplex* buff_A, int rs_A, int cs_A,
58                                     dcomplex* buff_y, int inc_y,
59                                     dcomplex* buff_B, int rs_B, int cs_B );
60 
61 FLA_Error FLA_Eig_gest_iu_opt_var3( FLA_Obj A, FLA_Obj Y, FLA_Obj B );
62 FLA_Error FLA_Eig_gest_iu_ops_var3( int m_AB,
63                                     float*    buff_A, int rs_A, int cs_A,
64                                     float*    buff_Y, int rs_Y, int cs_Y,
65                                     float*    buff_B, int rs_B, int cs_B );
66 FLA_Error FLA_Eig_gest_iu_opd_var3( int m_AB,
67                                     double*   buff_A, int rs_A, int cs_A,
68                                     double*   buff_Y, int rs_Y, int cs_Y,
69                                     double*   buff_B, int rs_B, int cs_B );
70 FLA_Error FLA_Eig_gest_iu_opc_var3( int m_AB,
71                                     scomplex* buff_A, int rs_A, int cs_A,
72                                     scomplex* buff_Y, int rs_Y, int cs_Y,
73                                     scomplex* buff_B, int rs_B, int cs_B );
74 FLA_Error FLA_Eig_gest_iu_opz_var3( int m_AB,
75                                     dcomplex* buff_A, int rs_A, int cs_A,
76                                     dcomplex* buff_Y, int rs_Y, int cs_Y,
77                                     dcomplex* buff_B, int rs_B, int cs_B );
78 
79 FLA_Error FLA_Eig_gest_iu_opt_var4( FLA_Obj A, FLA_Obj Y, FLA_Obj B );
80 FLA_Error FLA_Eig_gest_iu_ops_var4( int m_AB,
81                                     float*    buff_A, int rs_A, int cs_A,
82                                     float*    buff_y, int inc_y,
83                                     float*    buff_B, int rs_B, int cs_B );
84 FLA_Error FLA_Eig_gest_iu_opd_var4( int m_AB,
85                                     double*   buff_A, int rs_A, int cs_A,
86                                     double*   buff_y, int inc_y,
87                                     double*   buff_B, int rs_B, int cs_B );
88 FLA_Error FLA_Eig_gest_iu_opc_var4( int m_AB,
89                                     scomplex* buff_A, int rs_A, int cs_A,
90                                     scomplex* buff_y, int inc_y,
91                                     scomplex* buff_B, int rs_B, int cs_B );
92 FLA_Error FLA_Eig_gest_iu_opz_var4( int m_AB,
93                                     dcomplex* buff_A, int rs_A, int cs_A,
94                                     dcomplex* buff_y, int inc_y,
95                                     dcomplex* buff_B, int rs_B, int cs_B );
96 
97 FLA_Error FLA_Eig_gest_iu_opt_var5( FLA_Obj A, FLA_Obj Y, FLA_Obj B );
98 FLA_Error FLA_Eig_gest_iu_ops_var5( int m_AB,
99                                     float*    buff_A, int rs_A, int cs_A,
100                                     float*    buff_y, int inc_y,
101                                     float*    buff_B, int rs_B, int cs_B );
102 FLA_Error FLA_Eig_gest_iu_opd_var5( int m_AB,
103                                     double*   buff_A, int rs_A, int cs_A,
104                                     double*   buff_y, int inc_y,
105                                     double*   buff_B, int rs_B, int cs_B );
106 FLA_Error FLA_Eig_gest_iu_opc_var5( int m_AB,
107                                     scomplex* buff_A, int rs_A, int cs_A,
108                                     scomplex* buff_y, int inc_y,
109                                     scomplex* buff_B, int rs_B, int cs_B );
110 FLA_Error FLA_Eig_gest_iu_opz_var5( int m_AB,
111                                     dcomplex* buff_A, int rs_A, int cs_A,
112                                     dcomplex* buff_y, int inc_y,
113                                     dcomplex* buff_B, int rs_B, int cs_B );
114