Mercurial > octave
diff liboctave/numeric/gsvd.cc @ 27101:097774bed4ed
move some static functions inside octave namespace
In most files that define static functions and use the octave
namespace, define the static fucntions inside the namespace.
Files affected: octave-qscintilla.cc, main-window.cc,
variable-editor-model.cc, variable-editor.cc, welcome-wizard.cc,
call-stack.cc, environment.cc, help.cc, input.cc, load-path.cc,
sysdep.cc, text-renderer.cc, url-handle-manager.cc, __ode15__.cc,
ov-typeinfo.cc, aepbalance.cc, chol.cc, gsvd.cc, file-ops.cc,
lo-array-errwarn.cc, lo-regexp.cc, oct-glob.cc, and oct-sparse.cc.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 21 May 2019 19:50:59 +0000 |
parents | 00f796120a6d |
children | 84ff9953faa1 |
line wrap: on
line diff
--- a/liboctave/numeric/gsvd.cc Tue May 21 17:39:13 2019 +0000 +++ b/liboctave/numeric/gsvd.cc Tue May 21 19:50:59 2019 +0000 @@ -39,52 +39,54 @@ #include "lo-lapack-proto.h" #include "oct-shlib.h" -static std::map<std::string, void *> gsvd_fcn; +namespace octave +{ + static std::map<std::string, void *> gsvd_fcn; -static bool have_DGGSVD3 = false; -static bool gsvd_initialized = false; + static bool have_DGGSVD3 = false; + static bool gsvd_initialized = false; -/* Hack to stringize macro results. */ + /* Hack to stringize macro results. */ #define xSTRINGIZE(x) #x #define STRINGIZE(x) xSTRINGIZE(x) -void initialize_gsvd (void) -{ - if (gsvd_initialized) - return; + static void initialize_gsvd (void) + { + if (gsvd_initialized) + return; - octave::dynamic_library libs (""); - if (! libs) - { - // FIXME: Should we throw an error if we cannot check the libraries? - have_DGGSVD3 = false; - return; - } + octave::dynamic_library libs (""); + if (! libs) + { + // FIXME: Should we throw an error if we cannot check the libraries? + have_DGGSVD3 = false; + return; + } - have_DGGSVD3 = (libs.search (STRINGIZE (F77_FUNC (dggsvd3, DGGSVD3))) - != nullptr); + have_DGGSVD3 = (libs.search (STRINGIZE (F77_FUNC (dggsvd3, DGGSVD3))) + != nullptr); - if (have_DGGSVD3) - { - gsvd_fcn["dg"] = libs.search (STRINGIZE (F77_FUNC (dggsvd3, DGGSVD3))); - gsvd_fcn["sg"] = libs.search (STRINGIZE (F77_FUNC (sggsvd3, SGGSVD3))); - gsvd_fcn["zg"] = libs.search (STRINGIZE (F77_FUNC (zggsvd3, ZGGSVD3))); - gsvd_fcn["cg"] = libs.search (STRINGIZE (F77_FUNC (cggsvd3, CGGSVD3))); - } - else - { - gsvd_fcn["dg"] = libs.search (STRINGIZE (F77_FUNC (dggsvd, DGGSVD))); - gsvd_fcn["sg"] = libs.search (STRINGIZE (F77_FUNC (sggsvd, SGGSVD))); - gsvd_fcn["zg"] = libs.search (STRINGIZE (F77_FUNC (zggsvd, ZGGSVD))); - gsvd_fcn["cg"] = libs.search (STRINGIZE (F77_FUNC (cggsvd, CGGSVD))); - } - gsvd_initialized = true; -} + if (have_DGGSVD3) + { + gsvd_fcn["dg"] = libs.search (STRINGIZE (F77_FUNC (dggsvd3, DGGSVD3))); + gsvd_fcn["sg"] = libs.search (STRINGIZE (F77_FUNC (sggsvd3, SGGSVD3))); + gsvd_fcn["zg"] = libs.search (STRINGIZE (F77_FUNC (zggsvd3, ZGGSVD3))); + gsvd_fcn["cg"] = libs.search (STRINGIZE (F77_FUNC (cggsvd3, CGGSVD3))); + } + else + { + gsvd_fcn["dg"] = libs.search (STRINGIZE (F77_FUNC (dggsvd, DGGSVD))); + gsvd_fcn["sg"] = libs.search (STRINGIZE (F77_FUNC (sggsvd, SGGSVD))); + gsvd_fcn["zg"] = libs.search (STRINGIZE (F77_FUNC (zggsvd, ZGGSVD))); + gsvd_fcn["cg"] = libs.search (STRINGIZE (F77_FUNC (cggsvd, CGGSVD))); + } + gsvd_initialized = true; + } -template<class T1> -struct real_ggsvd_ptr -{ - typedef F77_RET_T (*type) + template<class T1> + struct real_ggsvd_ptr + { + typedef F77_RET_T (*type) (F77_CONST_CHAR_ARG_DECL, // JOBU F77_CONST_CHAR_ARG_DECL, // JOBV F77_CONST_CHAR_ARG_DECL, // JOBQ @@ -111,12 +113,12 @@ F77_CHAR_ARG_LEN_DECL F77_CHAR_ARG_LEN_DECL F77_CHAR_ARG_LEN_DECL); -}; + }; -template<class T1> -struct real_ggsvd3_ptr -{ - typedef F77_RET_T (*type) + template<class T1> + struct real_ggsvd3_ptr + { + typedef F77_RET_T (*type) (F77_CONST_CHAR_ARG_DECL, // JOBU F77_CONST_CHAR_ARG_DECL, // JOBV F77_CONST_CHAR_ARG_DECL, // JOBQ @@ -144,12 +146,12 @@ F77_CHAR_ARG_LEN_DECL F77_CHAR_ARG_LEN_DECL F77_CHAR_ARG_LEN_DECL); -}; + }; -template<class T1, class T2> -struct comp_ggsvd_ptr -{ - typedef F77_RET_T (*type) + template<class T1, class T2> + struct comp_ggsvd_ptr + { + typedef F77_RET_T (*type) (F77_CONST_CHAR_ARG_DECL, // JOBU F77_CONST_CHAR_ARG_DECL, // JOBV F77_CONST_CHAR_ARG_DECL, // JOBQ @@ -177,12 +179,12 @@ F77_CHAR_ARG_LEN_DECL F77_CHAR_ARG_LEN_DECL F77_CHAR_ARG_LEN_DECL); -}; + }; -template<class T1, class T2> -struct comp_ggsvd3_ptr -{ - typedef F77_RET_T (*type) + template<class T1, class T2> + struct comp_ggsvd3_ptr + { + typedef F77_RET_T (*type) (F77_CONST_CHAR_ARG_DECL, // JOBU F77_CONST_CHAR_ARG_DECL, // JOBV F77_CONST_CHAR_ARG_DECL, // JOBQ @@ -211,20 +213,18 @@ F77_CHAR_ARG_LEN_DECL F77_CHAR_ARG_LEN_DECL F77_CHAR_ARG_LEN_DECL); -}; + }; -// template specializations -typedef real_ggsvd3_ptr<F77_DBLE>::type dggsvd3_type; -typedef real_ggsvd_ptr<F77_DBLE>::type dggsvd_type; -typedef real_ggsvd3_ptr<F77_REAL>::type sggsvd3_type; -typedef real_ggsvd_ptr<F77_REAL>::type sggsvd_type; -typedef comp_ggsvd3_ptr<F77_DBLE_CMPLX, F77_DBLE>::type zggsvd3_type; -typedef comp_ggsvd_ptr<F77_DBLE_CMPLX, F77_DBLE>::type zggsvd_type; -typedef comp_ggsvd3_ptr<F77_CMPLX, F77_REAL>::type cggsvd3_type; -typedef comp_ggsvd_ptr<F77_CMPLX, F77_REAL>::type cggsvd_type; + // template specializations + typedef real_ggsvd3_ptr<F77_DBLE>::type dggsvd3_type; + typedef real_ggsvd_ptr<F77_DBLE>::type dggsvd_type; + typedef real_ggsvd3_ptr<F77_REAL>::type sggsvd3_type; + typedef real_ggsvd_ptr<F77_REAL>::type sggsvd_type; + typedef comp_ggsvd3_ptr<F77_DBLE_CMPLX, F77_DBLE>::type zggsvd3_type; + typedef comp_ggsvd_ptr<F77_DBLE_CMPLX, F77_DBLE>::type zggsvd_type; + typedef comp_ggsvd3_ptr<F77_CMPLX, F77_REAL>::type cggsvd3_type; + typedef comp_ggsvd_ptr<F77_CMPLX, F77_REAL>::type cggsvd_type; -namespace octave -{ namespace math { template <>