math/armadillo: C++ linear algebra library

longer form:

Armadillo is a high quality linear algebra library (matrix maths) for the
C++ language, aiming towards a good balance between speed and ease of use

Provides high-level syntax and functionality deliberately similar
to Matlab

Useful for algorithm development directly in C++, or quick conversion
of research code into production environments

Provides efficient classes for vectors, matrices and cubes; dense and
sparse matrices are supported

Integer, floating point and complex numbers are supported

A sophisticated expression evaluator (based on template meta-programming)
automatically combines several operations to increase speed and efficiency

Dynamic evaluation automatically chooses optimal code paths based on
detected matrix structures

Various matrix decompositions (eigen, SVD, QR, etc) are provided
through integration with LAPACK, or one of its high performance drop-in
replacements (eg. MKL or OpenBLAS)

Can automatically use OpenMP multi-threading (parallelisation) to speed
up computationally expensive operations

Distributed under the permissive Apache 2.0 license, useful for both
open-source and proprietary (closed-source) software

Can be used for machine learning, pattern recognition, computer vision,
signal processing, bioinformatics, statistics, finance, etc
This commit is contained in:
thor 2023-12-19 12:28:50 +00:00
parent 2bd14f99dd
commit 4a1930a3e7
7 changed files with 929 additions and 1 deletions

View file

@ -1,4 +1,4 @@
# $NetBSD: Makefile,v 1.581 2023/11/13 23:48:53 wiz Exp $
# $NetBSD: Makefile,v 1.582 2023/12/19 12:28:50 thor Exp $
COMMENT= Mathematics
@ -141,6 +141,7 @@ SUBDIR+= analitza
SUBDIR+= antixls
SUBDIR+= apecrunch
SUBDIR+= aribas
SUBDIR+= armadillo
SUBDIR+= arpack-ng
SUBDIR+= basic-stats
SUBDIR+= bc

4
math/armadillo/DESCR Normal file
View file

@ -0,0 +1,4 @@
Armadillo is an open-source C++ linear algebra library (matrix maths) aiming
towards a good balance between speed and ease of use. Integer, floating point
and complex numbers are supported, as well as a subset of trigonometric and
statistics functions.

28
math/armadillo/Makefile Normal file
View file

@ -0,0 +1,28 @@
# $NetBSD: Makefile,v 1.1 2023/12/19 12:28:50 thor Exp $
DISTNAME= armadillo-12.6.7
CATEGORIES= math
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=arma/}
EXTRACT_SUFX= .tar.xz
MAINTAINER= bacon@NetBSD.org
HOMEPAGE= https://sourceforge.net/projects/arma/
COMMENT= C++ linear algebra library
LICENSE= apache-2.0
USE_TOOLS+= cmake pkg-config
USE_LANGUAGES+= c c++
USE_CXX_FEATURES= c++11
USE_CMAKE= yes
CMAKE_ARGS+= -DINSTALL_LIB_DIR=${PREFIX}/lib
CMAKE_ARGS+= -DBLA_PREFER_PKGCONFIG=ON
CMAKE_ARGS+= -DBLA_PKGCONFIG_BLAS=${BLAS_PC}
CMAKE_ARGS+= -DBLA_PKGCONFIG_LAPACK=${LAPACK_PC}
.include "../../mk/blas.buildlink3.mk"
.include "../../math/superlu/buildlink3.mk"
.include "../../math/arpack-ng/buildlink3.mk"
# Armadillo references HDF5, but this is header-only and clients
# are supposed to link HDF5 themselves.
.include "../../mk/bsd.pkg.mk"

631
math/armadillo/PLIST Normal file
View file

@ -0,0 +1,631 @@
@comment $NetBSD: PLIST,v 1.1 2023/12/19 12:28:50 thor Exp $
include/armadillo
include/armadillo_bits/BaseCube_bones.hpp
include/armadillo_bits/BaseCube_meat.hpp
include/armadillo_bits/Base_bones.hpp
include/armadillo_bits/Base_meat.hpp
include/armadillo_bits/Col_bones.hpp
include/armadillo_bits/Col_meat.hpp
include/armadillo_bits/CubeToMatOp_bones.hpp
include/armadillo_bits/CubeToMatOp_meat.hpp
include/armadillo_bits/Cube_bones.hpp
include/armadillo_bits/Cube_meat.hpp
include/armadillo_bits/GenCube_bones.hpp
include/armadillo_bits/GenCube_meat.hpp
include/armadillo_bits/Gen_bones.hpp
include/armadillo_bits/Gen_meat.hpp
include/armadillo_bits/GlueCube_bones.hpp
include/armadillo_bits/GlueCube_meat.hpp
include/armadillo_bits/Glue_bones.hpp
include/armadillo_bits/Glue_meat.hpp
include/armadillo_bits/MapMat_bones.hpp
include/armadillo_bits/MapMat_meat.hpp
include/armadillo_bits/Mat_bones.hpp
include/armadillo_bits/Mat_meat.hpp
include/armadillo_bits/OpCube_bones.hpp
include/armadillo_bits/OpCube_meat.hpp
include/armadillo_bits/Op_bones.hpp
include/armadillo_bits/Op_meat.hpp
include/armadillo_bits/Proxy.hpp
include/armadillo_bits/ProxyCube.hpp
include/armadillo_bits/Row_bones.hpp
include/armadillo_bits/Row_meat.hpp
include/armadillo_bits/SizeCube_bones.hpp
include/armadillo_bits/SizeCube_meat.hpp
include/armadillo_bits/SizeMat_bones.hpp
include/armadillo_bits/SizeMat_meat.hpp
include/armadillo_bits/SpBase_bones.hpp
include/armadillo_bits/SpBase_meat.hpp
include/armadillo_bits/SpCol_bones.hpp
include/armadillo_bits/SpCol_meat.hpp
include/armadillo_bits/SpGlue_bones.hpp
include/armadillo_bits/SpGlue_meat.hpp
include/armadillo_bits/SpMat_bones.hpp
include/armadillo_bits/SpMat_iterators_meat.hpp
include/armadillo_bits/SpMat_meat.hpp
include/armadillo_bits/SpOp_bones.hpp
include/armadillo_bits/SpOp_meat.hpp
include/armadillo_bits/SpProxy.hpp
include/armadillo_bits/SpRow_bones.hpp
include/armadillo_bits/SpRow_meat.hpp
include/armadillo_bits/SpSubview_bones.hpp
include/armadillo_bits/SpSubview_col_list_bones.hpp
include/armadillo_bits/SpSubview_col_list_meat.hpp
include/armadillo_bits/SpSubview_iterators_meat.hpp
include/armadillo_bits/SpSubview_meat.hpp
include/armadillo_bits/SpToDGlue_bones.hpp
include/armadillo_bits/SpToDGlue_meat.hpp
include/armadillo_bits/SpToDOp_bones.hpp
include/armadillo_bits/SpToDOp_meat.hpp
include/armadillo_bits/SpValProxy_bones.hpp
include/armadillo_bits/SpValProxy_meat.hpp
include/armadillo_bits/access.hpp
include/armadillo_bits/arma_cmath.hpp
include/armadillo_bits/arma_config.hpp
include/armadillo_bits/arma_forward.hpp
include/armadillo_bits/arma_ostream_bones.hpp
include/armadillo_bits/arma_ostream_meat.hpp
include/armadillo_bits/arma_rel_comparators.hpp
include/armadillo_bits/arma_rng.hpp
include/armadillo_bits/arma_rng_cxx03.hpp
include/armadillo_bits/arma_static_check.hpp
include/armadillo_bits/arma_str.hpp
include/armadillo_bits/arma_version.hpp
include/armadillo_bits/arrayops_bones.hpp
include/armadillo_bits/arrayops_meat.hpp
include/armadillo_bits/auxlib_bones.hpp
include/armadillo_bits/auxlib_meat.hpp
include/armadillo_bits/band_helper.hpp
include/armadillo_bits/compiler_check.hpp
include/armadillo_bits/compiler_setup.hpp
include/armadillo_bits/compiler_setup_post.hpp
include/armadillo_bits/cond_rel_bones.hpp
include/armadillo_bits/cond_rel_meat.hpp
include/armadillo_bits/config.hpp
include/armadillo_bits/constants.hpp
include/armadillo_bits/constants_old.hpp
include/armadillo_bits/csv_name.hpp
include/armadillo_bits/debug.hpp
include/armadillo_bits/def_arpack.hpp
include/armadillo_bits/def_atlas.hpp
include/armadillo_bits/def_blas.hpp
include/armadillo_bits/def_fftw3.hpp
include/armadillo_bits/def_lapack.hpp
include/armadillo_bits/def_superlu.hpp
include/armadillo_bits/diagmat_proxy.hpp
include/armadillo_bits/diagview_bones.hpp
include/armadillo_bits/diagview_meat.hpp
include/armadillo_bits/diskio_bones.hpp
include/armadillo_bits/diskio_meat.hpp
include/armadillo_bits/distr_param.hpp
include/armadillo_bits/eGlueCube_bones.hpp
include/armadillo_bits/eGlueCube_meat.hpp
include/armadillo_bits/eGlue_bones.hpp
include/armadillo_bits/eGlue_meat.hpp
include/armadillo_bits/eOpCube_bones.hpp
include/armadillo_bits/eOpCube_meat.hpp
include/armadillo_bits/eOp_bones.hpp
include/armadillo_bits/eOp_meat.hpp
include/armadillo_bits/eglue_core_bones.hpp
include/armadillo_bits/eglue_core_meat.hpp
include/armadillo_bits/eop_aux.hpp
include/armadillo_bits/eop_core_bones.hpp
include/armadillo_bits/eop_core_meat.hpp
include/armadillo_bits/fft_engine_fftw3.hpp
include/armadillo_bits/fft_engine_kissfft.hpp
include/armadillo_bits/field_bones.hpp
include/armadillo_bits/field_meat.hpp
include/armadillo_bits/fill.hpp
include/armadillo_bits/fn_accu.hpp
include/armadillo_bits/fn_all.hpp
include/armadillo_bits/fn_any.hpp
include/armadillo_bits/fn_approx_equal.hpp
include/armadillo_bits/fn_as_scalar.hpp
include/armadillo_bits/fn_chi2rnd.hpp
include/armadillo_bits/fn_chol.hpp
include/armadillo_bits/fn_clamp.hpp
include/armadillo_bits/fn_cond_rcond.hpp
include/armadillo_bits/fn_conv.hpp
include/armadillo_bits/fn_conv_to.hpp
include/armadillo_bits/fn_cor.hpp
include/armadillo_bits/fn_cov.hpp
include/armadillo_bits/fn_cross.hpp
include/armadillo_bits/fn_cumprod.hpp
include/armadillo_bits/fn_cumsum.hpp
include/armadillo_bits/fn_det.hpp
include/armadillo_bits/fn_diagmat.hpp
include/armadillo_bits/fn_diags_spdiags.hpp
include/armadillo_bits/fn_diagvec.hpp
include/armadillo_bits/fn_diff.hpp
include/armadillo_bits/fn_dot.hpp
include/armadillo_bits/fn_eig_gen.hpp
include/armadillo_bits/fn_eig_pair.hpp
include/armadillo_bits/fn_eig_sym.hpp
include/armadillo_bits/fn_eigs_gen.hpp
include/armadillo_bits/fn_eigs_sym.hpp
include/armadillo_bits/fn_elem.hpp
include/armadillo_bits/fn_eps.hpp
include/armadillo_bits/fn_expmat.hpp
include/armadillo_bits/fn_eye.hpp
include/armadillo_bits/fn_fft.hpp
include/armadillo_bits/fn_fft2.hpp
include/armadillo_bits/fn_find.hpp
include/armadillo_bits/fn_find_unique.hpp
include/armadillo_bits/fn_flip.hpp
include/armadillo_bits/fn_hess.hpp
include/armadillo_bits/fn_hist.hpp
include/armadillo_bits/fn_histc.hpp
include/armadillo_bits/fn_index_max.hpp
include/armadillo_bits/fn_index_min.hpp
include/armadillo_bits/fn_inplace_strans.hpp
include/armadillo_bits/fn_inplace_trans.hpp
include/armadillo_bits/fn_interp1.hpp
include/armadillo_bits/fn_interp2.hpp
include/armadillo_bits/fn_intersect.hpp
include/armadillo_bits/fn_inv.hpp
include/armadillo_bits/fn_inv_sympd.hpp
include/armadillo_bits/fn_join.hpp
include/armadillo_bits/fn_kmeans.hpp
include/armadillo_bits/fn_kron.hpp
include/armadillo_bits/fn_log_det.hpp
include/armadillo_bits/fn_log_normpdf.hpp
include/armadillo_bits/fn_logmat.hpp
include/armadillo_bits/fn_lu.hpp
include/armadillo_bits/fn_max.hpp
include/armadillo_bits/fn_mean.hpp
include/armadillo_bits/fn_median.hpp
include/armadillo_bits/fn_min.hpp
include/armadillo_bits/fn_misc.hpp
include/armadillo_bits/fn_mvnrnd.hpp
include/armadillo_bits/fn_n_unique.hpp
include/armadillo_bits/fn_nonzeros.hpp
include/armadillo_bits/fn_norm.hpp
include/armadillo_bits/fn_normalise.hpp
include/armadillo_bits/fn_normcdf.hpp
include/armadillo_bits/fn_normpdf.hpp
include/armadillo_bits/fn_numel.hpp
include/armadillo_bits/fn_ones.hpp
include/armadillo_bits/fn_orth_null.hpp
include/armadillo_bits/fn_pinv.hpp
include/armadillo_bits/fn_polyfit.hpp
include/armadillo_bits/fn_polyval.hpp
include/armadillo_bits/fn_powext.hpp
include/armadillo_bits/fn_powmat.hpp
include/armadillo_bits/fn_princomp.hpp
include/armadillo_bits/fn_prod.hpp
include/armadillo_bits/fn_qr.hpp
include/armadillo_bits/fn_quantile.hpp
include/armadillo_bits/fn_qz.hpp
include/armadillo_bits/fn_randg.hpp
include/armadillo_bits/fn_randi.hpp
include/armadillo_bits/fn_randn.hpp
include/armadillo_bits/fn_randperm.hpp
include/armadillo_bits/fn_randu.hpp
include/armadillo_bits/fn_range.hpp
include/armadillo_bits/fn_rank.hpp
include/armadillo_bits/fn_regspace.hpp
include/armadillo_bits/fn_repelem.hpp
include/armadillo_bits/fn_repmat.hpp
include/armadillo_bits/fn_reshape.hpp
include/armadillo_bits/fn_resize.hpp
include/armadillo_bits/fn_reverse.hpp
include/armadillo_bits/fn_roots.hpp
include/armadillo_bits/fn_schur.hpp
include/armadillo_bits/fn_shift.hpp
include/armadillo_bits/fn_shuffle.hpp
include/armadillo_bits/fn_size.hpp
include/armadillo_bits/fn_solve.hpp
include/armadillo_bits/fn_sort.hpp
include/armadillo_bits/fn_sort_index.hpp
include/armadillo_bits/fn_speye.hpp
include/armadillo_bits/fn_spones.hpp
include/armadillo_bits/fn_sprandn.hpp
include/armadillo_bits/fn_sprandu.hpp
include/armadillo_bits/fn_spsolve.hpp
include/armadillo_bits/fn_sqrtmat.hpp
include/armadillo_bits/fn_stddev.hpp
include/armadillo_bits/fn_strans.hpp
include/armadillo_bits/fn_sum.hpp
include/armadillo_bits/fn_svd.hpp
include/armadillo_bits/fn_svds.hpp
include/armadillo_bits/fn_sylvester.hpp
include/armadillo_bits/fn_symmat.hpp
include/armadillo_bits/fn_toeplitz.hpp
include/armadillo_bits/fn_trace.hpp
include/armadillo_bits/fn_trans.hpp
include/armadillo_bits/fn_trapz.hpp
include/armadillo_bits/fn_trig.hpp
include/armadillo_bits/fn_trimat.hpp
include/armadillo_bits/fn_trimat_ind.hpp
include/armadillo_bits/fn_trunc_exp.hpp
include/armadillo_bits/fn_trunc_log.hpp
include/armadillo_bits/fn_unique.hpp
include/armadillo_bits/fn_var.hpp
include/armadillo_bits/fn_vecnorm.hpp
include/armadillo_bits/fn_vectorise.hpp
include/armadillo_bits/fn_wishrnd.hpp
include/armadillo_bits/fn_zeros.hpp
include/armadillo_bits/glue_affmul_bones.hpp
include/armadillo_bits/glue_affmul_meat.hpp
include/armadillo_bits/glue_atan2_bones.hpp
include/armadillo_bits/glue_atan2_meat.hpp
include/armadillo_bits/glue_conv_bones.hpp
include/armadillo_bits/glue_conv_meat.hpp
include/armadillo_bits/glue_cor_bones.hpp
include/armadillo_bits/glue_cor_meat.hpp
include/armadillo_bits/glue_cov_bones.hpp
include/armadillo_bits/glue_cov_meat.hpp
include/armadillo_bits/glue_cross_bones.hpp
include/armadillo_bits/glue_cross_meat.hpp
include/armadillo_bits/glue_hist_bones.hpp
include/armadillo_bits/glue_hist_meat.hpp
include/armadillo_bits/glue_histc_bones.hpp
include/armadillo_bits/glue_histc_meat.hpp
include/armadillo_bits/glue_hypot_bones.hpp
include/armadillo_bits/glue_hypot_meat.hpp
include/armadillo_bits/glue_intersect_bones.hpp
include/armadillo_bits/glue_intersect_meat.hpp
include/armadillo_bits/glue_join_bones.hpp
include/armadillo_bits/glue_join_meat.hpp
include/armadillo_bits/glue_kron_bones.hpp
include/armadillo_bits/glue_kron_meat.hpp
include/armadillo_bits/glue_max_bones.hpp
include/armadillo_bits/glue_max_meat.hpp
include/armadillo_bits/glue_min_bones.hpp
include/armadillo_bits/glue_min_meat.hpp
include/armadillo_bits/glue_mixed_bones.hpp
include/armadillo_bits/glue_mixed_meat.hpp
include/armadillo_bits/glue_mvnrnd_bones.hpp
include/armadillo_bits/glue_mvnrnd_meat.hpp
include/armadillo_bits/glue_polyfit_bones.hpp
include/armadillo_bits/glue_polyfit_meat.hpp
include/armadillo_bits/glue_polyval_bones.hpp
include/armadillo_bits/glue_polyval_meat.hpp
include/armadillo_bits/glue_powext_bones.hpp
include/armadillo_bits/glue_powext_meat.hpp
include/armadillo_bits/glue_quantile_bones.hpp
include/armadillo_bits/glue_quantile_meat.hpp
include/armadillo_bits/glue_relational_bones.hpp
include/armadillo_bits/glue_relational_meat.hpp
include/armadillo_bits/glue_solve_bones.hpp
include/armadillo_bits/glue_solve_meat.hpp
include/armadillo_bits/glue_times_bones.hpp
include/armadillo_bits/glue_times_meat.hpp
include/armadillo_bits/glue_times_misc_bones.hpp
include/armadillo_bits/glue_times_misc_meat.hpp
include/armadillo_bits/glue_toeplitz_bones.hpp
include/armadillo_bits/glue_toeplitz_meat.hpp
include/armadillo_bits/glue_trapz_bones.hpp
include/armadillo_bits/glue_trapz_meat.hpp
include/armadillo_bits/gmm_diag_bones.hpp
include/armadillo_bits/gmm_diag_meat.hpp
include/armadillo_bits/gmm_full_bones.hpp
include/armadillo_bits/gmm_full_meat.hpp
include/armadillo_bits/gmm_misc_bones.hpp
include/armadillo_bits/gmm_misc_meat.hpp
include/armadillo_bits/hdf5_misc.hpp
include/armadillo_bits/hdf5_name.hpp
include/armadillo_bits/include_hdf5.hpp
include/armadillo_bits/include_superlu.hpp
include/armadillo_bits/injector_bones.hpp
include/armadillo_bits/injector_meat.hpp
include/armadillo_bits/memory.hpp
include/armadillo_bits/mp_misc.hpp
include/armadillo_bits/mtGlueCube_bones.hpp
include/armadillo_bits/mtGlueCube_meat.hpp
include/armadillo_bits/mtGlue_bones.hpp
include/armadillo_bits/mtGlue_meat.hpp
include/armadillo_bits/mtOpCube_bones.hpp
include/armadillo_bits/mtOpCube_meat.hpp
include/armadillo_bits/mtOp_bones.hpp
include/armadillo_bits/mtOp_meat.hpp
include/armadillo_bits/mtSpGlue_bones.hpp
include/armadillo_bits/mtSpGlue_meat.hpp
include/armadillo_bits/mtSpOp_bones.hpp
include/armadillo_bits/mtSpOp_meat.hpp
include/armadillo_bits/mul_gemm.hpp
include/armadillo_bits/mul_gemm_mixed.hpp
include/armadillo_bits/mul_gemv.hpp
include/armadillo_bits/mul_herk.hpp
include/armadillo_bits/mul_syrk.hpp
include/armadillo_bits/newarp_DenseGenMatProd_bones.hpp
include/armadillo_bits/newarp_DenseGenMatProd_meat.hpp
include/armadillo_bits/newarp_DoubleShiftQR_bones.hpp
include/armadillo_bits/newarp_DoubleShiftQR_meat.hpp
include/armadillo_bits/newarp_EigsSelect.hpp
include/armadillo_bits/newarp_GenEigsSolver_bones.hpp
include/armadillo_bits/newarp_GenEigsSolver_meat.hpp
include/armadillo_bits/newarp_SortEigenvalue.hpp
include/armadillo_bits/newarp_SparseGenMatProd_bones.hpp
include/armadillo_bits/newarp_SparseGenMatProd_meat.hpp
include/armadillo_bits/newarp_SparseGenRealShiftSolve_bones.hpp
include/armadillo_bits/newarp_SparseGenRealShiftSolve_meat.hpp
include/armadillo_bits/newarp_SymEigsShiftSolver_bones.hpp
include/armadillo_bits/newarp_SymEigsShiftSolver_meat.hpp
include/armadillo_bits/newarp_SymEigsSolver_bones.hpp
include/armadillo_bits/newarp_SymEigsSolver_meat.hpp
include/armadillo_bits/newarp_TridiagEigen_bones.hpp
include/armadillo_bits/newarp_TridiagEigen_meat.hpp
include/armadillo_bits/newarp_UpperHessenbergEigen_bones.hpp
include/armadillo_bits/newarp_UpperHessenbergEigen_meat.hpp
include/armadillo_bits/newarp_UpperHessenbergQR_bones.hpp
include/armadillo_bits/newarp_UpperHessenbergQR_meat.hpp
include/armadillo_bits/newarp_cx_attrib.hpp
include/armadillo_bits/op_all_bones.hpp
include/armadillo_bits/op_all_meat.hpp
include/armadillo_bits/op_any_bones.hpp
include/armadillo_bits/op_any_meat.hpp
include/armadillo_bits/op_chi2rnd_bones.hpp
include/armadillo_bits/op_chi2rnd_meat.hpp
include/armadillo_bits/op_chol_bones.hpp
include/armadillo_bits/op_chol_meat.hpp
include/armadillo_bits/op_clamp_bones.hpp
include/armadillo_bits/op_clamp_meat.hpp
include/armadillo_bits/op_col_as_mat_bones.hpp
include/armadillo_bits/op_col_as_mat_meat.hpp
include/armadillo_bits/op_cond_bones.hpp
include/armadillo_bits/op_cond_meat.hpp
include/armadillo_bits/op_cor_bones.hpp
include/armadillo_bits/op_cor_meat.hpp
include/armadillo_bits/op_cov_bones.hpp
include/armadillo_bits/op_cov_meat.hpp
include/armadillo_bits/op_cumprod_bones.hpp
include/armadillo_bits/op_cumprod_meat.hpp
include/armadillo_bits/op_cumsum_bones.hpp
include/armadillo_bits/op_cumsum_meat.hpp
include/armadillo_bits/op_cx_scalar_bones.hpp
include/armadillo_bits/op_cx_scalar_meat.hpp
include/armadillo_bits/op_det_bones.hpp
include/armadillo_bits/op_det_meat.hpp
include/armadillo_bits/op_diagmat_bones.hpp
include/armadillo_bits/op_diagmat_meat.hpp
include/armadillo_bits/op_diagvec_bones.hpp
include/armadillo_bits/op_diagvec_meat.hpp
include/armadillo_bits/op_diff_bones.hpp
include/armadillo_bits/op_diff_meat.hpp
include/armadillo_bits/op_dot_bones.hpp
include/armadillo_bits/op_dot_meat.hpp
include/armadillo_bits/op_dotext_bones.hpp
include/armadillo_bits/op_dotext_meat.hpp
include/armadillo_bits/op_expmat_bones.hpp
include/armadillo_bits/op_expmat_meat.hpp
include/armadillo_bits/op_fft_bones.hpp
include/armadillo_bits/op_fft_meat.hpp
include/armadillo_bits/op_find_bones.hpp
include/armadillo_bits/op_find_meat.hpp
include/armadillo_bits/op_find_unique_bones.hpp
include/armadillo_bits/op_find_unique_meat.hpp
include/armadillo_bits/op_flip_bones.hpp
include/armadillo_bits/op_flip_meat.hpp
include/armadillo_bits/op_hist_bones.hpp
include/armadillo_bits/op_hist_meat.hpp
include/armadillo_bits/op_htrans_bones.hpp
include/armadillo_bits/op_htrans_meat.hpp
include/armadillo_bits/op_index_max_bones.hpp
include/armadillo_bits/op_index_max_meat.hpp
include/armadillo_bits/op_index_min_bones.hpp
include/armadillo_bits/op_index_min_meat.hpp
include/armadillo_bits/op_inv_gen_bones.hpp
include/armadillo_bits/op_inv_gen_meat.hpp
include/armadillo_bits/op_inv_spd_bones.hpp
include/armadillo_bits/op_inv_spd_meat.hpp
include/armadillo_bits/op_log_det_bones.hpp
include/armadillo_bits/op_log_det_meat.hpp
include/armadillo_bits/op_logmat_bones.hpp
include/armadillo_bits/op_logmat_meat.hpp
include/armadillo_bits/op_max_bones.hpp
include/armadillo_bits/op_max_meat.hpp
include/armadillo_bits/op_mean_bones.hpp
include/armadillo_bits/op_mean_meat.hpp
include/armadillo_bits/op_median_bones.hpp
include/armadillo_bits/op_median_meat.hpp
include/armadillo_bits/op_min_bones.hpp
include/armadillo_bits/op_min_meat.hpp
include/armadillo_bits/op_misc_bones.hpp
include/armadillo_bits/op_misc_meat.hpp
include/armadillo_bits/op_nonzeros_bones.hpp
include/armadillo_bits/op_nonzeros_meat.hpp
include/armadillo_bits/op_norm2est_bones.hpp
include/armadillo_bits/op_norm2est_meat.hpp
include/armadillo_bits/op_norm_bones.hpp
include/armadillo_bits/op_norm_meat.hpp
include/armadillo_bits/op_normalise_bones.hpp
include/armadillo_bits/op_normalise_meat.hpp
include/armadillo_bits/op_orth_null_bones.hpp
include/armadillo_bits/op_orth_null_meat.hpp
include/armadillo_bits/op_pinv_bones.hpp
include/armadillo_bits/op_pinv_meat.hpp
include/armadillo_bits/op_powmat_bones.hpp
include/armadillo_bits/op_powmat_meat.hpp
include/armadillo_bits/op_princomp_bones.hpp
include/armadillo_bits/op_princomp_meat.hpp
include/armadillo_bits/op_prod_bones.hpp
include/armadillo_bits/op_prod_meat.hpp
include/armadillo_bits/op_range_bones.hpp
include/armadillo_bits/op_range_meat.hpp
include/armadillo_bits/op_rank_bones.hpp
include/armadillo_bits/op_rank_meat.hpp
include/armadillo_bits/op_rcond_bones.hpp
include/armadillo_bits/op_rcond_meat.hpp
include/armadillo_bits/op_relational_bones.hpp
include/armadillo_bits/op_relational_meat.hpp
include/armadillo_bits/op_repelem_bones.hpp
include/armadillo_bits/op_repelem_meat.hpp
include/armadillo_bits/op_repmat_bones.hpp
include/armadillo_bits/op_repmat_meat.hpp
include/armadillo_bits/op_reshape_bones.hpp
include/armadillo_bits/op_reshape_meat.hpp
include/armadillo_bits/op_resize_bones.hpp
include/armadillo_bits/op_resize_meat.hpp
include/armadillo_bits/op_reverse_bones.hpp
include/armadillo_bits/op_reverse_meat.hpp
include/armadillo_bits/op_roots_bones.hpp
include/armadillo_bits/op_roots_meat.hpp
include/armadillo_bits/op_row_as_mat_bones.hpp
include/armadillo_bits/op_row_as_mat_meat.hpp
include/armadillo_bits/op_shift_bones.hpp
include/armadillo_bits/op_shift_meat.hpp
include/armadillo_bits/op_shuffle_bones.hpp
include/armadillo_bits/op_shuffle_meat.hpp
include/armadillo_bits/op_sort_bones.hpp
include/armadillo_bits/op_sort_index_bones.hpp
include/armadillo_bits/op_sort_index_meat.hpp
include/armadillo_bits/op_sort_meat.hpp
include/armadillo_bits/op_sp_minus_bones.hpp
include/armadillo_bits/op_sp_minus_meat.hpp
include/armadillo_bits/op_sp_plus_bones.hpp
include/armadillo_bits/op_sp_plus_meat.hpp
include/armadillo_bits/op_sqrtmat_bones.hpp
include/armadillo_bits/op_sqrtmat_meat.hpp
include/armadillo_bits/op_stddev_bones.hpp
include/armadillo_bits/op_stddev_meat.hpp
include/armadillo_bits/op_strans_bones.hpp
include/armadillo_bits/op_strans_meat.hpp
include/armadillo_bits/op_sum_bones.hpp
include/armadillo_bits/op_sum_meat.hpp
include/armadillo_bits/op_symmat_bones.hpp
include/armadillo_bits/op_symmat_meat.hpp
include/armadillo_bits/op_toeplitz_bones.hpp
include/armadillo_bits/op_toeplitz_meat.hpp
include/armadillo_bits/op_trimat_bones.hpp
include/armadillo_bits/op_trimat_meat.hpp
include/armadillo_bits/op_unique_bones.hpp
include/armadillo_bits/op_unique_meat.hpp
include/armadillo_bits/op_var_bones.hpp
include/armadillo_bits/op_var_meat.hpp
include/armadillo_bits/op_vecnorm_bones.hpp
include/armadillo_bits/op_vecnorm_meat.hpp
include/armadillo_bits/op_vectorise_bones.hpp
include/armadillo_bits/op_vectorise_meat.hpp
include/armadillo_bits/op_wishrnd_bones.hpp
include/armadillo_bits/op_wishrnd_meat.hpp
include/armadillo_bits/operator_cube_div.hpp
include/armadillo_bits/operator_cube_minus.hpp
include/armadillo_bits/operator_cube_plus.hpp
include/armadillo_bits/operator_cube_relational.hpp
include/armadillo_bits/operator_cube_schur.hpp
include/armadillo_bits/operator_cube_times.hpp
include/armadillo_bits/operator_div.hpp
include/armadillo_bits/operator_minus.hpp
include/armadillo_bits/operator_ostream.hpp
include/armadillo_bits/operator_plus.hpp
include/armadillo_bits/operator_relational.hpp
include/armadillo_bits/operator_schur.hpp
include/armadillo_bits/operator_times.hpp
include/armadillo_bits/podarray_bones.hpp
include/armadillo_bits/podarray_meat.hpp
include/armadillo_bits/promote_type.hpp
include/armadillo_bits/restrictors.hpp
include/armadillo_bits/running_stat_bones.hpp
include/armadillo_bits/running_stat_meat.hpp
include/armadillo_bits/running_stat_vec_bones.hpp
include/armadillo_bits/running_stat_vec_meat.hpp
include/armadillo_bits/sp_auxlib_bones.hpp
include/armadillo_bits/sp_auxlib_meat.hpp
include/armadillo_bits/span.hpp
include/armadillo_bits/spdiagview_bones.hpp
include/armadillo_bits/spdiagview_meat.hpp
include/armadillo_bits/spglue_join_bones.hpp
include/armadillo_bits/spglue_join_meat.hpp
include/armadillo_bits/spglue_kron_bones.hpp
include/armadillo_bits/spglue_kron_meat.hpp
include/armadillo_bits/spglue_max_bones.hpp
include/armadillo_bits/spglue_max_meat.hpp
include/armadillo_bits/spglue_merge_bones.hpp
include/armadillo_bits/spglue_merge_meat.hpp
include/armadillo_bits/spglue_min_bones.hpp
include/armadillo_bits/spglue_min_meat.hpp
include/armadillo_bits/spglue_minus_bones.hpp
include/armadillo_bits/spglue_minus_meat.hpp
include/armadillo_bits/spglue_plus_bones.hpp
include/armadillo_bits/spglue_plus_meat.hpp
include/armadillo_bits/spglue_relational_bones.hpp
include/armadillo_bits/spglue_relational_meat.hpp
include/armadillo_bits/spglue_schur_bones.hpp
include/armadillo_bits/spglue_schur_meat.hpp
include/armadillo_bits/spglue_times_bones.hpp
include/armadillo_bits/spglue_times_meat.hpp
include/armadillo_bits/spop_diagmat_bones.hpp
include/armadillo_bits/spop_diagmat_meat.hpp
include/armadillo_bits/spop_htrans_bones.hpp
include/armadillo_bits/spop_htrans_meat.hpp
include/armadillo_bits/spop_max_bones.hpp
include/armadillo_bits/spop_max_meat.hpp
include/armadillo_bits/spop_mean_bones.hpp
include/armadillo_bits/spop_mean_meat.hpp
include/armadillo_bits/spop_min_bones.hpp
include/armadillo_bits/spop_min_meat.hpp
include/armadillo_bits/spop_misc_bones.hpp
include/armadillo_bits/spop_misc_meat.hpp
include/armadillo_bits/spop_norm_bones.hpp
include/armadillo_bits/spop_norm_meat.hpp
include/armadillo_bits/spop_normalise_bones.hpp
include/armadillo_bits/spop_normalise_meat.hpp
include/armadillo_bits/spop_repmat_bones.hpp
include/armadillo_bits/spop_repmat_meat.hpp
include/armadillo_bits/spop_reverse_bones.hpp
include/armadillo_bits/spop_reverse_meat.hpp
include/armadillo_bits/spop_strans_bones.hpp
include/armadillo_bits/spop_strans_meat.hpp
include/armadillo_bits/spop_sum_bones.hpp
include/armadillo_bits/spop_sum_meat.hpp
include/armadillo_bits/spop_symmat_bones.hpp
include/armadillo_bits/spop_symmat_meat.hpp
include/armadillo_bits/spop_trimat_bones.hpp
include/armadillo_bits/spop_trimat_meat.hpp
include/armadillo_bits/spop_var_bones.hpp
include/armadillo_bits/spop_var_meat.hpp
include/armadillo_bits/spop_vecnorm_bones.hpp
include/armadillo_bits/spop_vecnorm_meat.hpp
include/armadillo_bits/spop_vectorise_bones.hpp
include/armadillo_bits/spop_vectorise_meat.hpp
include/armadillo_bits/spsolve_factoriser_bones.hpp
include/armadillo_bits/spsolve_factoriser_meat.hpp
include/armadillo_bits/strip.hpp
include/armadillo_bits/subview_bones.hpp
include/armadillo_bits/subview_cube_bones.hpp
include/armadillo_bits/subview_cube_each_bones.hpp
include/armadillo_bits/subview_cube_each_meat.hpp
include/armadillo_bits/subview_cube_meat.hpp
include/armadillo_bits/subview_cube_slices_bones.hpp
include/armadillo_bits/subview_cube_slices_meat.hpp
include/armadillo_bits/subview_each_bones.hpp
include/armadillo_bits/subview_each_meat.hpp
include/armadillo_bits/subview_elem1_bones.hpp
include/armadillo_bits/subview_elem1_meat.hpp
include/armadillo_bits/subview_elem2_bones.hpp
include/armadillo_bits/subview_elem2_meat.hpp
include/armadillo_bits/subview_field_bones.hpp
include/armadillo_bits/subview_field_meat.hpp
include/armadillo_bits/subview_meat.hpp
include/armadillo_bits/sym_helper.hpp
include/armadillo_bits/traits.hpp
include/armadillo_bits/translate_arpack.hpp
include/armadillo_bits/translate_atlas.hpp
include/armadillo_bits/translate_blas.hpp
include/armadillo_bits/translate_fftw3.hpp
include/armadillo_bits/translate_lapack.hpp
include/armadillo_bits/translate_superlu.hpp
include/armadillo_bits/trimat_helper.hpp
include/armadillo_bits/typedef_elem.hpp
include/armadillo_bits/typedef_elem_check.hpp
include/armadillo_bits/typedef_mat.hpp
include/armadillo_bits/typedef_mat_fixed.hpp
include/armadillo_bits/unwrap.hpp
include/armadillo_bits/unwrap_cube.hpp
include/armadillo_bits/unwrap_spmat.hpp
include/armadillo_bits/upgrade_val.hpp
include/armadillo_bits/wall_clock_bones.hpp
include/armadillo_bits/wall_clock_meat.hpp
include/armadillo_bits/xtrans_mat_bones.hpp
include/armadillo_bits/xtrans_mat_meat.hpp
include/armadillo_bits/xvec_htrans_bones.hpp
include/armadillo_bits/xvec_htrans_meat.hpp
lib/libarmadillo.so
lib/libarmadillo.so.12
lib/libarmadillo.so.${PKGVERSION}
lib/pkgconfig/armadillo.pc
share/Armadillo/CMake/ArmadilloConfig.cmake
share/Armadillo/CMake/ArmadilloConfigVersion.cmake
share/Armadillo/CMake/ArmadilloLibraryDepends-noconfig.cmake
share/Armadillo/CMake/ArmadilloLibraryDepends.cmake

View file

@ -0,0 +1,17 @@
# $NetBSD: buildlink3.mk,v 1.1 2023/12/19 12:28:50 thor Exp $
BUILDLINK_TREE+= armadillo
.if !defined(ARMADILLO_BUILDLINK3_MK)
ARMADILLO_BUILDLINK3_MK:=
BUILDLINK_API_DEPENDS.armadillo+= armadillo>=4.45.2
BUILDLINK_ABI_DEPENDS.armadillo?= armadillo>=4.45.2
BUILDLINK_PKGSRCDIR.armadillo?= ../../math/armadillo
.include "../../mk/blas.buildlink3.mk"
.include "../../math/superlu/buildlink3.mk"
.include "../../math/arpack-ng/buildlink3.mk"
.endif # ARMADILLO_BUILDLINK3_MK
BUILDLINK_TREE+= -armadillo

6
math/armadillo/distinfo Normal file
View file

@ -0,0 +1,6 @@
$NetBSD: distinfo,v 1.1 2023/12/19 12:28:50 thor Exp $
BLAKE2s (armadillo-12.6.7.tar.xz) = 6953048ef4570294c4851f6684147106a33b8abade8cc36fe49be35a0a6827ab
SHA512 (armadillo-12.6.7.tar.xz) = bf792ab2655b1cf957a29f1bdd7a692fd75c79f4f2df1eca35d84969908784f3542b82dd5a5b0a339ab88719c2c602a175dee7fd1e9dbd2884eb19a81d061fa3
Size (armadillo-12.6.7.tar.xz) = 6813060 bytes
SHA1 (patch-CMakeLists.txt) = 9c6d822e52b1020c594116156018e7434cda3e17

View file

@ -0,0 +1,241 @@
$NetBSD: patch-CMakeLists.txt,v 1.1 2023/12/19 12:28:50 thor Exp $
Make the build just use the modern FindBLAS and FindLAPACK builtins
of a recent-ish cmake. That avoids so much trouble forcing choices.
--- CMakeLists.txt.orig 2016-06-16 16:27:07.000000000 +0000
+++ CMakeLists.txt
@@ -28,7 +28,7 @@
## NOTE: More details: https://arma.sourceforge.net/faq.html
-cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.6 FATAL_ERROR)
if(NOT (${CMAKE_MAJOR_VERSION} LESS 3))
if(POLICY CMP0025)
@@ -249,194 +249,21 @@ message(STATUS "*** Looking for external
## Find LAPACK and BLAS libraries, or their optimised versions
##
-set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake_aux/Modules/")
-
-if(APPLE)
- message(STATUS "Detected macOS")
-
- set(ARMA_USE_LAPACK true)
- set(ARMA_USE_BLAS true)
- set(ARMA_USE_ACCELERATE true)
-
- if(ALLOW_OPENBLAS_MACOS)
- include(ARMA_FindOpenBLAS)
- message(STATUS "OpenBLAS_FOUND = ${OpenBLAS_FOUND}")
- message(STATUS "")
- message(STATUS "*** If use of OpenBLAS is causing problems,")
- message(STATUS "*** rerun cmake with detection of OpenBLAS disabled:")
- message(STATUS "*** cmake -D ALLOW_OPENBLAS_MACOS=false .")
- message(STATUS "")
-
- if(OpenBLAS_FOUND)
- set(ARMA_LIBS ${ARMA_LIBS} ${OpenBLAS_LIBRARIES})
- set(ARMA_USE_ACCELERATE false)
- endif()
- endif()
-
- if(ALLOW_BLAS_LAPACK_MACOS)
- include(ARMA_FindBLAS)
- include(ARMA_FindLAPACK)
- message(STATUS " BLAS_FOUND = ${BLAS_FOUND}" )
- message(STATUS "LAPACK_FOUND = ${LAPACK_FOUND}")
- message(STATUS "")
- message(STATUS "*** If use of BLAS and LAPACK is causing problems,")
- message(STATUS "*** rerun cmake with detection of BLAS and LAPACK disabled:")
- message(STATUS "*** cmake -D ALLOW_BLAS_LAPACK_MACOS=false .")
- message(STATUS "")
-
- if(BLAS_FOUND AND LAPACK_FOUND)
- set(ARMA_LIBS ${ARMA_LIBS} ${BLAS_LIBRARIES})
- set(ARMA_LIBS ${ARMA_LIBS} ${LAPACK_LIBRARIES})
- set(ARMA_USE_ACCELERATE false)
- endif()
- endif()
-
- if(ARMA_USE_ACCELERATE)
- set(ARMA_LIBS ${ARMA_LIBS} "-framework Accelerate") # or "-framework accelerate" ?
- message(STATUS "Added '-framework Accelerate' to compiler flags")
- endif()
-
- if(DEFINED CMAKE_CXX_COMPILER_ID)
- if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
- message(STATUS "Detected Clang compiler on macOS. Added '-stdlib=libc++' to compiler flags")
- endif()
-
- if(NOT (${CMAKE_MAJOR_VERSION} LESS 3))
- if(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
- message(STATUS "Detected AppleClang compiler on macOS. Added '-stdlib=libc++' to compiler flags")
- endif()
- endif()
- endif()
-
- set(CMAKE_MACOSX_RPATH 1)
-
-else()
-
- if(ALLOW_FLEXIBLAS_LINUX AND (${CMAKE_SYSTEM_NAME} MATCHES "Linux"))
- include(ARMA_FindFlexiBLAS)
- else()
- set(FlexiBLAS_FOUND false)
- endif()
-
- include(ARMA_FindMKL)
- include(ARMA_FindOpenBLAS)
- include(ARMA_FindATLAS) # TODO: remove support for ATLAS in next major version
- include(ARMA_FindBLAS)
- include(ARMA_FindLAPACK)
-
- message(STATUS "FlexiBLAS_FOUND = ${FlexiBLAS_FOUND}" )
- message(STATUS " MKL_FOUND = ${MKL_FOUND}" )
- message(STATUS " OpenBLAS_FOUND = ${OpenBLAS_FOUND}" )
- message(STATUS " ATLAS_FOUND = ${ATLAS_FOUND}" )
- message(STATUS " BLAS_FOUND = ${BLAS_FOUND}" )
- message(STATUS " LAPACK_FOUND = ${LAPACK_FOUND}" )
-
- if(FlexiBLAS_FOUND)
-
- set(ARMA_USE_LAPACK true)
- set(ARMA_USE_BLAS true)
-
- set(ARMA_LIBS ${ARMA_LIBS} ${FlexiBLAS_LIBRARIES})
-
- message(STATUS "")
- message(STATUS "*** Using FlexiBLAS to access BLAS and LAPACK functions.")
- message(STATUS "*** https://www.mpi-magdeburg.mpg.de/projects/flexiblas")
- message(STATUS "*** WARNING: SuperLU and ARPACK must also link with FlexiBLAS.")
- message(STATUS "")
- message(STATUS "*** If using FlexiBLAS causes problems, ")
- message(STATUS "*** rerun cmake with FlexiBLAS detection disabled:")
- message(STATUS "*** cmake -D ALLOW_FLEXIBLAS_LINUX=false .")
- message(STATUS "")
-
- elseif(MKL_FOUND)
-
- set(ARMA_USE_LAPACK true)
- set(ARMA_USE_BLAS true)
- set(ARMA_LIBS ${ARMA_LIBS} ${MKL_LIBRARIES})
-
- message(STATUS "")
- message(STATUS "*** If the MKL libraries are installed in non-standard locations such as")
- message(STATUS "*** /opt/intel/mkl, /opt/intel/composerxe/, /usr/local/intel/mkl")
- message(STATUS "*** make sure the run-time linker can find them.")
- message(STATUS "*** On Linux systems this can be done by editing /etc/ld.so.conf")
- message(STATUS "*** or modifying the LD_LIBRARY_PATH environment variable.")
- message(STATUS "")
- message(STATUS "*** On systems with SELinux enabled (eg. Fedora, RHEL),")
- message(STATUS "*** you may need to change the SELinux type of all MKL libraries")
- message(STATUS "*** to fix permission problems that may occur during run-time.")
- message(STATUS "")
-
- else()
-
- if(OpenBLAS_FOUND AND ATLAS_FOUND)
- message(STATUS "")
- message(STATUS "*** NOTE: found both OpenBLAS and ATLAS; ATLAS will not be used")
- endif()
-
- if(OpenBLAS_FOUND AND BLAS_FOUND)
- message(STATUS "")
- message(STATUS "*** NOTE: found both OpenBLAS and BLAS; BLAS will not be used")
- endif()
-
- if(OpenBLAS_FOUND)
-
- set(ARMA_USE_BLAS true)
- set(ARMA_LIBS ${ARMA_LIBS} ${OpenBLAS_LIBRARIES})
-
- if(OPENBLAS_PROVIDES_LAPACK)
- set(ARMA_USE_LAPACK true)
- else()
- message(STATUS "")
- message(STATUS "*** NOTE: if OpenBLAS is known to provide LAPACK functions, recommend to")
- message(STATUS "*** NOTE: rerun cmake with the OPENBLAS_PROVIDES_LAPACK option enabled:")
- message(STATUS "*** NOTE: cmake -D OPENBLAS_PROVIDES_LAPACK=true .")
- endif()
-
- message(STATUS "")
- message(STATUS "*** If the OpenBLAS library is installed in")
- message(STATUS "*** /usr/local/lib or /usr/local/lib64")
- message(STATUS "*** make sure the run-time linker can find it.")
- message(STATUS "*** On Linux systems this can be done by editing /etc/ld.so.conf")
- message(STATUS "*** or modifying the LD_LIBRARY_PATH environment variable.")
- message(STATUS "")
-
- else()
-
- if(ATLAS_FOUND)
- set(ARMA_USE_ATLAS true)
- set(ARMA_LIBS ${ARMA_LIBS} ${ATLAS_LIBRARIES})
-
- message(STATUS "")
- message(STATUS "*** NOTE: support for ATLAS is deprecated and will be removed;")
- message(STATUS "*** NOTE: recommend to use OpenBLAS or FlexiBLAS instead.")
- message(STATUS "")
- endif()
-
- if(BLAS_FOUND)
- set(ARMA_USE_BLAS true)
- set(ARMA_LIBS ${ARMA_LIBS} ${BLAS_LIBRARIES})
- endif()
-
- endif()
-
- if(LAPACK_FOUND)
- if(OpenBLAS_FOUND AND OPENBLAS_PROVIDES_LAPACK)
- message(STATUS "*** NOTE: found both OpenBLAS and LAPACK;")
- message(STATUS "*** NOTE: option OPENBLAS_PROVIDES_LAPACK is enabled,")
- message(STATUS "*** NOTE: so will not link with plain LAPACK.")
- message(STATUS "")
- else()
- set(ARMA_USE_LAPACK true)
- set(ARMA_LIBS ${ARMA_LIBS} ${LAPACK_LIBRARIES})
- endif()
- endif()
-
- endif()
-
+# In a nice world, this encompasses any implementation, including
+# Acclerate.
+find_package(BLAS)
+find_package(LAPACK)
+message(STATUS " BLAS_FOUND = ${BLAS_FOUND} (${BLAS_LIBRARIES})" )
+message(STATUS " LAPACK_FOUND = ${LAPACK_FOUND} (${LAPACK_LIBRARIES})" )
+if(BLAS_FOUND AND LAPACK_FOUND)
+ set(ARMA_LIBS ${ARMA_LIBS} ${BLAS_LIBRARIES})
+ set(ARMA_LIBS ${ARMA_LIBS} ${LAPACK_LIBRARIES})
+ set(ARMA_USE_LAPACK true)
+ set(ARMA_USE_BLAS true)
+ set(ARMA_USE_ACCELERATE false)
endif()
+set (CMAKE_MODULE_PATH "/data/projekte/pkgsrc/work/math/armadillo/work/.buildlink/cmake-Modules" ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake_aux/Modules/")
include(ARMA_FindARPACK)
message(STATUS "ARPACK_FOUND = ${ARPACK_FOUND}")
@@ -462,16 +289,6 @@ if(NOT ARMA_USE_LAPACK)
message(STATUS "")
message(STATUS "*** WARNING: Use of LAPACK is not enabled, as no LAPACK compatible library has been found.")
message(STATUS "*** WARNING: This will materially degrade the available functionality in Armadillo.")
-
- if(OpenBLAS_FOUND)
- message(STATUS "")
- message(STATUS "*** NOTE: OpenBLAS found but LAPACK not found.")
- message(STATUS "*** NOTE: OpenBLAS may have been built without LAPACK functions,")
- message(STATUS "*** NOTE: so cannot assume that LAPACK functions are available.")
- message(STATUS "*** NOTE: To forcefully assume that OpenBLAS provides LAPACK functions,")
- message(STATUS "*** NOTE: rerun cmake with the OPENBLAS_PROVIDES_LAPACK option enabled:")
- message(STATUS "*** NOTE: cmake -D OPENBLAS_PROVIDES_LAPACK=true .")
- endif()
endif()