| @@ -76,7 +76,7 @@ lapack_int LAPACKE_sgeesx( int matrix_layout, char jobvs, char sort, | |||||
| if( info != 0 ) { | if( info != 0 ) { | ||||
| goto exit_level_1; | goto exit_level_1; | ||||
| } | } | ||||
| liwork = (lapack_int)iwork_query; | |||||
| liwork = iwork_query; | |||||
| lwork = (lapack_int)work_query; | lwork = (lapack_int)work_query; | ||||
| /* Allocate memory for work arrays */ | /* Allocate memory for work arrays */ | ||||
| if( LAPACKE_lsame( sense, 'b' ) || LAPACKE_lsame( sense, 'v' ) ) { | if( LAPACKE_lsame( sense, 'b' ) || LAPACKE_lsame( sense, 'v' ) ) { | ||||
| @@ -74,7 +74,6 @@ lapack_int LAPACKE_sgejsv( int matrix_layout, char joba, char jobu, char jobv, | |||||
| lapack_int* iwork = NULL; | lapack_int* iwork = NULL; | ||||
| float* work = NULL; | float* work = NULL; | ||||
| lapack_int i; | lapack_int i; | ||||
| lapack_int nu, nv; | |||||
| if( matrix_layout != LAPACK_COL_MAJOR && matrix_layout != LAPACK_ROW_MAJOR ) { | if( matrix_layout != LAPACK_COL_MAJOR && matrix_layout != LAPACK_ROW_MAJOR ) { | ||||
| LAPACKE_xerbla( "LAPACKE_sgejsv", -1 ); | LAPACKE_xerbla( "LAPACKE_sgejsv", -1 ); | ||||
| return -1; | return -1; | ||||
| @@ -82,8 +81,6 @@ lapack_int LAPACKE_sgejsv( int matrix_layout, char joba, char jobu, char jobv, | |||||
| #ifndef LAPACK_DISABLE_NAN_CHECK | #ifndef LAPACK_DISABLE_NAN_CHECK | ||||
| if( LAPACKE_get_nancheck() ) { | if( LAPACKE_get_nancheck() ) { | ||||
| /* Optionally check input matrices for NaNs */ | /* Optionally check input matrices for NaNs */ | ||||
| nu = LAPACKE_lsame( jobu, 'n' ) ? 1 : m; | |||||
| nv = LAPACKE_lsame( jobv, 'n' ) ? 1 : n; | |||||
| if( LAPACKE_sge_nancheck( matrix_layout, m, n, a, lda ) ) { | if( LAPACKE_sge_nancheck( matrix_layout, m, n, a, lda ) ) { | ||||
| return -10; | return -10; | ||||
| } | } | ||||
| @@ -70,7 +70,7 @@ lapack_int LAPACKE_sgelsd( int matrix_layout, lapack_int m, lapack_int n, | |||||
| if( info != 0 ) { | if( info != 0 ) { | ||||
| goto exit_level_0; | goto exit_level_0; | ||||
| } | } | ||||
| liwork = (lapack_int)iwork_query; | |||||
| liwork = iwork_query; | |||||
| lwork = (lapack_int)work_query; | lwork = (lapack_int)work_query; | ||||
| /* Allocate memory for work arrays */ | /* Allocate memory for work arrays */ | ||||
| iwork = (lapack_int*)LAPACKE_malloc( sizeof(lapack_int) * liwork ); | iwork = (lapack_int*)LAPACKE_malloc( sizeof(lapack_int) * liwork ); | ||||
| @@ -0,0 +1,106 @@ | |||||
| /***************************************************************************** | |||||
| Copyright (c) 2014, Intel Corp. | |||||
| All rights reserved. | |||||
| Redistribution and use in source and binary forms, with or without | |||||
| modification, are permitted provided that the following conditions are met: | |||||
| * Redistributions of source code must retain the above copyright notice, | |||||
| this list of conditions and the following disclaimer. | |||||
| * Redistributions in binary form must reproduce the above copyright | |||||
| notice, this list of conditions and the following disclaimer in the | |||||
| documentation and/or other materials provided with the distribution. | |||||
| * Neither the name of Intel Corporation nor the names of its contributors | |||||
| may be used to endorse or promote products derived from this software | |||||
| without specific prior written permission. | |||||
| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | |||||
| AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | |||||
| IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |||||
| ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE | |||||
| LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | |||||
| CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | |||||
| SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | |||||
| INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | |||||
| CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | |||||
| ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF | |||||
| THE POSSIBILITY OF SUCH DAMAGE. | |||||
| ***************************************************************************** | |||||
| * Contents: Native high-level C interface to LAPACK function sgesvdq | |||||
| * Author: Intel Corporation | |||||
| * Generated November 2018 | |||||
| *****************************************************************************/ | |||||
| #include "lapacke_utils.h" | |||||
| lapack_int LAPACKE_sgesvdq( int matrix_layout, char joba, char jobp, | |||||
| char jobr, char jobu, char jobv, | |||||
| lapack_int m, lapack_int n, float* a, | |||||
| lapack_int lda, float* s, float* u, lapack_int ldu, | |||||
| float* v, lapack_int ldv, lapack_int* numrank) | |||||
| { | |||||
| lapack_int info = 0; | |||||
| lapack_int liwork = -1; | |||||
| lapack_int* iwork = NULL; | |||||
| lapack_int iwork_query; | |||||
| lapack_int lwork = -1; | |||||
| float* work = NULL; | |||||
| float work_query; | |||||
| lapack_int lrwork = -1; | |||||
| float* rwork = NULL; | |||||
| float rwork_query; | |||||
| lapack_int i; | |||||
| if( matrix_layout != LAPACK_COL_MAJOR && matrix_layout != LAPACK_ROW_MAJOR ) { | |||||
| LAPACKE_xerbla( "LAPACKE_sgesvdq", -1 ); | |||||
| return -1; | |||||
| } | |||||
| #ifndef LAPACK_DISABLE_NAN_CHECK | |||||
| if( LAPACKE_get_nancheck() ) { | |||||
| /* Optionally check input matrices for NaNs */ | |||||
| if( LAPACKE_sge_nancheck( matrix_layout, m, n, a, lda ) ) { | |||||
| return -6; | |||||
| } | |||||
| } | |||||
| #endif | |||||
| /* Query optimal working array(s) size */ | |||||
| info = LAPACKE_sgesvdq_work( matrix_layout, joba, jobp, jobr, jobu, jobv, | |||||
| m, n, a, lda, s, u, ldu, v, ldv, numrank, | |||||
| &iwork_query, liwork, &work_query, lwork, | |||||
| &rwork_query, lrwork ); | |||||
| if( info != 0 ) { | |||||
| goto exit_level_0; | |||||
| } | |||||
| liwork = iwork_query; | |||||
| lwork = (lapack_int)work_query; | |||||
| lrwork = (lapack_int)rwork_query; | |||||
| /* Allocate memory for work arrays */ | |||||
| iwork = (lapack_int*)LAPACKE_malloc( sizeof(lapack_int) * liwork ); | |||||
| if( iwork == NULL ) { | |||||
| info = LAPACK_WORK_MEMORY_ERROR; | |||||
| goto exit_level_0; | |||||
| } | |||||
| work = (float*)LAPACKE_malloc( sizeof(float) * lwork ); | |||||
| if( work == NULL ) { | |||||
| info = LAPACK_WORK_MEMORY_ERROR; | |||||
| goto exit_level_0; | |||||
| } | |||||
| rwork = (float*)LAPACKE_malloc( sizeof(float) * lrwork ); | |||||
| if( rwork == NULL ) { | |||||
| info = LAPACK_WORK_MEMORY_ERROR; | |||||
| goto exit_level_0; | |||||
| } | |||||
| /* Call middle-level interface */ | |||||
| info = LAPACKE_sgesvdq_work( matrix_layout, joba, jobp, jobr, jobu, jobv, | |||||
| m, n, a, lda, s, u, ldu, v, ldv, numrank, | |||||
| iwork, liwork, work, lwork, rwork, lrwork ); | |||||
| /* Release memory and exit */ | |||||
| LAPACKE_free( iwork ); | |||||
| LAPACKE_free( work ); | |||||
| LAPACKE_free( rwork ); | |||||
| exit_level_0: | |||||
| if( info == LAPACK_WORK_MEMORY_ERROR ) { | |||||
| LAPACKE_xerbla( "LAPACKE_sgesvdq", info ); | |||||
| } | |||||
| return info; | |||||
| } | |||||
| @@ -0,0 +1,148 @@ | |||||
| /***************************************************************************** | |||||
| Copyright (c) 2014, Intel Corp. | |||||
| All rights reserved. | |||||
| Redistribution and use in source and binary forms, with or without | |||||
| modification, are permitted provided that the following conditions are met: | |||||
| * Redistributions of source code must retain the above copyright notice, | |||||
| this list of conditions and the following disclaimer. | |||||
| * Redistributions in binary form must reproduce the above copyright | |||||
| notice, this list of conditions and the following disclaimer in the | |||||
| documentation and/or other materials provided with the distribution. | |||||
| * Neither the name of Intel Corporation nor the names of its contributors | |||||
| may be used to endorse or promote products derived from this software | |||||
| without specific prior written permission. | |||||
| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | |||||
| AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | |||||
| IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |||||
| ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE | |||||
| LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | |||||
| CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | |||||
| SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | |||||
| INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | |||||
| CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | |||||
| ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF | |||||
| THE POSSIBILITY OF SUCH DAMAGE. | |||||
| ***************************************************************************** | |||||
| * Contents: Native middle-level C interface to LAPACK function sgesvdq | |||||
| * Author: Intel Corporation | |||||
| * Generated November 2015 | |||||
| *****************************************************************************/ | |||||
| #include "lapacke_utils.h" | |||||
| lapack_int LAPACKE_sgesvdq_work( int matrix_layout, char joba, char jobp, | |||||
| char jobr, char jobu, char jobv, | |||||
| lapack_int m, lapack_int n, float* a, | |||||
| lapack_int lda, float* s, float* u, lapack_int ldu, | |||||
| float* v, lapack_int ldv, lapack_int* numrank, | |||||
| lapack_int* iwork, lapack_int liwork, | |||||
| float* work, lapack_int lwork, | |||||
| float* rwork, lapack_int lrwork ) | |||||
| { | |||||
| lapack_int info = 0; | |||||
| if( matrix_layout == LAPACK_COL_MAJOR ) { | |||||
| /* Call LAPACK function and adjust info */ | |||||
| LAPACK_sgesvdq( &joba, &jobp, &jobr, &jobu, &jobv, &m, &n, a, &lda, s, u, &ldu, v, &ldv, | |||||
| numrank, iwork, &liwork, work, &lwork, rwork, &lrwork, &info ); | |||||
| if( info < 0 ) { | |||||
| info = info - 1; | |||||
| } | |||||
| } else if( matrix_layout == LAPACK_ROW_MAJOR ) { | |||||
| lapack_int nrows_u = ( LAPACKE_lsame( jobu, 'a' ) || | |||||
| LAPACKE_lsame( jobu, 's' ) ) ? m : 1; | |||||
| lapack_int ncols_u = LAPACKE_lsame( jobu, 'a' ) ? m : | |||||
| (LAPACKE_lsame( jobu, 's' ) ? MIN(m,n) : 1); | |||||
| lapack_int nrows_v = LAPACKE_lsame( jobv, 'a' ) ? n : 1; | |||||
| lapack_int lda_t = MAX(1,m); | |||||
| lapack_int ldu_t = MAX(1,nrows_u); | |||||
| lapack_int ldv_t = MAX(1,nrows_v); | |||||
| float* a_t = NULL; | |||||
| float* u_t = NULL; | |||||
| float* v_t = NULL; | |||||
| /* Check leading dimension(s) */ | |||||
| if( lda < n ) { | |||||
| info = -9; | |||||
| LAPACKE_xerbla( "LAPACKE_sgesvdq_work", info ); | |||||
| return info; | |||||
| } | |||||
| if( ldu < ncols_u ) { | |||||
| info = -12; | |||||
| LAPACKE_xerbla( "LAPACKE_sgesvdq_work", info ); | |||||
| return info; | |||||
| } | |||||
| if( ldv < n ) { | |||||
| info = -14; | |||||
| LAPACKE_xerbla( "LAPACKE_sgesvdq_work", info ); | |||||
| return info; | |||||
| } | |||||
| /* Query optimal working array(s) size if requested */ | |||||
| if( lwork == -1 ) { | |||||
| LAPACK_sgesvdq( &joba, &jobp, &jobr, &jobu, &jobv, &m, &n, a, &lda_t, | |||||
| s, u, &ldu_t, v, &ldv_t, numrank, iwork, &liwork, | |||||
| work, &lwork, rwork, &lrwork, &info ); | |||||
| return (info < 0) ? (info - 1) : info; | |||||
| } | |||||
| /* Allocate memory for temporary array(s) */ | |||||
| a_t = (float*)LAPACKE_malloc( sizeof(float) * lda_t * MAX(1,n) ); | |||||
| if( a_t == NULL ) { | |||||
| info = LAPACK_TRANSPOSE_MEMORY_ERROR; | |||||
| goto exit_level_0; | |||||
| } | |||||
| if( LAPACKE_lsame( jobu, 'a' ) || LAPACKE_lsame( jobu, 's' ) ) { | |||||
| u_t = (float*) | |||||
| LAPACKE_malloc( sizeof(float) * ldu_t * MAX(1,ncols_u) ); | |||||
| if( u_t == NULL ) { | |||||
| info = LAPACK_TRANSPOSE_MEMORY_ERROR; | |||||
| goto exit_level_1; | |||||
| } | |||||
| } | |||||
| if( LAPACKE_lsame( jobv, 'a' ) || LAPACKE_lsame( jobv, 's' ) ) { | |||||
| v_t = (float*) | |||||
| LAPACKE_malloc( sizeof(float) * ldv_t * MAX(1,n) ); | |||||
| if( v_t == NULL ) { | |||||
| info = LAPACK_TRANSPOSE_MEMORY_ERROR; | |||||
| goto exit_level_2; | |||||
| } | |||||
| } | |||||
| /* Transpose input matrices */ | |||||
| LAPACKE_sge_trans( matrix_layout, m, n, a, lda, a_t, lda_t ); | |||||
| /* Call LAPACK function and adjust info */ | |||||
| LAPACK_sgesvdq( &joba, &jobp, &jobr, &jobu, &jobv, &m, &n, a, &lda_t, | |||||
| s, u, &ldu_t, v, &ldv_t, numrank, iwork, &liwork, | |||||
| work, &lwork, rwork, &lrwork, &info ); | |||||
| if( info < 0 ) { | |||||
| info = info - 1; | |||||
| } | |||||
| /* Transpose output matrices */ | |||||
| LAPACKE_sge_trans( LAPACK_COL_MAJOR, m, n, a_t, lda_t, a, lda ); | |||||
| if( LAPACKE_lsame( jobu, 'a' ) || LAPACKE_lsame( jobu, 's' ) ) { | |||||
| LAPACKE_sge_trans( LAPACK_COL_MAJOR, nrows_u, ncols_u, u_t, ldu_t, | |||||
| u, ldu ); | |||||
| } | |||||
| if( LAPACKE_lsame( jobv, 'a' ) || LAPACKE_lsame( jobv, 's' ) ) { | |||||
| LAPACKE_sge_trans( LAPACK_COL_MAJOR, nrows_v, n, v_t, ldv_t, v, | |||||
| ldv ); | |||||
| } | |||||
| /* Release memory and exit */ | |||||
| if( LAPACKE_lsame( jobv, 'a' ) || LAPACKE_lsame( jobv, 's' ) ) { | |||||
| LAPACKE_free( v_t ); | |||||
| } | |||||
| exit_level_2: | |||||
| if( LAPACKE_lsame( jobu, 'a' ) || LAPACKE_lsame( jobu, 's' ) ) { | |||||
| LAPACKE_free( u_t ); | |||||
| } | |||||
| exit_level_1: | |||||
| LAPACKE_free( a_t ); | |||||
| exit_level_0: | |||||
| if( info == LAPACK_TRANSPOSE_MEMORY_ERROR ) { | |||||
| LAPACKE_xerbla( "LAPACKE_sgesvdq_work", info ); | |||||
| } | |||||
| } else { | |||||
| info = -1; | |||||
| LAPACKE_xerbla( "LAPACKE_sgesvdq_work", info ); | |||||
| } | |||||
| return info; | |||||
| } | |||||
| @@ -82,7 +82,7 @@ lapack_int LAPACKE_sggesx( int matrix_layout, char jobvsl, char jobvsr, | |||||
| if( info != 0 ) { | if( info != 0 ) { | ||||
| goto exit_level_1; | goto exit_level_1; | ||||
| } | } | ||||
| liwork = (lapack_int)iwork_query; | |||||
| liwork = iwork_query; | |||||
| lwork = (lapack_int)work_query; | lwork = (lapack_int)work_query; | ||||
| /* Allocate memory for work arrays */ | /* Allocate memory for work arrays */ | ||||
| iwork = (lapack_int*)LAPACKE_malloc( sizeof(lapack_int) * liwork ); | iwork = (lapack_int*)LAPACKE_malloc( sizeof(lapack_int) * liwork ); | ||||
| @@ -42,12 +42,10 @@ float LAPACKE_slantr_work( int matrix_layout, char norm, char uplo, | |||||
| if( matrix_layout == LAPACK_COL_MAJOR ) { | if( matrix_layout == LAPACK_COL_MAJOR ) { | ||||
| /* Call LAPACK function and adjust info */ | /* Call LAPACK function and adjust info */ | ||||
| res = LAPACK_slantr( &norm, &uplo, &diag, &m, &n, a, &lda, work ); | res = LAPACK_slantr( &norm, &uplo, &diag, &m, &n, a, &lda, work ); | ||||
| if( info < 0 ) { | |||||
| info = info - 1; | |||||
| } | |||||
| } else if( matrix_layout == LAPACK_ROW_MAJOR ) { | } else if( matrix_layout == LAPACK_ROW_MAJOR ) { | ||||
| lapack_int lda_t = MAX(1,m); | lapack_int lda_t = MAX(1,m); | ||||
| float* a_t = NULL; | float* a_t = NULL; | ||||
| float* work_lapack = NULL; | |||||
| /* Check leading dimension(s) */ | /* Check leading dimension(s) */ | ||||
| if( lda < n ) { | if( lda < n ) { | ||||
| info = -8; | info = -8; | ||||
| @@ -60,12 +58,23 @@ float LAPACKE_slantr_work( int matrix_layout, char norm, char uplo, | |||||
| info = LAPACK_TRANSPOSE_MEMORY_ERROR; | info = LAPACK_TRANSPOSE_MEMORY_ERROR; | ||||
| goto exit_level_0; | goto exit_level_0; | ||||
| } | } | ||||
| /* Allocate memory for work array(s) */ | |||||
| if( LAPACKE_lsame( norm, 'i' ) ) { | |||||
| work_lapack = (float*)LAPACKE_malloc( sizeof(float) * MAX(1,m) ); | |||||
| if( work_lapack == NULL ) { | |||||
| info = LAPACK_WORK_MEMORY_ERROR; | |||||
| goto exit_level_1; | |||||
| } | |||||
| } | |||||
| /* Transpose input matrices */ | /* Transpose input matrices */ | ||||
| LAPACKE_str_trans( matrix_layout, uplo, diag, MAX(m,n), a, lda, a_t, lda_t ); | LAPACKE_str_trans( matrix_layout, uplo, diag, MAX(m,n), a, lda, a_t, lda_t ); | ||||
| /* Call LAPACK function and adjust info */ | /* Call LAPACK function and adjust info */ | ||||
| res = LAPACK_slantr( &norm, &uplo, &diag, &m, &n, a_t, &lda_t, work ); | |||||
| info = 0; /* LAPACK call is ok! */ | |||||
| res = LAPACK_slantr( &norm, &uplo, &diag, &m, &n, a_t, &lda_t, work_lapack ); | |||||
| /* Release memory and exit */ | /* Release memory and exit */ | ||||
| if( work_lapack ) { | |||||
| LAPACKE_free( work_lapack ); | |||||
| } | |||||
| exit_level_1: | |||||
| LAPACKE_free( a_t ); | LAPACKE_free( a_t ); | ||||
| exit_level_0: | exit_level_0: | ||||
| if( info == LAPACK_TRANSPOSE_MEMORY_ERROR ) { | if( info == LAPACK_TRANSPOSE_MEMORY_ERROR ) { | ||||
| @@ -57,7 +57,7 @@ lapack_int LAPACKE_sormhr( int matrix_layout, char side, char trans, | |||||
| if( LAPACKE_sge_nancheck( matrix_layout, m, n, c, ldc ) ) { | if( LAPACKE_sge_nancheck( matrix_layout, m, n, c, ldc ) ) { | ||||
| return -11; | return -11; | ||||
| } | } | ||||
| if( LAPACKE_s_nancheck( m-1, tau, 1 ) ) { | |||||
| if( LAPACKE_s_nancheck( r-1, tau, 1 ) ) { | |||||
| return -10; | return -10; | ||||
| } | } | ||||
| } | } | ||||
| @@ -62,7 +62,7 @@ lapack_int LAPACKE_ssbevd( int matrix_layout, char jobz, char uplo, lapack_int n | |||||
| if( info != 0 ) { | if( info != 0 ) { | ||||
| goto exit_level_0; | goto exit_level_0; | ||||
| } | } | ||||
| liwork = (lapack_int)iwork_query; | |||||
| liwork = iwork_query; | |||||
| lwork = (lapack_int)work_query; | lwork = (lapack_int)work_query; | ||||
| /* Allocate memory for work arrays */ | /* Allocate memory for work arrays */ | ||||
| iwork = (lapack_int*)LAPACKE_malloc( sizeof(lapack_int) * liwork ); | iwork = (lapack_int*)LAPACKE_malloc( sizeof(lapack_int) * liwork ); | ||||
| @@ -62,7 +62,7 @@ lapack_int LAPACKE_ssbevd_2stage( int matrix_layout, char jobz, char uplo, lapac | |||||
| if( info != 0 ) { | if( info != 0 ) { | ||||
| goto exit_level_0; | goto exit_level_0; | ||||
| } | } | ||||
| liwork = (lapack_int)iwork_query; | |||||
| liwork = iwork_query; | |||||
| lwork = (lapack_int)work_query; | lwork = (lapack_int)work_query; | ||||
| /* Allocate memory for work arrays */ | /* Allocate memory for work arrays */ | ||||
| iwork = (lapack_int*)LAPACKE_malloc( sizeof(lapack_int) * liwork ); | iwork = (lapack_int*)LAPACKE_malloc( sizeof(lapack_int) * liwork ); | ||||
| @@ -67,7 +67,7 @@ lapack_int LAPACKE_ssbgvd( int matrix_layout, char jobz, char uplo, lapack_int n | |||||
| if( info != 0 ) { | if( info != 0 ) { | ||||
| goto exit_level_0; | goto exit_level_0; | ||||
| } | } | ||||
| liwork = (lapack_int)iwork_query; | |||||
| liwork = iwork_query; | |||||
| lwork = (lapack_int)work_query; | lwork = (lapack_int)work_query; | ||||
| /* Allocate memory for work arrays */ | /* Allocate memory for work arrays */ | ||||
| iwork = (lapack_int*)LAPACKE_malloc( sizeof(lapack_int) * liwork ); | iwork = (lapack_int*)LAPACKE_malloc( sizeof(lapack_int) * liwork ); | ||||
| @@ -61,7 +61,7 @@ lapack_int LAPACKE_sspevd( int matrix_layout, char jobz, char uplo, lapack_int n | |||||
| if( info != 0 ) { | if( info != 0 ) { | ||||
| goto exit_level_0; | goto exit_level_0; | ||||
| } | } | ||||
| liwork = (lapack_int)iwork_query; | |||||
| liwork = iwork_query; | |||||
| lwork = (lapack_int)work_query; | lwork = (lapack_int)work_query; | ||||
| /* Allocate memory for work arrays */ | /* Allocate memory for work arrays */ | ||||
| iwork = (lapack_int*)LAPACKE_malloc( sizeof(lapack_int) * liwork ); | iwork = (lapack_int*)LAPACKE_malloc( sizeof(lapack_int) * liwork ); | ||||
| @@ -66,7 +66,7 @@ lapack_int LAPACKE_sspgvd( int matrix_layout, lapack_int itype, char jobz, | |||||
| if( info != 0 ) { | if( info != 0 ) { | ||||
| goto exit_level_0; | goto exit_level_0; | ||||
| } | } | ||||
| liwork = (lapack_int)iwork_query; | |||||
| liwork = iwork_query; | |||||
| lwork = (lapack_int)work_query; | lwork = (lapack_int)work_query; | ||||
| /* Allocate memory for work arrays */ | /* Allocate memory for work arrays */ | ||||
| iwork = (lapack_int*)LAPACKE_malloc( sizeof(lapack_int) * liwork ); | iwork = (lapack_int*)LAPACKE_malloc( sizeof(lapack_int) * liwork ); | ||||
| @@ -69,7 +69,7 @@ lapack_int LAPACKE_sstedc( int matrix_layout, char compz, lapack_int n, float* d | |||||
| if( info != 0 ) { | if( info != 0 ) { | ||||
| goto exit_level_0; | goto exit_level_0; | ||||
| } | } | ||||
| liwork = (lapack_int)iwork_query; | |||||
| liwork = iwork_query; | |||||
| lwork = (lapack_int)work_query; | lwork = (lapack_int)work_query; | ||||
| /* Allocate memory for work arrays */ | /* Allocate memory for work arrays */ | ||||
| iwork = (lapack_int*)LAPACKE_malloc( sizeof(lapack_int) * liwork ); | iwork = (lapack_int*)LAPACKE_malloc( sizeof(lapack_int) * liwork ); | ||||
| @@ -81,7 +81,7 @@ lapack_int LAPACKE_sstegr( int matrix_layout, char jobz, char range, | |||||
| if( info != 0 ) { | if( info != 0 ) { | ||||
| goto exit_level_0; | goto exit_level_0; | ||||
| } | } | ||||
| liwork = (lapack_int)iwork_query; | |||||
| liwork = iwork_query; | |||||
| lwork = (lapack_int)work_query; | lwork = (lapack_int)work_query; | ||||
| /* Allocate memory for work arrays */ | /* Allocate memory for work arrays */ | ||||
| iwork = (lapack_int*)LAPACKE_malloc( sizeof(lapack_int) * liwork ); | iwork = (lapack_int*)LAPACKE_malloc( sizeof(lapack_int) * liwork ); | ||||
| @@ -74,7 +74,7 @@ lapack_int LAPACKE_sstemr( int matrix_layout, char jobz, char range, | |||||
| if( info != 0 ) { | if( info != 0 ) { | ||||
| goto exit_level_0; | goto exit_level_0; | ||||
| } | } | ||||
| liwork = (lapack_int)iwork_query; | |||||
| liwork = iwork_query; | |||||
| lwork = (lapack_int)work_query; | lwork = (lapack_int)work_query; | ||||
| /* Allocate memory for work arrays */ | /* Allocate memory for work arrays */ | ||||
| iwork = (lapack_int*)LAPACKE_malloc( sizeof(lapack_int) * liwork ); | iwork = (lapack_int*)LAPACKE_malloc( sizeof(lapack_int) * liwork ); | ||||