From c362afc525bab4050581d1b0fcea2fe4d582c608 Mon Sep 17 00:00:00 2001 From: "Field G. Van Zee" Date: Thu, 9 Feb 2017 11:54:59 -0600 Subject: [PATCH] Added missing "level-0" BLAS [sd]cabs1_(). Details: - Fixed issue #115 by adding implementations for scabs1_() and dcabs1_() to the BLAS compatibility layer. Thanks to heroxbd for pointing out their absence. --- frame/compat/bli_blas.h | 5 +++ frame/compat/f2c/bla_cabs1.c | 62 ++++++++++++++++++++++++++++++++++++ frame/compat/f2c/bla_cabs1.h | 40 +++++++++++++++++++++++ 3 files changed, 107 insertions(+) create mode 100644 frame/compat/f2c/bla_cabs1.c create mode 100644 frame/compat/f2c/bla_cabs1.h diff --git a/frame/compat/bli_blas.h b/frame/compat/bli_blas.h index 5583e456b..242a03b7a 100644 --- a/frame/compat/bli_blas.h +++ b/frame/compat/bli_blas.h @@ -79,6 +79,11 @@ #include "bla_xerbla.h" +// -- Level-0 BLAS prototypes -- + +#include "bla_cabs1.h" + + // -- Level-1 BLAS prototypes -- #include "bla_amax.h" diff --git a/frame/compat/f2c/bla_cabs1.c b/frame/compat/f2c/bla_cabs1.c new file mode 100644 index 000000000..20db46262 --- /dev/null +++ b/frame/compat/f2c/bla_cabs1.c @@ -0,0 +1,62 @@ +/* + + BLIS + An object-based framework for developing high-performance BLAS-like + libraries. + + Copyright (C) 2014, The University of Texas at Austin + + 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 The University of Texas at Austin 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 + HOLDER 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. + +*/ + +#include "blis.h" + +#ifdef BLIS_ENABLE_BLAS2BLIS + +/* scabs1.f -- translated by f2c (version 19991025). + You must link the resulting object file with the libraries: + -lf2c -lm (in that order) +*/ + +/* Subroutine */ bla_real PASTEF77(s,cabs1)(bla_scomplex *z) +{ + return bli_fabs( bli_creal( *z ) ) + + bli_fabs( bli_cimag( *z ) ); +} /* scabs1_ */ + +/* dcabs1.f -- translated by f2c (version 19991025). + You must link the resulting object file with the libraries: + -lf2c -lm (in that order) +*/ + +/* Subroutine */ bla_double PASTEF77(d,cabs1)(bla_dcomplex *z) +{ + return bli_fabs( bli_zreal( *z ) ) + + bli_fabs( bli_zimag( *z ) ); +} /* dcabs1_ */ + +#endif + diff --git a/frame/compat/f2c/bla_cabs1.h b/frame/compat/f2c/bla_cabs1.h new file mode 100644 index 000000000..a8c980d72 --- /dev/null +++ b/frame/compat/f2c/bla_cabs1.h @@ -0,0 +1,40 @@ +/* + + BLIS + An object-based framework for developing high-performance BLAS-like + libraries. + + Copyright (C) 2014, The University of Texas at Austin + + 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 The University of Texas at Austin 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 + HOLDER 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. + +*/ + +#ifdef BLIS_ENABLE_BLAS2BLIS + +bla_real PASTEF77(s,cabs1)(bla_scomplex *z); +bla_double PASTEF77(d,cabs1)(bla_dcomplex *z); + +#endif