@@ -2983,16 +2983,14 @@ init_@lapack_func@(GEQRF_PARAMS_t *params,
29832983
29842984 }
29852985
2986- params -> LWORK = fortran_int_max (fortran_int_max (1 , n ),
2987- work_count > 0 ? work_count : - work_count );
2986+ params -> LWORK = fortran_int_max (fortran_int_max (1 , n ), work_count );
29882987
29892988 work_size = (size_t ) params -> LWORK * sizeof (@ftyp @);
29902989 mem_buff2 = malloc (work_size );
29912990 if (!mem_buff2 )
29922991 goto error ;
29932992
29942993 work = mem_buff2 ;
2995- memset (work , 0 , work_size );
29962994
29972995 params -> WORK = work ;
29982996
@@ -3029,7 +3027,7 @@ init_@lapack_func@(GEQRF_PARAMS_t *params,
30293027 size_t a_size = safe_m * safe_n * sizeof (@ftyp @);
30303028 size_t tau_size = safe_min_m_n * sizeof (@ftyp @);
30313029
3032- fortran_int work_count_r , work_count_i , work_count ;
3030+ fortran_int work_count ;
30333031 size_t work_size ;
30343032 fortran_int lda = fortran_int_max (1 , m );
30353033
@@ -3060,11 +3058,7 @@ init_@lapack_func@(GEQRF_PARAMS_t *params,
30603058 if (call_ @lapack_func @(params ) != 0 )
30613059 goto error ;
30623060
3063- work_count_r = (fortran_int ) ((@ftyp @* )params -> WORK )-> r ;
3064- work_count_i = (fortran_int ) ((@ftyp @* )params -> WORK )-> i ;
3065-
3066- work_count = (fortran_int ) sqrt ((fortran_doublereal ) work_count_r * work_count_r +
3067- (fortran_doublereal ) work_count_i * work_count_i );
3061+ work_count = (fortran_int ) ((@ftyp @* )params -> WORK )-> r ;
30683062
30693063 }
30703064
@@ -3078,7 +3072,6 @@ init_@lapack_func@(GEQRF_PARAMS_t *params,
30783072 goto error ;
30793073
30803074 work = mem_buff2 ;
3081- memset (work , 0 , work_size );
30823075
30833076 params -> WORK = work ;
30843077
@@ -3146,7 +3139,6 @@ static void
31463139 delinearize_ @TYPE @_matrix (args [1 ], params .TAU , & tau_out );
31473140 } else {
31483141 error_occurred = 1 ;
3149- nan_ @TYPE @_matrix (args [0 ], & a_in );
31503142 nan_ @TYPE @_matrix (args [1 ], & tau_out );
31513143 }
31523144 END_OUTER_LOOP
@@ -3251,8 +3243,7 @@ init_@lapack_func@_common(GQR_PARAMS_t *params,
32513243
32523244 }
32533245
3254- params -> LWORK = fortran_int_max (fortran_int_max (1 , n ),
3255- work_count > 0 ? work_count : - work_count );
3246+ params -> LWORK = fortran_int_max (fortran_int_max (1 , n ), work_count );
32563247
32573248 work_size = (size_t ) params -> LWORK * sizeof (@ftyp @);
32583249
@@ -3261,7 +3252,6 @@ init_@lapack_func@_common(GQR_PARAMS_t *params,
32613252 goto error ;
32623253
32633254 work = mem_buff2 ;
3264- memset (work , 0 , work_size );
32653255
32663256 params -> WORK = work ;
32673257
@@ -3300,7 +3290,7 @@ init_@lapack_func@_common(GQR_PARAMS_t *params,
33003290 size_t q_size = safe_m * safe_mc * sizeof (@ftyp @);
33013291 size_t tau_size = safe_min_m_n * sizeof (@ftyp @);
33023292
3303- fortran_int work_count_r , work_count_i , work_count ;
3293+ fortran_int work_count ;
33043294 size_t work_size ;
33053295 fortran_int lda = fortran_int_max (1 , m );
33063296
@@ -3332,11 +3322,7 @@ init_@lapack_func@_common(GQR_PARAMS_t *params,
33323322 if (call_ @lapack_func @(params ) != 0 )
33333323 goto error ;
33343324
3335- work_count_r = (fortran_int ) ((@ftyp @* )params -> WORK )-> r ;
3336- work_count_i = (fortran_int ) ((@ftyp @* )params -> WORK )-> i ;
3337-
3338- work_count = (fortran_int ) sqrt ((fortran_doublereal ) work_count_r * work_count_r +
3339- (fortran_doublereal ) work_count_i * work_count_i );
3325+ work_count = (fortran_int ) ((@ftyp @* )params -> WORK )-> r ;
33403326
33413327 }
33423328
@@ -3350,7 +3336,6 @@ init_@lapack_func@_common(GQR_PARAMS_t *params,
33503336 goto error ;
33513337
33523338 work = mem_buff2 ;
3353- memset (work , 0 , work_size );
33543339
33553340 params -> WORK = work ;
33563341 params -> LWORK = work_count ;
@@ -3446,14 +3431,11 @@ static void
34463431 GQR_PARAMS_t params ;
34473432 int error_occurred = get_fp_invalid_and_clear ();
34483433 fortran_int n , m ;
3449- size_t safe_min_m_n , safe_m ;
34503434
34513435 INIT_OUTER_LOOP_3
34523436
34533437 m = (fortran_int )dimensions [0 ];
34543438 n = (fortran_int )dimensions [1 ];
3455- safe_min_m_n = fortran_int_min (m , n );
3456- safe_m = m ;
34573439
34583440 if (init_ @lapack_func @(& params , m , n )) {
34593441 LINEARIZE_DATA_t a_in , tau_in , q_out ;
@@ -3465,15 +3447,13 @@ static void
34653447 BEGIN_OUTER_LOOP_3
34663448 int not_ok ;
34673449 linearize_ @TYPE @_matrix (params .A , args [0 ], & a_in );
3468- memcpy (params .Q , params . A , safe_min_m_n * safe_m * sizeof (@ ftyp @) );
3450+ linearize_ @ TYPE @ _matrix (params .Q , args [ 0 ], & a_in );
34693451 linearize_ @TYPE @_matrix (params .TAU , args [1 ], & tau_in );
34703452 not_ok = call_ @lapack_func @(& params );
34713453 if (!not_ok ) {
3472- delinearize_ @TYPE @_matrix (args [1 ], params .TAU , & tau_in );
34733454 delinearize_ @TYPE @_matrix (args [2 ], params .Q , & q_out );
34743455 } else {
34753456 error_occurred = 1 ;
3476- nan_ @TYPE @_matrix (args [1 ], & tau_in );
34773457 nan_ @TYPE @_matrix (args [2 ], & q_out );
34783458 }
34793459 END_OUTER_LOOP
@@ -3520,14 +3500,11 @@ static void
35203500 GQR_PARAMS_t params ;
35213501 int error_occurred = get_fp_invalid_and_clear ();
35223502 fortran_int n , m ;
3523- size_t safe_n , safe_m ;
35243503
35253504 INIT_OUTER_LOOP_3
35263505
35273506 m = (fortran_int )dimensions [0 ];
35283507 n = (fortran_int )dimensions [1 ];
3529- safe_n = n ;
3530- safe_m = m ;
35313508
35323509
35333510 if (init_ @lapack_func @_complete (& params , m , n )) {
@@ -3540,15 +3517,13 @@ static void
35403517 BEGIN_OUTER_LOOP_3
35413518 int not_ok ;
35423519 linearize_ @TYPE @_matrix (params .A , args [0 ], & a_in );
3543- memcpy (params .Q , params . A , safe_n * safe_m * sizeof (@ ftyp @) );
3520+ linearize_ @ TYPE @ _matrix (params .Q , args [ 0 ], & a_in );
35443521 linearize_ @TYPE @_matrix (params .TAU , args [1 ], & tau_in );
35453522 not_ok = call_ @lapack_func @(& params );
35463523 if (!not_ok ) {
3547- delinearize_ @TYPE @_matrix (args [1 ], params .TAU , & tau_in );
35483524 delinearize_ @TYPE @_matrix (args [2 ], params .Q , & q_out );
35493525 } else {
35503526 error_occurred = 1 ;
3551- nan_ @TYPE @_matrix (args [1 ], & tau_in );
35523527 nan_ @TYPE @_matrix (args [2 ], & q_out );
35533528 }
35543529 END_OUTER_LOOP
0 commit comments