annotate liboctave/system/lo-sysinfo.cc @ 25103:078b795c5219 stable

maint: style check C++ ahead of 4.4 release. * ButtonGroup.cc, Canvas.cc, Figure.cc, GLCanvas.cc, GLCanvas.h, ListBoxControl.cc, ObjectProxy.cc, QTerminal.h, dialog.cc, documentation.cc, files-dock-widget.cc, history-dock-widget.cc, file-editor-tab.cc, file-editor.h, find-dialog.cc, marker.h, octave-qscintilla.cc, octave-qscintilla.h, main-window.cc, webinfo.cc, resource-manager.h, settings-dialog.cc, shortcut-manager.cc, shortcut-manager.h, variable-editor.cc, workspace-view.cc, build-env.in.cc, __ilu__.cc, cellfun.cc, data.cc, dirfns.cc, dynamic-ld.h, environment.cc, error.cc, fcn-info.cc, gl-render.cc, gl2ps-print.cc, graphics.cc, graphics.in.h, help.cc, interpreter.cc, load-path.cc, load-save.cc, ls-mat5.cc, mex.cc, oct-stream.cc, oct-stream.h, qz.cc, sighandlers.cc, sparse-xpow.cc, svd.cc, symscope.h, symtab.cc, symtab.h, sysdep.cc, url-handle-manager.h, utils.cc, variables.cc, __init_fltk__.cc, __ode15__.cc, gzip.cc, ov-base.cc, ov-builtin.h, ov-cell.cc, ov-class.cc, ov-dld-fcn.h, ov-fcn-handle.cc, ov-java.cc, ov-re-diag.cc, op-b-sbm.cc, op-bm-b.cc, op-bm-bm.cc, op-bm-sbm.cc, op-cdm-cdm.cc, op-cell.cc, op-cm-cm.cc, op-cm-cs.cc, op-cm-m.cc, op-cm-s.cc, op-cm-scm.cc, op-cm-sm.cc, op-cs-cm.cc, op-cs-cs.cc, op-cs-m.cc, op-cs-s.cc, op-cs-scm.cc, op-cs-sm.cc, op-dm-dm.cc, op-dm-scm.cc, op-dm-sm.cc, op-fcdm-fcdm.cc, op-fcm-fcm.cc, op-fcm-fcs.cc, op-fcm-fm.cc, op-fcm-fs.cc, op-fcs-fcm.cc, op-fcs-fcs.cc, op-fcs-fm.cc, op-fcs-fs.cc, op-fdm-fdm.cc, op-fm-fcm.cc, op-fm-fcs.cc, op-fm-fm.cc, op-fm-fs.cc, op-fs-fcm.cc, op-fs-fcs.cc, op-fs-fm.cc, op-fs-fs.cc, op-m-cm.cc, op-m-cs.cc, op-m-m.cc, op-m-s.cc, op-m-scm.cc, op-m-sm.cc, op-pm-pm.cc, op-pm-scm.cc, op-pm-sm.cc, op-range.cc, op-s-cm.cc, op-s-cs.cc, op-s-m.cc, op-s-s.cc, op-s-scm.cc, op-s-sm.cc, op-sbm-b.cc, op-sbm-bm.cc, op-sbm-sbm.cc, op-scm-cm.cc, op-scm-cs.cc, op-scm-m.cc, op-scm-s.cc, op-scm-scm.cc, op-scm-sm.cc, op-sm-cm.cc, op-sm-cs.cc, op-sm-m.cc, op-sm-s.cc, op-sm-scm.cc, op-sm-sm.cc, op-str-m.cc, op-str-s.cc, op-str-str.cc, bp-table.cc, comment-list.h, jit-ir.h, jit-typeinfo.cc, jit-typeinfo.h, lex.h, parse.h, pt-binop.h, pt-decl.h, pt-eval.cc, pt-jit.cc, pt-jit.h, pt-misc.h, token.h, CMatrix.cc, CMatrix.h, CSparse.cc, CSparse.h, dMatrix.h, fCMatrix.cc, fCMatrix.h, fMatrix.h, Faddeeva.cc, gepbalance.cc, hess.cc, oct-fftw.cc, oct-fftw.h, file-stat.cc, lo-sysinfo.cc, action-container.h, f77-fcn.h, lo-regexp.cc, oct-mutex.h, oct-shlib.cc: Use Octave coding conventions in C++ files.
author Rik <rik@octave.org>
date Tue, 03 Apr 2018 13:52:07 -0700
parents d2c727a438ab
children 00f796120a6d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
24714
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
1 /*
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
2
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
3 Copyright (C) 2018 Markus Mützel
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
4
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
5 This file is part of Octave.
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
6
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
7 Octave is free software: you can redistribute it and/or modify it
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
8 under the terms of the GNU General Public License as published by
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
9 the Free Software Foundation, either version 3 of the License, or
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
10 (at your option) any later version.
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
11
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
12 Octave is distributed in the hope that it will be useful, but
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
13 WITHOUT ANY WARRANTY; without even the implied warranty of
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
15 GNU General Public License for more details.
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
16
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
17 You should have received a copy of the GNU General Public License
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
18 along with Octave; see the file COPYING. If not, see
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
19 <https://www.gnu.org/licenses/>.
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
20
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
21 */
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
22
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
23 #if defined (HAVE_CONFIG_H)
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
24 # include "config.h"
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
25 #endif
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
26
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
27 #include <sstream>
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
28 #include <string>
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
29
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
30 #include "f77-fcn.h"
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
31 #include "lo-sysinfo.h"
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
32 #include "oct-shlib.h"
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
33
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
34 // Hack to stringize macro results.
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
35 #define xSTRINGIZE(x) #x
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
36 #define STRINGIZE(x) xSTRINGIZE(x)
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
37
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
38 namespace octave
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
39 {
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
40 namespace sys
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
41 {
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
42 std::string blas_version (void)
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
43 {
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
44 dynamic_library dyn_libs ("");
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
45
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
46 if (! dyn_libs)
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
47 return "unknown BLAS";
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
48
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
49 std::string retval;
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
50
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
51 // Check for functions that are specific to certain BLAS implementations.
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
52
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
53 // FlexiBLAS
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
54 typedef void (*flexi_f_type) (int*, int*, int*);
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
55 flexi_f_type flexi_f_ptr = reinterpret_cast<flexi_f_type>
25103
078b795c5219 maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents: 24714
diff changeset
56 (dyn_libs.search ("flexiblas_get_version"));
24714
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
57
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
58 if (flexi_f_ptr)
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
59 {
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
60 int v_major = 0;
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
61 int v_minor = 0;
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
62 int v_patch = 0;
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
63 flexi_f_ptr (&v_major, &v_minor, &v_patch);
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
64
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
65 std::ostringstream s;
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
66 s << "FlexiBLAS Version "
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
67 << v_major << "." << v_minor << "." << v_patch;
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
68
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
69 if (! retval.empty ())
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
70 retval += "\n";
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
71
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
72 retval += s.str ();
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
73 }
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
74
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
75 // OpenBLAS
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
76 typedef char * (*open_fcn_type) (void);
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
77 open_fcn_type open_f_ptr = reinterpret_cast<open_fcn_type>
25103
078b795c5219 maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents: 24714
diff changeset
78 (dyn_libs.search ("openblas_get_config"));
24714
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
79
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
80 if (open_f_ptr)
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
81 {
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
82 if (! retval.empty ())
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
83 retval += "\n";
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
84
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
85 retval += "OpenBLAS (config: " + std::string (open_f_ptr ()) + ")";
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
86 }
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
87
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
88 // GotoBLAS(2)
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
89 if (dyn_libs.search ("gotoblas_profile_init"))
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
90 {
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
91 if (! retval.empty ())
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
92 retval += "\n";
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
93
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
94 retval += "GotoBLAS(2)";
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
95 }
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
96
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
97 // ATLAS
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
98 // FIXME: If we are really interested, we could use a pipe to
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
99 // redirect the output of "ATL_buildinfo".
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
100 if (dyn_libs.search ("ATL_buildinfo"))
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
101 {
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
102 if (! retval.empty ())
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
103 retval += "\n";
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
104
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
105 retval += "ATLAS";
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
106 }
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
107
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
108 // ACML
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
109 typedef void (*acml_f_type) (int*, int*, int*);
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
110 acml_f_type acml_f_ptr = reinterpret_cast<acml_f_type>
25103
078b795c5219 maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents: 24714
diff changeset
111 (dyn_libs.search ("acmlversion"));
24714
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
112
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
113 if (acml_f_ptr)
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
114 {
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
115 int v_major = 0;
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
116 int v_minor = 0;
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
117 int v_patch = 0;
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
118 acml_f_ptr (&v_major, &v_minor, &v_patch);
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
119
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
120 std::ostringstream s;
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
121 s << "ACML BLAS Version "
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
122 << v_major << "." << v_minor << "." << v_patch;
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
123
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
124 if (! retval.empty ())
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
125 retval += "\n";
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
126
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
127 retval += s.str ();
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
128 }
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
129
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
130 // Intel MKL
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
131 typedef void (*mkl_f_type) (char*, int);
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
132 mkl_f_type mkl_f_ptr = reinterpret_cast<mkl_f_type>
25103
078b795c5219 maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents: 24714
diff changeset
133 (dyn_libs.search ("mkl_get_version_string"));
24714
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
134
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
135 if (mkl_f_ptr)
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
136 {
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
137 char buf[198];
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
138 int len = 198;
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
139 mkl_f_ptr (buf, len);
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
140
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
141 if (! retval.empty ())
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
142 retval += "\n";
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
143
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
144 retval += std::string (buf);
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
145 }
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
146
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
147 // Otherwise
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
148 if (retval.empty ())
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
149 retval = "unknown or reference BLAS";
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
150
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
151 return retval;
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
152 }
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
153
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
154 std::string lapack_version (void)
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
155 {
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
156 std::string retval = "unknown LAPACK";
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
157
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
158 dynamic_library dyn_libs ("");
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
159
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
160 if (! dyn_libs)
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
161 return retval;
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
162
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
163 // query LAPACK version
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
164 typedef F77_RET_T
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
165 (*ilaver_fcn_type) (const F77_INT&, const F77_INT&, const F77_INT&);
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
166 ilaver_fcn_type f_ptr = reinterpret_cast<ilaver_fcn_type>
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
167 (dyn_libs.search (STRINGIZE (F77_FUNC (ilaver, ILAVER))));
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
168
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
169 if (f_ptr)
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
170 {
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
171 int v_major = 0;
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
172 int v_minor = 0;
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
173 int v_patch = 0;
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
174 f_ptr (v_major, v_minor, v_patch);
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
175
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
176 std::ostringstream s;
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
177 s << "Linear Algebra PACKage Version "
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
178 << v_major << "." << v_minor << "." << v_patch;
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
179
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
180 retval = s.str ();
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
181 }
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
182
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
183 return retval;
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
184 }
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
185 }
d2c727a438ab Add "-blas" and "-lapack" options to "version" (bug #45659).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
186 }