@@ -42,10 +42,10 @@ macro_rules! impl_eigh {
42
42
assert_eq!( layout. len( ) , layout. lda( ) ) ;
43
43
let n = layout. len( ) ;
44
44
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 ) } ;
46
46
47
47
$(
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 ) } ;
49
49
) *
50
50
51
51
// calc work size
@@ -69,7 +69,7 @@ macro_rules! impl_eigh {
69
69
70
70
// actual ev
71
71
let lwork = work_size[ 0 ] . to_usize( ) . unwrap( ) ;
72
- let mut work = vec! [ Self :: zero ( ) ; lwork ] ;
72
+ let mut work = unsafe { vec_uninit ( lwork ) } ;
73
73
unsafe {
74
74
$ev(
75
75
jobz,
@@ -98,10 +98,10 @@ macro_rules! impl_eigh {
98
98
assert_eq!( layout. len( ) , layout. lda( ) ) ;
99
99
let n = layout. len( ) ;
100
100
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 ) } ;
102
102
103
103
$(
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 ) } ;
105
105
) *
106
106
107
107
// calc work size
@@ -128,7 +128,7 @@ macro_rules! impl_eigh {
128
128
129
129
// actual evg
130
130
let lwork = work_size[ 0 ] . to_usize( ) . unwrap( ) ;
131
- let mut work = vec! [ Self :: zero ( ) ; lwork ] ;
131
+ let mut work = unsafe { vec_uninit ( lwork ) } ;
132
132
unsafe {
133
133
$evg(
134
134
& [ 1 ] ,
0 commit comments