@@ -35,21 +35,21 @@ macro_rules! impl_eig_complex {
3535 // eigenvalues are the eigenvalues computed with `A`.
3636 let ( jobvl, jobvr) = if calc_v {
3737 match l {
38- MatrixLayout :: C { .. } => ( b'V' , b'N' ) ,
39- MatrixLayout :: F { .. } => ( b'N' , b'V' ) ,
38+ MatrixLayout :: C { .. } => ( EigenVectorFlag :: Calc , EigenVectorFlag :: Not ) ,
39+ MatrixLayout :: F { .. } => ( EigenVectorFlag :: Not , EigenVectorFlag :: Calc ) ,
4040 }
4141 } else {
42- ( b'N' , b'N' )
42+ ( EigenVectorFlag :: Not , EigenVectorFlag :: Not )
4343 } ;
4444 let mut eigs = unsafe { vec_uninit( n as usize ) } ;
4545 let mut rwork = unsafe { vec_uninit( 2 * n as usize ) } ;
4646
47- let mut vl = if jobvl == b'V' {
47+ let mut vl = if jobvl == EigenVectorFlag :: Calc {
4848 Some ( unsafe { vec_uninit( ( n * n) as usize ) } )
4949 } else {
5050 None
5151 } ;
52- let mut vr = if jobvr == b'V' {
52+ let mut vr = if jobvr == EigenVectorFlag :: Calc {
5353 Some ( unsafe { vec_uninit( ( n * n) as usize ) } )
5454 } else {
5555 None
@@ -60,8 +60,8 @@ macro_rules! impl_eig_complex {
6060 let mut work_size = [ Self :: zero( ) ] ;
6161 unsafe {
6262 $ev(
63- jobvl,
64- jobvr,
63+ jobvl as u8 ,
64+ jobvr as u8 ,
6565 n,
6666 & mut a,
6767 n,
@@ -83,8 +83,8 @@ macro_rules! impl_eig_complex {
8383 let mut work = unsafe { vec_uninit( lwork) } ;
8484 unsafe {
8585 $ev(
86- jobvl,
87- jobvr,
86+ jobvl as u8 ,
87+ jobvr as u8 ,
8888 n,
8989 & mut a,
9090 n,
@@ -102,7 +102,7 @@ macro_rules! impl_eig_complex {
102102 info. as_lapack_result( ) ?;
103103
104104 // Hermite conjugate
105- if jobvl == b'V' {
105+ if jobvl == EigenVectorFlag :: Calc {
106106 for c in vl. as_mut( ) . unwrap( ) . iter_mut( ) {
107107 c. im = -c. im
108108 }
@@ -144,21 +144,21 @@ macro_rules! impl_eig_real {
144144 // `sgeev`/`dgeev`.
145145 let ( jobvl, jobvr) = if calc_v {
146146 match l {
147- MatrixLayout :: C { .. } => ( b'V' , b'N' ) ,
148- MatrixLayout :: F { .. } => ( b'N' , b'V' ) ,
147+ MatrixLayout :: C { .. } => ( EigenVectorFlag :: Calc , EigenVectorFlag :: Not ) ,
148+ MatrixLayout :: F { .. } => ( EigenVectorFlag :: Not , EigenVectorFlag :: Calc ) ,
149149 }
150150 } else {
151- ( b'N' , b'N' )
151+ ( EigenVectorFlag :: Not , EigenVectorFlag :: Not )
152152 } ;
153153 let mut eig_re = unsafe { vec_uninit( n as usize ) } ;
154154 let mut eig_im = unsafe { vec_uninit( n as usize ) } ;
155155
156- let mut vl = if jobvl == b'V' {
156+ let mut vl = if jobvl == EigenVectorFlag :: Calc {
157157 Some ( unsafe { vec_uninit( ( n * n) as usize ) } )
158158 } else {
159159 None
160160 } ;
161- let mut vr = if jobvr == b'V' {
161+ let mut vr = if jobvr == EigenVectorFlag :: Calc {
162162 Some ( unsafe { vec_uninit( ( n * n) as usize ) } )
163163 } else {
164164 None
@@ -169,8 +169,8 @@ macro_rules! impl_eig_real {
169169 let mut work_size = [ 0.0 ] ;
170170 unsafe {
171171 $ev(
172- jobvl,
173- jobvr,
172+ jobvl as u8 ,
173+ jobvr as u8 ,
174174 n,
175175 & mut a,
176176 n,
@@ -192,8 +192,8 @@ macro_rules! impl_eig_real {
192192 let mut work = unsafe { vec_uninit( lwork) } ;
193193 unsafe {
194194 $ev(
195- jobvl,
196- jobvr,
195+ jobvl as u8 ,
196+ jobvr as u8 ,
197197 n,
198198 & mut a,
199199 n,
@@ -254,7 +254,7 @@ macro_rules! impl_eig_real {
254254 for row in 0 ..n {
255255 let re = v[ row + col * n] ;
256256 let mut im = v[ row + ( col + 1 ) * n] ;
257- if jobvl == b'V' {
257+ if jobvl == EigenVectorFlag :: Calc {
258258 im = -im;
259259 }
260260 eigvecs[ row + col * n] = Self :: complex( re, im) ;
0 commit comments