26 #if defined (HAVE_CONFIG_H)
38 #define xSTRINGIZE(x) #x
39 #define STRINGIZE(x) xSTRINGIZE(x)
50 return "unknown BLAS";
57 typedef void (*flexi_f_type) (
int *,
int *,
int *);
58 flexi_f_type flexi_f_ptr =
reinterpret_cast<flexi_f_type
>
59 (dyn_libs.
search (
"flexiblas_get_version"));
66 flexi_f_ptr (&v_major, &v_minor, &v_patch);
69 s <<
"FlexiBLAS Version "
70 << v_major <<
"." << v_minor <<
"." << v_patch;
76 typedef char *(*open_fcn_type) ();
77 open_fcn_type open_f_ptr =
reinterpret_cast<open_fcn_type
>
78 (dyn_libs.
search (
"openblas_get_config"));
82 if (! retval.empty ())
85 retval +=
"OpenBLAS (config: " + std::string (open_f_ptr ()) +
")";
89 else if (dyn_libs.
search (
"openblas_get_num_threads"))
91 if (! retval.empty ())
94 retval +=
"OpenBLAS (config: unknown)";
98 if (dyn_libs.
search (
"gotoblas_profile_init"))
100 if (! retval.empty ())
103 retval +=
"GotoBLAS(2)";
109 if (dyn_libs.
search (
"ATL_buildinfo"))
111 if (! retval.empty ())
118 typedef void (*acml_f_type) (
int *,
int *,
int *);
119 acml_f_type acml_f_ptr =
reinterpret_cast<acml_f_type
>
120 (dyn_libs.
search (
"acmlversion"));
127 acml_f_ptr (&v_major, &v_minor, &v_patch);
129 std::ostringstream s;
130 s <<
"ACML BLAS Version "
131 << v_major <<
"." << v_minor <<
"." << v_patch;
133 if (! retval.empty ())
140 typedef void (*mkl_f_type) (
char *, int);
141 mkl_f_type mkl_f_ptr =
reinterpret_cast<mkl_f_type
>
142 (dyn_libs.
search (
"mkl_get_version_string"));
148 mkl_f_ptr (buf,
len);
150 if (! retval.empty ())
153 retval += std::string (buf);
158 retval =
"unknown or reference BLAS";
166 std::string retval =
"unknown LAPACK";
176 ilaver_fcn_type f_ptr =
reinterpret_cast<ilaver_fcn_type
>
184 f_ptr (v_major, v_minor, v_patch);
186 std::ostringstream s;
187 s <<
"Linear Algebra PACKage Version "
188 << v_major <<
"." << v_minor <<
"." << v_patch;
196 OCTAVE_END_NAMESPACE(sys)
197 OCTAVE_END_NAMESPACE(
octave)
void * search(const std::string &nm, const name_mangler &mangler=name_mangler()) const
OCTAVE_BEGIN_NAMESPACE(octave) static octave_value daspk_fcn
octave_f77_int_type F77_INT
F77_RET_T(F77_CONST_CHAR_ARG_DECL, F77_CONST_CHAR_ARG_DECL, F77_CONST_CHAR_ARG_DECL, const F77_INT &, const F77_INT &, const F77_INT &, F77_INT &, F77_INT &, F77_DBLE *, const F77_INT &, F77_DBLE *, const F77_INT &, F77_DBLE *, F77_DBLE *, F77_DBLE *, const F77_INT &, F77_DBLE *, const F77_INT &, F77_DBLE *, const F77_INT &, F77_DBLE *, F77_INT *, F77_INT &F77_CHAR_ARG_LEN_DECL F77_CHAR_ARG_LEN_DECL F77_CHAR_ARG_LEN_DECL)
std::string lapack_version()
std::string blas_version()
F77_RET_T F77_FUNC(xerbla, XERBLA)(F77_CONST_CHAR_ARG_DEF(s_arg