@@ -42,10 +42,10 @@ macro_rules! impl_eigh {
4242 assert_eq!( layout. len( ) , layout. lda( ) ) ;
4343 let n = layout. len( ) ;
4444 let jobz = if calc_v { b'V' } else { b'N' } ;
45- let mut eigs = vec! [ Self :: Real :: zero ( ) ; n as usize ] ;
45+ let mut eigs = unsafe { vec_uninit ( n as usize ) } ;
4646
4747 $(
48- let mut $rwork_ident = vec! [ Self :: Real :: zero ( ) ; 3 * n as usize - 2 ] ;
48+ let mut $rwork_ident = unsafe { vec_uninit ( 3 * n as usize - 2 as usize ) } ;
4949 ) *
5050
5151 // calc work size
@@ -69,7 +69,7 @@ macro_rules! impl_eigh {
6969
7070 // actual ev
7171 let lwork = work_size[ 0 ] . to_usize( ) . unwrap( ) ;
72- let mut work = vec! [ Self :: zero ( ) ; lwork ] ;
72+ let mut work = unsafe { vec_uninit ( lwork ) } ;
7373 unsafe {
7474 $ev(
7575 jobz,
@@ -98,10 +98,10 @@ macro_rules! impl_eigh {
9898 assert_eq!( layout. len( ) , layout. lda( ) ) ;
9999 let n = layout. len( ) ;
100100 let jobz = if calc_v { b'V' } else { b'N' } ;
101- let mut eigs = vec! [ Self :: Real :: zero ( ) ; n as usize ] ;
101+ let mut eigs = unsafe { vec_uninit ( n as usize ) } ;
102102
103103 $(
104- let mut $rwork_ident = vec! [ Self :: Real :: zero ( ) ; 3 * n as usize - 2 ] ;
104+ let mut $rwork_ident = unsafe { vec_uninit ( 3 * n as usize - 2 ) } ;
105105 ) *
106106
107107 // calc work size
@@ -128,7 +128,7 @@ macro_rules! impl_eigh {
128128
129129 // actual evg
130130 let lwork = work_size[ 0 ] . to_usize( ) . unwrap( ) ;
131- let mut work = vec! [ Self :: zero ( ) ; lwork ] ;
131+ let mut work = unsafe { vec_uninit ( lwork ) } ;
132132 unsafe {
133133 $evg(
134134 & [ 1 ] ,
0 commit comments