Fix #115
authorJulien Langou <julien.langou@ucdenver.edu>
Thu, 9 Feb 2017 14:03:38 +0000 (15:03 +0100)
committerJulien Langou <julien.langou@ucdenver.edu>
Thu, 9 Feb 2017 14:03:38 +0000 (15:03 +0100)
LAPACKE/include/lapacke.h
LAPACKE/src/CMakeLists.txt
LAPACKE/src/Makefile
LAPACKE/src/lapacke_classq.c [new file with mode: 0644]
LAPACKE/src/lapacke_classq_work.c [new file with mode: 0644]
LAPACKE/src/lapacke_dlassq.c [new file with mode: 0644]
LAPACKE/src/lapacke_dlassq_work.c [new file with mode: 0644]
LAPACKE/src/lapacke_slassq.c [new file with mode: 0644]
LAPACKE/src/lapacke_slassq_work.c [new file with mode: 0644]
LAPACKE/src/lapacke_zlassq.c [new file with mode: 0644]
LAPACKE/src/lapacke_zlassq_work.c [new file with mode: 0644]

index c3afa20..59d54d0 100644 (file)
@@ -2533,6 +2533,11 @@ lapack_int LAPACKE_zlaset( int matrix_layout, char uplo, lapack_int m,
 lapack_int LAPACKE_slasrt( char id, lapack_int n, float* d );
 lapack_int LAPACKE_dlasrt( char id, lapack_int n, double* d );
 
+lapack_int LAPACKE_slassq( lapack_int n,                 float* x, lapack_int incx,  float* scale,  float* sumsq );
+lapack_int LAPACKE_dlassq( lapack_int n,                double* x, lapack_int incx, double* scale, double* sumsq );
+lapack_int LAPACKE_classq( lapack_int n,  lapack_complex_float* x, lapack_int incx,  float* scale,  float* sumsq );
+lapack_int LAPACKE_zlassq( lapack_int n, lapack_complex_double* x, lapack_int incx, double* scale, double* sumsq );
+
 lapack_int LAPACKE_slaswp( int matrix_layout, lapack_int n, float* a,
                            lapack_int lda, lapack_int k1, lapack_int k2,
                            const lapack_int* ipiv, lapack_int incx );
@@ -7729,6 +7734,11 @@ lapack_int LAPACKE_zlaset_work( int matrix_layout, char uplo, lapack_int m,
 lapack_int LAPACKE_slasrt_work( char id, lapack_int n, float* d );
 lapack_int LAPACKE_dlasrt_work( char id, lapack_int n, double* d );
 
+lapack_int LAPACKE_slassq_work( lapack_int n,                 float* x, lapack_int incx,  float* scale,  float* sumsq );
+lapack_int LAPACKE_dlassq_work( lapack_int n,                double* x, lapack_int incx, double* scale, double* sumsq );
+lapack_int LAPACKE_classq_work( lapack_int n,  lapack_complex_float* x, lapack_int incx,  float* scale,  float* sumsq );
+lapack_int LAPACKE_zlassq_work( lapack_int n, lapack_complex_double* x, lapack_int incx, double* scale, double* sumsq );
+
 lapack_int LAPACKE_slaswp_work( int matrix_layout, lapack_int n, float* a,
                                 lapack_int lda, lapack_int k1, lapack_int k2,
                                 const lapack_int* ipiv, lapack_int incx );
@@ -13359,6 +13369,10 @@ lapack_int LAPACKE_zhegv_2stage_work( int matrix_layout, lapack_int itype, char
 #define LAPACK_dlarfg LAPACK_GLOBAL(dlarfg,DLARFG)
 #define LAPACK_clarfg LAPACK_GLOBAL(clarfg,CLARFG)
 #define LAPACK_zlarfg LAPACK_GLOBAL(zlarfg,ZLARFG)
+#define LAPACK_slassq LAPACK_GLOBAL(slassq,SLASSQ)
+#define LAPACK_dlassq LAPACK_GLOBAL(dlassq,DLASSQ)
+#define LAPACK_classq LAPACK_GLOBAL(classq,CLASSQ)
+#define LAPACK_zlassq LAPACK_GLOBAL(zlassq,ZLASSQ)
 #define LAPACK_slarft LAPACK_GLOBAL(slarft,SLARFT)
 #define LAPACK_dlarft LAPACK_GLOBAL(dlarft,DLARFT)
 #define LAPACK_clarft LAPACK_GLOBAL(clarft,CLARFT)
@@ -17943,6 +17957,10 @@ void LAPACK_clarfg( lapack_int* n, lapack_complex_float* alpha,
 void LAPACK_zlarfg( lapack_int* n, lapack_complex_double* alpha,
                     lapack_complex_double* x, lapack_int* incx,
                     lapack_complex_double* tau );
+void LAPACK_slassq( lapack_int *n,                 float* x, lapack_int *incx,  float* scale,  float* sumsq );
+void LAPACK_dlassq( lapack_int *n,                double* x, lapack_int *incx, double* scale, double* sumsq );
+void LAPACK_classq( lapack_int *n,  lapack_complex_float* x, lapack_int *incx,  float* scale,  float* sumsq );
+void LAPACK_zlassq( lapack_int *n, lapack_complex_double* x, lapack_int *incx, double* scale, double* sumsq );
 void LAPACK_slarft( char* direct, char* storev, lapack_int* n, lapack_int* k,
                     const float* v, lapack_int* ldv, const float* tau, float* t,
                     lapack_int* ldt );
index 846d52a..ea03aa2 100644 (file)
@@ -323,6 +323,8 @@ lapacke_clascl.c
 lapacke_clascl_work.c
 lapacke_claset.c
 lapacke_claset_work.c
+lapacke_classq.c
+lapacke_classq_work.c
 lapacke_claswp.c
 lapacke_claswp_work.c
 lapacke_clauum.c
@@ -793,6 +795,8 @@ lapacke_dlaset.c
 lapacke_dlaset_work.c
 lapacke_dlasrt.c
 lapacke_dlasrt_work.c
+lapacke_dlassq.c
+lapacke_dlassq_work.c
 lapacke_dlaswp.c
 lapacke_dlaswp_work.c
 lapacke_dlauum.c
@@ -1347,6 +1351,8 @@ lapacke_slaset.c
 lapacke_slaset_work.c
 lapacke_slasrt.c
 lapacke_slasrt_work.c
+lapacke_slassq.c
+lapacke_slassq_work.c
 lapacke_slaswp.c
 lapacke_slaswp_work.c
 lapacke_slauum.c
@@ -2009,6 +2015,8 @@ lapacke_zlascl.c
 lapacke_zlascl_work.c
 lapacke_zlaset.c
 lapacke_zlaset_work.c
+lapacke_zlassq.c
+lapacke_zlassq_work.c
 lapacke_zlaswp.c
 lapacke_zlaswp_work.c
 lapacke_zlauum.c
index 8297546..f31c280 100644 (file)
@@ -362,6 +362,8 @@ lapacke_clascl.o \
 lapacke_clascl_work.o \
 lapacke_claset.o \
 lapacke_claset_work.o \
+lapacke_classq.o \
+lapacke_classq_work.o \
 lapacke_claswp.o \
 lapacke_claswp_work.o \
 lapacke_clauum.o \
@@ -832,6 +834,8 @@ lapacke_dlaset.o \
 lapacke_dlaset_work.o \
 lapacke_dlasrt.o \
 lapacke_dlasrt_work.o \
+lapacke_dlassq.o \
+lapacke_dlassq_work.o \
 lapacke_dlaswp.o \
 lapacke_dlaswp_work.o \
 lapacke_dlauum.o \
@@ -1388,6 +1392,8 @@ lapacke_slaset.o \
 lapacke_slaset_work.o \
 lapacke_slasrt.o \
 lapacke_slasrt_work.o \
+lapacke_slassq.o \
+lapacke_slassq_work.o \
 lapacke_slaswp.o \
 lapacke_slaswp_work.o \
 lapacke_slauum.o \
@@ -2056,6 +2062,8 @@ lapacke_zlascl.o \
 lapacke_zlascl_work.o \
 lapacke_zlaset.o \
 lapacke_zlaset_work.o \
+lapacke_zlassq.o \
+lapacke_zlassq_work.o \
 lapacke_zlaswp.o \
 lapacke_zlaswp_work.o \
 lapacke_zlauum.o \
diff --git a/LAPACKE/src/lapacke_classq.c b/LAPACKE/src/lapacke_classq.c
new file mode 100644 (file)
index 0000000..d9df785
--- /dev/null
@@ -0,0 +1,52 @@
+/*****************************************************************************
+  Copyright (c) 2017, 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 classq
+* Author: Julien Langou
+* Generated February, 2017
+*****************************************************************************/
+
+#include "lapacke_utils.h"
+
+lapack_int LAPACKE_classq( lapack_int n, lapack_complex_float* x,
+                           lapack_int incx, float* scale, float* sumsq )
+{
+#ifndef LAPACK_DISABLE_NAN_CHECK
+    /* Optionally check input vector `x` and in/out scalars `scale` and `sumsq` for NaNs */
+    if( LAPACKE_c_nancheck( 1+(n-2)*ABS(incx), x, incx ) ) {
+        return -2;
+    }
+    if( LAPACKE_s_nancheck( 1, scale, 1 ) ) {
+        return -4;
+    }
+    if( LAPACKE_s_nancheck( 1, sumsq, 1 ) ) {
+        return -5;
+    }
+#endif
+    return LAPACKE_classq_work( n, x, incx, scale, sumsq );
+}
diff --git a/LAPACKE/src/lapacke_classq_work.c b/LAPACKE/src/lapacke_classq_work.c
new file mode 100644 (file)
index 0000000..9e9c3a3
--- /dev/null
@@ -0,0 +1,41 @@
+/*****************************************************************************
+  Copyright (c) 2017, 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 classq
+* Author: Julien Langou
+* Generated February, 2017
+*****************************************************************************/
+
+#include "lapacke_utils.h"
+
+lapack_int LAPACKE_classq_work( lapack_int n, lapack_complex_float* x, lapack_int incx, float* scale, float* sumsq )
+{
+    lapack_int info = 0;
+    LAPACK_classq( &n, x, &incx, scale, sumsq );
+    return info;
+}
diff --git a/LAPACKE/src/lapacke_dlassq.c b/LAPACKE/src/lapacke_dlassq.c
new file mode 100644 (file)
index 0000000..8cef5ee
--- /dev/null
@@ -0,0 +1,51 @@
+/*****************************************************************************
+  Copyright (c) 2017, 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 dlassq
+* Author: Julien langou
+* Generated February 2017
+*****************************************************************************/
+
+#include "lapacke_utils.h"
+
+lapack_int LAPACKE_dlassq( lapack_int n, double* x, lapack_int incx, double* scale, double* sumsq )
+{
+#ifndef LAPACK_DISABLE_NAN_CHECK
+    /* Optionally check input vector `x` and in/out scalars `scale` and `sumsq` for NaNs */
+    if( LAPACKE_d_nancheck( 1+(n-2)*ABS(incx), x, incx ) ) {
+        return -2;
+    }
+    if( LAPACKE_d_nancheck( 1, scale, 1 ) ) {
+        return -4;
+    }
+    if( LAPACKE_d_nancheck( 1, sumsq, 1 ) ) {
+        return -5;
+    }
+#endif
+    return LAPACKE_dlassq_work( n, x, incx, scale, sumsq );
+}
diff --git a/LAPACKE/src/lapacke_dlassq_work.c b/LAPACKE/src/lapacke_dlassq_work.c
new file mode 100644 (file)
index 0000000..9d04bfc
--- /dev/null
@@ -0,0 +1,41 @@
+/*****************************************************************************
+  Copyright (c) 2017, 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 dlassq
+* Author: Julien Langou
+* Generated February, 2017
+*****************************************************************************/
+
+#include "lapacke_utils.h"
+
+lapack_int LAPACKE_dlassq_work( lapack_int n, double* x, lapack_int incx, double* scale, double* sumsq )
+{
+    lapack_int info = 0;
+    LAPACK_dlassq( &n, x, &incx, scale, sumsq );
+    return info;
+}
diff --git a/LAPACKE/src/lapacke_slassq.c b/LAPACKE/src/lapacke_slassq.c
new file mode 100644 (file)
index 0000000..925ca45
--- /dev/null
@@ -0,0 +1,51 @@
+/*****************************************************************************
+  Copyright (c) 2017, 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 slassq
+* Author: Julien Langou
+* Generated February, 2017
+*****************************************************************************/
+
+#include "lapacke_utils.h"
+
+lapack_int LAPACKE_slassq( lapack_int n, float* x, lapack_int incx, float* scale, float* sumsq )
+{
+#ifndef LAPACK_DISABLE_NAN_CHECK
+    /* Optionally check input vector `x` and in/out scalars `scale` and `sumsq` for NaNs */
+    if( LAPACKE_s_nancheck( 1+(n-2)*ABS(incx), x, incx ) ) {
+        return -2;
+    }
+    if( LAPACKE_s_nancheck( 1, scale, 1 ) ) {
+        return -4;
+    }
+    if( LAPACKE_s_nancheck( 1, sumsq, 1 ) ) {
+        return -5;
+    }
+#endif
+    return LAPACKE_slassq_work( n, x, incx, scale, sumsq );
+}
diff --git a/LAPACKE/src/lapacke_slassq_work.c b/LAPACKE/src/lapacke_slassq_work.c
new file mode 100644 (file)
index 0000000..00688c9
--- /dev/null
@@ -0,0 +1,41 @@
+/*****************************************************************************
+  Copyright (c) 2017, 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 slassq
+* Author: Julien Langou
+* Generated February, 2017
+*****************************************************************************/
+
+#include "lapacke_utils.h"
+
+lapack_int LAPACKE_slassq_work( lapack_int n, float* x, lapack_int incx, float* scale, float* sumsq )
+{
+    lapack_int info = 0;
+    LAPACK_slassq( &n, x, &incx, scale, sumsq );
+    return info;
+}
diff --git a/LAPACKE/src/lapacke_zlassq.c b/LAPACKE/src/lapacke_zlassq.c
new file mode 100644 (file)
index 0000000..3fd2cb9
--- /dev/null
@@ -0,0 +1,52 @@
+/*****************************************************************************
+  Copyright (c) 2017, 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 zlassq
+* Author: Julien langou
+* Generated February 2017
+*****************************************************************************/
+
+#include "lapacke_utils.h"
+
+lapack_int LAPACKE_zlassq( lapack_int n, lapack_complex_double* x,
+                           lapack_int incx, double* scale, double* sumsq )
+{
+#ifndef LAPACK_DISABLE_NAN_CHECK
+    /* Optionally check input vector `x` and in/out scalars `scale` and `sumsq` for NaNs */
+    if( LAPACKE_z_nancheck( 1+(n-2)*ABS(incx), x, incx ) ) {
+        return -2;
+    }
+    if( LAPACKE_d_nancheck( 1, scale, 1 ) ) {
+        return -4;
+    }
+    if( LAPACKE_d_nancheck( 1, sumsq, 1 ) ) {
+        return -5;
+    }
+#endif
+    return LAPACKE_zlassq_work( n, x, incx, scale, sumsq );
+}
diff --git a/LAPACKE/src/lapacke_zlassq_work.c b/LAPACKE/src/lapacke_zlassq_work.c
new file mode 100644 (file)
index 0000000..a4920b0
--- /dev/null
@@ -0,0 +1,42 @@
+/*****************************************************************************
+  Copyright (c) 2017, 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 zlassq
+* Author: Julien Langou
+* Generated February, 2017
+*****************************************************************************/
+
+#include "lapacke_utils.h"
+
+lapack_int LAPACKE_zlassq_work( lapack_int n, lapack_complex_double* x,
+                                lapack_int incx, double* scale, double* sumsq )
+{
+    lapack_int info = 0;
+    LAPACK_zlassq( &n, x, &incx, scale, sumsq );
+    return info;
+}