Skip to content

Commit 6a979e3

Browse files
Merge branch 'master' into makes-cmake-independent-from-Fortran
2 parents f8f6e31 + 971b058 commit 6a979e3

File tree

551 files changed

+2951
-2119
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

551 files changed

+2951
-2119
lines changed

.appveyor.yml

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ skip_commits:
1414
environment:
1515
global:
1616
CONDA_INSTALL_LOCN: C:\\Miniconda37-x64
17+
CTEST_OUTPUT_ON_FAILURE: 1
1718

1819
install:
1920
- call %CONDA_INSTALL_LOCN%\Scripts\activate.bat

.github/SECURITY.md

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Security Policy
2+
3+
## Supported Versions
4+
5+
Security updates are applied only to the latest release.
6+
7+
## Reporting a Vulnerability
8+
9+
If you have discovered a security vulnerability in this project, please report it privately. **Do not disclose it as a public issue.** This gives us time to work with you to fix the issue before public exposure, reducing the chance that the exploit will be used before a patch is released.
10+
11+
Please disclose it at [security advisory](https://github.com/Reference-LAPACK/lapack/security/advisories/new).
12+
13+
This project is maintained by a team of volunteers on a reasonable-effort basis. As such, please give us at least 90 days to work on a fix before public exposure.

.github/workflows/cmake.yml

+5-2
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ on:
3333
- '!**Makefile'
3434
- '!**md'
3535

36+
permissions:
37+
contents: read
38+
3639
env:
3740
CFLAGS: "-Wall -pedantic"
3841
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
@@ -67,7 +70,7 @@ jobs:
6770
steps:
6871

6972
- name: Checkout LAPACK
70-
uses: actions/checkout@v2
73+
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
7174

7275
- name: Use GCC-11 on MacOS
7376
if: ${{ matrix.os == 'macos-latest' }}
@@ -131,7 +134,7 @@ jobs:
131134
steps:
132135

133136
- name: Checkout LAPACK
134-
uses: actions/checkout@v2
137+
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
135138

136139
- name: Configure CMake
137140
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.

.github/workflows/makefile.yml

+5-2
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,9 @@ on:
3131
- '!**CMakeLists.txt'
3232
- '!**md'
3333

34+
permissions:
35+
contents: read
36+
3437
env:
3538
CC: "gcc"
3639
FC: "gfortran"
@@ -52,7 +55,7 @@ jobs:
5255
runs-on: ubuntu-latest
5356
steps:
5457
- name: Checkout LAPACK
55-
uses: actions/checkout@v2
58+
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
5659
- name: Set configurations
5760
run: |
5861
echo "SHELL = /bin/sh" >> make.inc
@@ -73,7 +76,7 @@ jobs:
7376
runs-on: macos-latest
7477
steps:
7578
- name: Checkout LAPACK
76-
uses: actions/checkout@v2
79+
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
7780
- name: Set configurations
7881
run: |
7982
echo "SHELL = /bin/sh" >> make.inc

CMAKE/CheckFortranTypeSizes.cmake

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# This module perdorms several try-compiles to determine the default integer
1+
# This module performs several try-compiles to determine the default integer
22
# size being used by the fortran compiler
33
#
44
# After execution, the following variables are set. If they are un set then

CMAKE/Findcodecov.cmake

+2-2
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ function(add_coverage TNAME)
3636
endfunction()
3737

3838

39-
# Find the reuired flags foreach language.
39+
# Find the required flags foreach language.
4040
set(CMAKE_REQUIRED_QUIET_SAVE ${CMAKE_REQUIRED_QUIET})
4141
set(CMAKE_REQUIRED_QUIET ${codecov_FIND_QUIETLY})
4242

@@ -118,7 +118,7 @@ function (codecov_path_of_source FILE RETURN_VAR)
118118

119119
# If expression was found, SOURCEFILE is a generator-expression for an
120120
# object library. Currently we found no way to call this function automatic
121-
# for the referenced target, so it must be called in the directoryso of the
121+
# for the referenced target, so it must be called in the directory of the
122122
# object library definition.
123123
if(NOT "${_source}" STREQUAL "")
124124
set(${RETURN_VAR} "" PARENT_SCOPE)

CMakeLists.txt

+13-9
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@ set(
1010
${LAPACK_MAJOR_VERSION}.${LAPACK_MINOR_VERSION}.${LAPACK_PATCH_VERSION}
1111
)
1212

13+
# Allow setting a prefix for the library names
14+
set(CMAKE_STATIC_LIBRARY_PREFIX "lib${LIBRARY_PREFIX}")
15+
set(CMAKE_SHARED_LIBRARY_PREFIX "lib${LIBRARY_PREFIX}")
16+
1317
# Add the CMake directory for custom CMake modules
1418
set(CMAKE_MODULE_PATH "${LAPACK_SOURCE_DIR}/CMAKE" ${CMAKE_MODULE_PATH})
1519

@@ -42,7 +46,7 @@ if(_is_coverage_build)
4246
endif()
4347

4448
# By default test Fortran compiler complex abs and complex division
45-
option(TEST_FORTRAN_COMPILER "Test Fortran compiler complex abs and complex division" ON)
49+
option(TEST_FORTRAN_COMPILER "Test Fortran compiler complex abs and complex division" OFF)
4650
if( TEST_FORTRAN_COMPILER )
4751

4852
add_executable( test_zcomplexabs ${LAPACK_SOURCE_DIR}/INSTALL/test_zcomplexabs.f )
@@ -72,7 +76,7 @@ if( TEST_FORTRAN_COMPILER )
7276
WORKING_DIRECTORY ${LAPACK_BINARY_DIR}/INSTALL
7377
COMMENT "Running test_zminMax in ${LAPACK_BINARY_DIR}/INSTALL with stderr: test_zminMax.err"
7478
SOURCES ${LAPACK_SOURCE_DIR}/INSTALL/test_zminMax.f )
75-
79+
7680
endif()
7781

7882
# By default static library
@@ -394,8 +398,8 @@ if (BLAS++)
394398
ExternalProject_Add(blaspp
395399
URL https://bitbucket.org/icl/blaspp/downloads/blaspp-2020.10.02.tar.gz
396400
CONFIGURE_COMMAND ${CMAKE_COMMAND} -E env LIBRARY_PATH=$ENV{LIBRARY_PATH}:${CMAKE_BINARY_DIR}/lib LD_LIBRARY_PATH=$ENV{LD_LIBRARY_PATH}:${PROJECT_BINARY_DIR}/lib ${CMAKE_COMMAND} -DCMAKE_INSTALL_PREFIX=${PROJECT_BINARY_DIR} -DCMAKE_INSTALL_LIBDIR=lib -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} ${PROJECT_BINARY_DIR}/blaspp-prefix/src/blaspp
397-
BUILD_COMMAND ${CMAKE_COMMAND} -E env LIBRARY_PATH=$ENV{LIBRARY_PATH}:${PROJECT_BINARY_DIR}/lib LIB_SUFFIX="" make
398-
INSTALL_COMMAND make PREFIX=${PROJECT_BINARY_DIR} LIB_SUFFIX="" install
401+
BUILD_COMMAND ${CMAKE_COMMAND} -E env LIBRARY_PATH=$ENV{LIBRARY_PATH}:${PROJECT_BINARY_DIR}/lib LIB_SUFFIX="" ${CMAKE_COMMAND} --build .
402+
INSTALL_COMMAND ${CMAKE_COMMAND} -E env PREFIX=${PROJECT_BINARY_DIR} LIB_SUFFIX="" ${CMAKE_COMMAND} --install .
399403
)
400404
ExternalProject_Add_StepDependencies(blaspp build ${BLAS_LIBRARIES})
401405
endif()
@@ -407,16 +411,16 @@ if (LAPACK++)
407411
ExternalProject_Add(lapackpp
408412
URL https://bitbucket.org/icl/lapackpp/downloads/lapackpp-2020.10.02.tar.gz
409413
CONFIGURE_COMMAND ${CMAKE_COMMAND} -E env LIBRARY_PATH=$ENV{LIBRARY_PATH}:${CMAKE_BINARY_DIR}/lib LD_LIBRARY_PATH=$ENV{LD_LIBRARY_PATH}:${PROJECT_BINARY_DIR}/lib ${CMAKE_COMMAND} -DCMAKE_INSTALL_PREFIX=${PROJECT_BINARY_DIR} -DCMAKE_INSTALL_LIBDIR=lib -DLAPACK_LIBRARIES=${LAPACK_LIBRARIES} -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} ${PROJECT_BINARY_DIR}/lapackpp-prefix/src/lapackpp
410-
BUILD_COMMAND ${CMAKE_COMMAND} -E env LIBRARY_PATH=$ENV{LIBRARY_PATH}:${PROJECT_BINARY_DIR}/lib LIB_SUFFIX="" make
411-
INSTALL_COMMAND make PREFIX=${PROJECT_BINARY_DIR} LIB_SUFFIX="" install
414+
BUILD_COMMAND ${CMAKE_COMMAND} -E env LIBRARY_PATH=$ENV{LIBRARY_PATH}:${PROJECT_BINARY_DIR}/lib LIB_SUFFIX="" ${CMAKE_COMMAND} --build .
415+
INSTALL_COMMAND ${CMAKE_COMMAND} -E env PREFIX=${PROJECT_BINARY_DIR} LIB_SUFFIX="" ${CMAKE_COMMAND} --install .
412416
)
413417
else ()
414418
# FIXME this does not really work as the libraries list gets converted to a semicolon-separated list somewhere in the lapack++ build files
415419
ExternalProject_Add(lapackpp
416420
URL https://bitbucket.org/icl/lapackpp/downloads/lapackpp-2020.10.02.tar.gz
417421
CONFIGURE_COMMAND env LIBRARY_PATH=$ENV{LIBRARY_PATH}:${CMAKE_BINARY_DIR}/lib LD_LIBRARY_PATH=$ENV{LD_LIBRARY_PATH}:${PROJECT_BINARY_DIR}/lib ${CMAKE_COMMAND} -DCMAKE_INSTALL_PREFIX=${PROJECT_BINARY_DIR} -DCMAKE_INSTALL_LIBDIR=lib -DLAPACK_LIBRARIES="${PROJECT_BINARY_DIR}/lib/liblapack.a -lgfortran" -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} ${PROJECT_BINARY_DIR}/lapackpp-prefix/src/lapackpp
418-
BUILD_COMMAND env LIBRARY_PATH=$ENV{LIBRARY_PATH}:${PROJECT_BINARY_DIR}/lib LIB_SUFFIX="" make
419-
INSTALL_COMMAND make PREFIX=${PROJECT_BINARY_DIR} LIB_SUFFIX="" install
422+
BUILD_COMMAND env LIBRARY_PATH=$ENV{LIBRARY_PATH}:${PROJECT_BINARY_DIR}/lib LIB_SUFFIX="" ${CMAKE_COMMAND} --build .
423+
INSTALL_COMMAND ${CMAKE_COMMAND} -E env PREFIX=${PROJECT_BINARY_DIR} LIB_SUFFIX="" ${CMAKE_COMMAND} --install .
420424
)
421425
endif()
422426
ExternalProject_Add_StepDependencies(lapackpp build blaspp ${BLAS_LIBRARIES} ${LAPACK_LIBRARIES})
@@ -436,7 +440,7 @@ set(CPACK_MONOLITHIC_INSTALL ON)
436440
set(CPACK_PACKAGE_INSTALL_DIRECTORY "LAPACK")
437441
if(WIN32 AND NOT UNIX)
438442
# There is a bug in NSI that does not handle full unix paths properly. Make
439-
# sure there is at least one set of four (4) backlasshes.
443+
# sure there is at least one set of four (4) backslashes.
440444
set(CPACK_NSIS_HELP_LINK "http:\\\\\\\\http://icl.cs.utk.edu/lapack-forum")
441445
set(CPACK_NSIS_URL_INFO_ABOUT "http:\\\\\\\\www.netlib.org/lapack")
442446
set(CPACK_NSIS_CONTACT "[email protected]")

DOCS/lawn81.tex

+1-1
Original file line numberDiff line numberDiff line change
@@ -575,7 +575,7 @@ \subsection{Test and Install the Machine-Dependent Routines.}
575575
package, at least three of which must be installed. They are
576576

577577
\begin{tabbing}
578-
MONOMO \= DOUBLE PRECYSION \= \kill
578+
MONOMO \= DOUBLE PRECISION \= \kill
579579
LSAME \> LOGICAL \> Test if two characters are the same regardless of case \\
580580
SLAMCH \> REAL \> Determine machine-dependent parameters \\
581581
DLAMCH \> DOUBLE PRECISION \> Determine machine-dependent parameters \\

LAPACKE/include/lapack.h

+32
Original file line numberDiff line numberDiff line change
@@ -11513,6 +11513,22 @@ void LAPACK_sorgtsqr_row(
1151311513
float* work, lapack_int const* lwork,
1151411514
lapack_int* info );
1151511515

11516+
#define LAPACK_dorhr_col LAPACK_GLOBAL(dorhr_col,DORHR_COL)
11517+
void LAPACK_dorhr_col(
11518+
lapack_int const* m, lapack_int const* n,
11519+
lapack_int const* nb, double* A,
11520+
lapack_int const* lda, double* T,
11521+
lapack_int const* ldt, double* D,
11522+
lapack_int* info );
11523+
11524+
#define LAPACK_sorhr_col LAPACK_GLOBAL(sorhr_col,SORHR_COL)
11525+
void LAPACK_sorhr_col(
11526+
lapack_int const* m, lapack_int const* n,
11527+
lapack_int const* nb, float* A,
11528+
lapack_int const* lda, float* T,
11529+
lapack_int const* ldt, float* D,
11530+
lapack_int* info );
11531+
1151611532
#define LAPACK_dormbr_base LAPACK_GLOBAL(dormbr,DORMBR)
1151711533
void LAPACK_dormbr_base(
1151811534
char const* vect, char const* side, char const* trans,
@@ -22704,6 +22720,22 @@ void LAPACK_zungtsqr_row(
2270422720
lapack_complex_double* work, lapack_int const* lwork,
2270522721
lapack_int* info );
2270622722

22723+
#define LAPACK_cunhr_col LAPACK_GLOBAL(cunhr_col,CUNHR_COL)
22724+
void LAPACK_cunhr_col(
22725+
lapack_int const* m, lapack_int const* n,
22726+
lapack_int const* nb, lapack_complex_float* A,
22727+
lapack_int const* lda, lapack_complex_float* T,
22728+
lapack_int const* ldt, lapack_complex_float* D,
22729+
lapack_int* info );
22730+
22731+
#define LAPACK_zunhr_col LAPACK_GLOBAL(zunhr_col,ZUNHR_COL)
22732+
void LAPACK_zunhr_col(
22733+
lapack_int const* m, lapack_int const* n,
22734+
lapack_int const* nb, lapack_complex_double* A,
22735+
lapack_int const* lda, lapack_complex_double* T,
22736+
lapack_int const* ldt, lapack_complex_double* D,
22737+
lapack_int* info );
22738+
2270722739
#define LAPACK_cunmbr_base LAPACK_GLOBAL(cunmbr,CUNMBR)
2270822740
void LAPACK_cunmbr_base(
2270922741
char const* vect, char const* side, char const* trans,

LAPACKE/include/lapacke.h

+35-1
Original file line numberDiff line numberDiff line change
@@ -12727,7 +12727,41 @@ lapack_int LAPACKE_zhetrs_aa_2stage_work( int matrix_layout, char uplo, lapack_i
1272712727
lapack_int lda, lapack_complex_double* tb,
1272812728
lapack_int ltb, lapack_int* ipiv, lapack_int* ipiv2,
1272912729
lapack_complex_double* b, lapack_int ldb );
12730-
12730+
12731+
//LAPACK 3.10.0
12732+
lapack_int LAPACKE_sorhr_col( int matrix_layout, lapack_int m, lapack_int n,
12733+
lapack_int nb, float* a,
12734+
lapack_int lda, float* t,
12735+
lapack_int ldt, float* d );
12736+
lapack_int LAPACKE_sorhr_col_work( int matrix_layout, lapack_int m, lapack_int n,
12737+
lapack_int nb, float* a,
12738+
lapack_int lda, float* t,
12739+
lapack_int ldt, float* d );
12740+
lapack_int LAPACKE_dorhr_col( int matrix_layout, lapack_int m, lapack_int n,
12741+
lapack_int nb, double* a,
12742+
lapack_int lda, double* t,
12743+
lapack_int ldt, double* d );
12744+
lapack_int LAPACKE_dorhr_col_work( int matrix_layout, lapack_int m, lapack_int n,
12745+
lapack_int nb, double* a,
12746+
lapack_int lda, double* t,
12747+
lapack_int ldt, double* d );
12748+
lapack_int LAPACKE_cunhr_col( int matrix_layout, lapack_int m, lapack_int n,
12749+
lapack_int nb, lapack_complex_float* a,
12750+
lapack_int lda, lapack_complex_float* t,
12751+
lapack_int ldt, lapack_complex_float* d );
12752+
lapack_int LAPACKE_cunhr_col_work( int matrix_layout, lapack_int m, lapack_int n,
12753+
lapack_int nb, lapack_complex_float* a,
12754+
lapack_int lda, lapack_complex_float* t,
12755+
lapack_int ldt, lapack_complex_float* d );
12756+
lapack_int LAPACKE_zunhr_col( int matrix_layout, lapack_int m, lapack_int n,
12757+
lapack_int nb, lapack_complex_double* a,
12758+
lapack_int lda, lapack_complex_double* t,
12759+
lapack_int ldt, lapack_complex_double* d );
12760+
lapack_int LAPACKE_zunhr_col_work( int matrix_layout, lapack_int m, lapack_int n,
12761+
lapack_int nb, lapack_complex_double* a,
12762+
lapack_int lda, lapack_complex_double* t,
12763+
lapack_int ldt, lapack_complex_double* d );
12764+
1273112765
/* APIs for set/get nancheck flags */
1273212766
void LAPACKE_set_nancheck( int flag );
1273312767
int LAPACKE_get_nancheck( void );

LAPACKE/src/CMakeLists.txt

+8
Original file line numberDiff line numberDiff line change
@@ -593,6 +593,8 @@ lapacke_cungtr.c
593593
lapacke_cungtr_work.c
594594
lapacke_cungtsqr_row.c
595595
lapacke_cungtsqr_row_work.c
596+
lapacke_cunhr_col.c
597+
lapacke_cunhr_col_work.c
596598
lapacke_cunmbr.c
597599
lapacke_cunmbr_work.c
598600
lapacke_cunmhr.c
@@ -863,6 +865,8 @@ lapacke_dorgtr.c
863865
lapacke_dorgtr_work.c
864866
lapacke_dorgtsqr_row.c
865867
lapacke_dorgtsqr_row_work.c
868+
lapacke_dorhr_col.c
869+
lapacke_dorhr_col_work.c
866870
lapacke_dormbr.c
867871
lapacke_dormbr_work.c
868872
lapacke_dormhr.c
@@ -1442,6 +1446,8 @@ lapacke_sorgtr.c
14421446
lapacke_sorgtr_work.c
14431447
lapacke_sorgtsqr_row.c
14441448
lapacke_sorgtsqr_row_work.c
1449+
lapacke_sorhr_col.c
1450+
lapacke_sorhr_col_work.c
14451451
lapacke_sormbr.c
14461452
lapacke_sormbr_work.c
14471453
lapacke_sormhr.c
@@ -2362,6 +2368,8 @@ lapacke_zungtr.c
23622368
lapacke_zungtr_work.c
23632369
lapacke_zungtsqr_row.c
23642370
lapacke_zungtsqr_row_work.c
2371+
lapacke_zunhr_col.c
2372+
lapacke_zunhr_col_work.c
23652373
lapacke_zunmbr.c
23662374
lapacke_zunmbr_work.c
23672375
lapacke_zunmhr.c

LAPACKE/src/Makefile

+8
Original file line numberDiff line numberDiff line change
@@ -640,6 +640,8 @@ lapacke_cungtr.o \
640640
lapacke_cungtr_work.o \
641641
lapacke_cungtsqr_row.o \
642642
lapacke_cungtsqr_row_work.o \
643+
lapacke_cunhr_col.o \
644+
lapacke_cunhr_col_work.o \
643645
lapacke_cunmbr.o \
644646
lapacke_cunmbr_work.o \
645647
lapacke_cunmhr.o \
@@ -910,6 +912,8 @@ lapacke_dorgtr.o \
910912
lapacke_dorgtr_work.o \
911913
lapacke_dorgtsqr_row.o \
912914
lapacke_dorgtsqr_row_work.o \
915+
lapacke_dorhr_col.o \
916+
lapacke_dorhr_col_work.o \
913917
lapacke_dormbr.o \
914918
lapacke_dormbr_work.o \
915919
lapacke_dormhr.o \
@@ -1484,6 +1488,8 @@ lapacke_sorgtr.o \
14841488
lapacke_sorgtr_work.o \
14851489
lapacke_sorgtsqr_row.o \
14861490
lapacke_sorgtsqr_row_work.o \
1491+
lapacke_sorhr_col.o \
1492+
lapacke_sorhr_col_work.o \
14871493
lapacke_sormbr.o \
14881494
lapacke_sormbr_work.o \
14891495
lapacke_sormhr.o \
@@ -2404,6 +2410,8 @@ lapacke_zungtr.o \
24042410
lapacke_zungtr_work.o \
24052411
lapacke_zungtsqr_row.o \
24062412
lapacke_zungtsqr_row_work.o \
2413+
lapacke_zunhr_col.o \
2414+
lapacke_zunhr_col_work.o \
24072415
lapacke_zunmbr.o \
24082416
lapacke_zunmbr_work.o \
24092417
lapacke_zunmhr.o \

LAPACKE/src/lapacke_cgeqrt_work.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ lapack_int LAPACKE_cgeqrt_work( int matrix_layout, lapack_int m, lapack_int n,
8383
}
8484
/* Transpose output matrices */
8585
LAPACKE_cge_trans( LAPACK_COL_MAJOR, m, n, a_t, lda_t, a, lda );
86-
LAPACKE_cge_trans( LAPACK_COL_MAJOR, ldt, MIN(m,n), t_t, ldt_t, t,
86+
LAPACKE_cge_trans( LAPACK_COL_MAJOR, nb, MIN(m,n), t_t, ldt_t, t,
8787
ldt );
8888
/* Release memory and exit */
8989
LAPACKE_free( t_t );

LAPACKE/src/lapacke_cunhr_col.c

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#include "lapacke_utils.h"
2+
3+
lapack_int LAPACKE_cunhr_col( int matrix_layout, lapack_int m, lapack_int n,
4+
lapack_int nb, lapack_complex_float* a,
5+
lapack_int lda, lapack_complex_float* t,
6+
lapack_int ldt, lapack_complex_float* d)
7+
{
8+
lapack_int info = 0;
9+
if( matrix_layout != LAPACK_COL_MAJOR && matrix_layout != LAPACK_ROW_MAJOR ) {
10+
LAPACKE_xerbla( "LAPACKE_cunhr_col", -1 );
11+
return -1;
12+
}
13+
#ifndef LAPACK_DISABLE_NAN_CHECK
14+
if( LAPACKE_get_nancheck() ) {
15+
/* Optionally check input matrices for NaNs */
16+
if( LAPACKE_cge_nancheck( matrix_layout, m, n, a, lda ) ) {
17+
return -5;
18+
}
19+
}
20+
#endif
21+
/* Call middle-level interface */
22+
info = LAPACKE_cunhr_col_work( matrix_layout, m, n, nb, a, lda, t, ldt, d );
23+
return info;
24+
}

0 commit comments

Comments
 (0)