@@ -58,141 +58,141 @@ var f32 = require( '@stdlib/number/float64/base/to-float32' );
58
58
* cher2( 'lower', x.length, alpha, x, 1, 0, y, 1, 0, A, 2, 1, 0 );
59
59
* // A => <Complex64Array>[ 5.0, 0.0, 0.0, 0.0, 6.0, 3.0, 8.0, 0.0 ]
60
60
*/
61
- function cher2 ( uplo , N , alpha , x , strideX , offsetX , y , strideY , offsetY , A , strideA1 , strideA2 , offsetA ) {
62
- var alpha_re ;
63
- var alpha_im ;
64
- var tmp1_re ;
65
- var tmp1_im ;
66
- var tmp2_re ;
67
- var tmp2_im ;
68
- var re0_x ;
69
- var im0_x ;
70
- var re0_y ;
71
- var im0_y ;
72
- var re1_x ;
73
- var im1_x ;
74
- var re1_y ;
75
- var im1_y ;
61
+ function cher2 ( uplo , N , alpha , x , strideX , offsetX , y , strideY , offsetY , A , strideA1 , strideA2 , offsetA ) { // eslint-disable-line max-params, max-len
62
+ var realpha ;
63
+ var imalpha ;
64
+ var retmp1 ;
65
+ var imtmp1 ;
66
+ var retmp2 ;
67
+ var imtmp2 ;
76
68
var viewX ;
77
- var viewY ;
78
- var viewA ;
79
- var isrm ;
80
- var idx ;
81
- var ix1 ;
82
- var iy1 ;
83
- var ix0 ;
84
- var iy0 ;
85
- var re0 ;
86
- var im0 ;
87
- var re1 ;
88
- var im1 ;
89
- var sa0 ;
90
- var sa1 ;
91
- var re ;
92
- var im ;
93
- var i1 ;
94
- var i0 ;
95
- var ix ;
96
- var iy ;
97
- var ia ;
98
- var sx ;
99
- var sy ;
100
-
101
- alpha_re = f32 ( alpha . re ) ;
102
- alpha_im = f32 ( alpha . im ) ;
103
-
104
- viewX = reinterpret ( x , 0 ) ;
105
- viewY = reinterpret ( y , 0 ) ;
106
- viewA = reinterpret ( A , 0 ) ;
107
-
108
- isrm = isRowMajor ( [ strideA1 , strideA2 ] ) ;
109
- if ( isrm ) {
110
- sa0 = strideA2 * 2 ;
111
- sa1 = strideA1 * 2 ;
112
- } else {
113
- sa0 = strideA1 * 2 ;
114
- sa1 = strideA2 * 2 ;
115
- }
116
- ix = offsetX * 2 ;
117
- iy = offsetY * 2 ;
118
- ia = offsetA * 2 ;
119
- sx = strideX * 2 ;
120
- sy = strideY * 2 ;
121
- if ( ( isrm && uplo === 'upper' ) || ( ! isrm && uplo === 'lower' ) ) {
122
- for ( i1 = 0 ; i1 < N ; i1 ++ ) {
123
- ix1 = ix + ( i1 * sx ) ;
124
- iy1 = iy + ( i1 * sy ) ;
125
- re0_x = f32 ( viewX [ ix1 ] ) ;
126
- im0_x = f32 ( viewX [ ix1 + 1 ] ) ;
127
- re0_y = f32 ( viewY [ iy1 ] ) ;
128
- im0_y = f32 ( viewY [ iy1 + 1 ] ) ;
129
- for ( i0 = i1 ; i0 < N ; i0 ++ ) {
130
- ix0 = ix + ( i0 * sx ) ;
131
- iy0 = iy + ( i0 * sy ) ;
132
- re1_x = f32 ( viewX [ ix0 ] ) ;
133
- im1_x = f32 ( viewX [ ix0 + 1 ] ) ;
134
- re1_y = f32 ( viewY [ iy0 ] ) ;
135
- im1_y = f32 ( viewY [ iy0 + 1 ] ) ;
136
-
137
- re0 = f32 ( ( re0_x * re1_y ) + ( im0_x * im1_y ) ) ;
138
- im0 = f32 ( ( im0_x * re1_y ) - ( re0_x * im1_y ) ) ;
139
- tmp1_re = f32 ( ( alpha_re * re0 ) - ( alpha_im * im0 ) ) ;
140
- tmp1_im = f32 ( ( alpha_re * im0 ) + ( alpha_im * re0 ) ) ;
141
-
142
- re1 = f32 ( ( re0_y * re1_x ) + ( im0_y * im1_x ) ) ;
143
- im1 = f32 ( ( im0_y * re1_x ) - ( re0_y * im1_x ) ) ;
144
- tmp2_re = f32 ( ( alpha_re * re1 ) + ( alpha_im * im1 ) ) ;
145
- tmp2_im = f32 ( ( alpha_re * im1 ) - ( alpha_im * re1 ) ) ;
146
-
147
- re = f32 ( tmp1_re + tmp2_re ) ;
148
- im = f32 ( tmp1_im + tmp2_im ) ;
149
- idx = ia + ( i0 * sa0 ) + ( i1 * sa1 ) ;
150
- viewA [ idx ] = f32 ( viewA [ idx ] + re ) ;
151
- viewA [ idx + 1 ] = f32 ( viewA [ idx + 1 ] + im ) ;
152
- if ( i0 === i1 ) {
153
- viewA [ idx + 1 ] = 0.0 ;
154
- }
155
- }
156
- }
157
- return A ;
158
- }
159
- // ( isrm && uplo === 'lower' ) || ( !isrm && uplo === 'upper' )
160
- for ( i1 = 0 ; i1 < N ; i1 ++ ) {
161
- ix1 = ix + ( i1 * sx ) ;
162
- iy1 = iy + ( i1 * sy ) ;
163
- re0_x = f32 ( viewX [ ix1 ] ) ;
164
- im0_x = f32 ( viewX [ ix1 + 1 ] ) ;
165
- re0_y = f32 ( viewY [ iy1 ] ) ;
166
- im0_y = f32 ( viewY [ iy1 + 1 ] ) ;
167
- for ( i0 = 0 ; i0 <= i1 ; i0 ++ ) {
168
- ix0 = ix + ( i0 * sx ) ;
169
- iy0 = iy + ( i0 * sy ) ;
170
- re1_x = f32 ( viewX [ ix0 ] ) ;
171
- im1_x = f32 ( viewX [ ix0 + 1 ] ) ;
172
- re1_y = f32 ( viewY [ iy0 ] ) ;
173
- im1_y = f32 ( viewY [ iy0 + 1 ] ) ;
174
-
175
- re0 = f32 ( ( re0_x * re1_y ) + ( im0_x * im1_y ) ) ;
176
- im0 = f32 ( ( im0_x * re1_y ) - ( re0_x * im1_y ) ) ;
177
- tmp1_re = f32 ( ( alpha_re * re0 ) - ( alpha_im * im0 ) ) ;
178
- tmp1_im = f32 ( ( alpha_re * im0 ) + ( alpha_im * re0 ) ) ;
179
-
180
- re1 = f32 ( ( re0_y * re1_x ) + ( im0_y * im1_x ) ) ;
181
- im1 = f32 ( ( im0_y * re1_x ) - ( re0_y * im1_x ) ) ;
182
- tmp2_re = f32 ( ( alpha_re * re1 ) + ( alpha_im * im1 ) ) ;
183
- tmp2_im = f32 ( ( alpha_re * im1 ) - ( alpha_im * re1 ) ) ;
184
-
185
- re = f32 ( tmp1_re + tmp2_re ) ;
186
- im = f32 ( tmp1_im + tmp2_im ) ;
187
- idx = ia + ( i0 * sa0 ) + ( i1 * sa1 ) ;
188
- viewA [ idx ] = f32 ( viewA [ idx ] + re ) ;
189
- viewA [ idx + 1 ] = f32 ( viewA [ idx + 1 ] + im ) ;
190
- if ( i0 === i1 ) {
191
- viewA [ idx + 1 ] = 0.0 ;
192
- }
193
- }
194
- }
195
- return A ;
69
+ var viewY ;
70
+ var viewA ;
71
+ var xre0 ;
72
+ var xim0 ;
73
+ var yre0 ;
74
+ var yim0 ;
75
+ var xre1 ;
76
+ var xim1 ;
77
+ var yre1 ;
78
+ var yim1 ;
79
+ var isrm ;
80
+ var idx ;
81
+ var ix1 ;
82
+ var iy1 ;
83
+ var ix0 ;
84
+ var iy0 ;
85
+ var re0 ;
86
+ var im0 ;
87
+ var re1 ;
88
+ var im1 ;
89
+ var sa0 ;
90
+ var sa1 ;
91
+ var re ;
92
+ var im ;
93
+ var i1 ;
94
+ var i0 ;
95
+ var ix ;
96
+ var iy ;
97
+ var ia ;
98
+ var sx ;
99
+ var sy ;
100
+
101
+ realpha = f32 ( alpha . re ) ;
102
+ imalpha = f32 ( alpha . im ) ;
103
+
104
+ viewX = reinterpret ( x , 0 ) ;
105
+ viewY = reinterpret ( y , 0 ) ;
106
+ viewA = reinterpret ( A , 0 ) ;
107
+
108
+ isrm = isRowMajor ( [ strideA1 , strideA2 ] ) ;
109
+ if ( isrm ) {
110
+ sa0 = strideA2 * 2 ;
111
+ sa1 = strideA1 * 2 ;
112
+ } else {
113
+ sa0 = strideA1 * 2 ;
114
+ sa1 = strideA2 * 2 ;
115
+ }
116
+ ix = offsetX * 2 ;
117
+ iy = offsetY * 2 ;
118
+ ia = offsetA * 2 ;
119
+ sx = strideX * 2 ;
120
+ sy = strideY * 2 ;
121
+ if ( ( isrm && uplo === 'upper' ) || ( ! isrm && uplo === 'lower' ) ) {
122
+ for ( i1 = 0 ; i1 < N ; i1 ++ ) {
123
+ ix1 = ix + ( i1 * sx ) ;
124
+ iy1 = iy + ( i1 * sy ) ;
125
+ xre0 = f32 ( viewX [ ix1 ] ) ;
126
+ xim0 = f32 ( viewX [ ix1 + 1 ] ) ;
127
+ yre0 = f32 ( viewY [ iy1 ] ) ;
128
+ yim0 = f32 ( viewY [ iy1 + 1 ] ) ;
129
+ for ( i0 = i1 ; i0 < N ; i0 ++ ) {
130
+ ix0 = ix + ( i0 * sx ) ;
131
+ iy0 = iy + ( i0 * sy ) ;
132
+ xre1 = f32 ( viewX [ ix0 ] ) ;
133
+ xim1 = f32 ( viewX [ ix0 + 1 ] ) ;
134
+ yre1 = f32 ( viewY [ iy0 ] ) ;
135
+ yim1 = f32 ( viewY [ iy0 + 1 ] ) ;
136
+
137
+ re0 = f32 ( ( xre0 * yre1 ) + ( xim0 * yim1 ) ) ;
138
+ im0 = f32 ( ( xim0 * yre1 ) - ( xre0 * yim1 ) ) ;
139
+ retmp1 = f32 ( ( realpha * re0 ) - ( imalpha * im0 ) ) ;
140
+ imtmp1 = f32 ( ( realpha * im0 ) + ( imalpha * re0 ) ) ;
141
+
142
+ re1 = f32 ( ( yre0 * xre1 ) + ( yim0 * xim1 ) ) ;
143
+ im1 = f32 ( ( yim0 * xre1 ) - ( yre0 * xim1 ) ) ;
144
+ retmp2 = f32 ( ( realpha * re1 ) + ( imalpha * im1 ) ) ;
145
+ imtmp2 = f32 ( ( realpha * im1 ) - ( imalpha * re1 ) ) ;
146
+
147
+ re = f32 ( retmp1 + retmp2 ) ;
148
+ im = f32 ( imtmp1 + imtmp2 ) ;
149
+ idx = ia + ( i0 * sa0 ) + ( i1 * sa1 ) ;
150
+ viewA [ idx ] = f32 ( viewA [ idx ] + re ) ;
151
+ viewA [ idx + 1 ] = f32 ( viewA [ idx + 1 ] + im ) ;
152
+ if ( i0 === i1 ) {
153
+ viewA [ idx + 1 ] = 0.0 ;
154
+ }
155
+ }
156
+ }
157
+ return A ;
158
+ }
159
+ // ( isrm && uplo === 'lower' ) || ( !isrm && uplo === 'upper' )
160
+ for ( i1 = 0 ; i1 < N ; i1 ++ ) {
161
+ ix1 = ix + ( i1 * sx ) ;
162
+ iy1 = iy + ( i1 * sy ) ;
163
+ xre0 = f32 ( viewX [ ix1 ] ) ;
164
+ xim0 = f32 ( viewX [ ix1 + 1 ] ) ;
165
+ yre0 = f32 ( viewY [ iy1 ] ) ;
166
+ yim0 = f32 ( viewY [ iy1 + 1 ] ) ;
167
+ for ( i0 = 0 ; i0 <= i1 ; i0 ++ ) {
168
+ ix0 = ix + ( i0 * sx ) ;
169
+ iy0 = iy + ( i0 * sy ) ;
170
+ xre1 = f32 ( viewX [ ix0 ] ) ;
171
+ xim1 = f32 ( viewX [ ix0 + 1 ] ) ;
172
+ yre1 = f32 ( viewY [ iy0 ] ) ;
173
+ yim1 = f32 ( viewY [ iy0 + 1 ] ) ;
174
+
175
+ re0 = f32 ( ( xre0 * yre1 ) + ( xim0 * yim1 ) ) ;
176
+ im0 = f32 ( ( xim0 * yre1 ) - ( xre0 * yim1 ) ) ;
177
+ retmp1 = f32 ( ( realpha * re0 ) - ( imalpha * im0 ) ) ;
178
+ imtmp1 = f32 ( ( realpha * im0 ) + ( imalpha * re0 ) ) ;
179
+
180
+ re1 = f32 ( ( yre0 * xre1 ) + ( yim0 * xim1 ) ) ;
181
+ im1 = f32 ( ( yim0 * xre1 ) - ( yre0 * xim1 ) ) ;
182
+ retmp2 = f32 ( ( realpha * re1 ) + ( imalpha * im1 ) ) ;
183
+ imtmp2 = f32 ( ( realpha * im1 ) - ( imalpha * re1 ) ) ;
184
+
185
+ re = f32 ( retmp1 + retmp2 ) ;
186
+ im = f32 ( imtmp1 + imtmp2 ) ;
187
+ idx = ia + ( i0 * sa0 ) + ( i1 * sa1 ) ;
188
+ viewA [ idx ] = f32 ( viewA [ idx ] + re ) ;
189
+ viewA [ idx + 1 ] = f32 ( viewA [ idx + 1 ] + im ) ;
190
+ if ( i0 === i1 ) {
191
+ viewA [ idx + 1 ] = 0.0 ;
192
+ }
193
+ }
194
+ }
195
+ return A ;
196
196
}
197
197
198
198
0 commit comments