├── .Rbuildignore ├── .gitignore ├── DESCRIPTION ├── LICENSE ├── NAMESPACE ├── NEWS.md ├── R ├── RcppBlaze-package.R ├── RcppExports.R └── flags.R ├── README.md ├── RcppBlaze.Rproj ├── inst ├── examples │ └── lmBenchmark.R ├── include │ ├── RcppBlaze.h │ ├── RcppBlazeAs.h │ ├── RcppBlazeConfig.h │ ├── RcppBlazeForward.h │ ├── RcppBlazeWrap.h │ └── blaze │ │ ├── Blaze.h │ │ ├── Forward.h │ │ ├── Math.h │ │ ├── Tutorial.h │ │ ├── Util.h │ │ ├── config │ │ ├── Alignment.h │ │ ├── Assertion.h │ │ ├── BLAS.h │ │ ├── CacheSize.h │ │ ├── Config.h │ │ ├── Debugging.h │ │ ├── Inline.h │ │ ├── MPI.h │ │ ├── Optimizations.h │ │ ├── Padding.h │ │ ├── Random.h │ │ ├── Restrict.h │ │ ├── SMP.h │ │ ├── StorageOrder.h │ │ ├── Thresholds.h │ │ ├── TransposeFlag.h │ │ └── Vectorization.h │ │ ├── math │ │ ├── Accuracy.h │ │ ├── Aliases.h │ │ ├── AlignmentFlag.h │ │ ├── BLAS.h │ │ ├── Band.h │ │ ├── Column.h │ │ ├── Columns.h │ │ ├── CompressedMatrix.h │ │ ├── CompressedVector.h │ │ ├── Constraints.h │ │ ├── CustomMatrix.h │ │ ├── CustomVector.h │ │ ├── DenseMatrix.h │ │ ├── DenseVector.h │ │ ├── DiagonalMatrix.h │ │ ├── DynamicMatrix.h │ │ ├── DynamicVector.h │ │ ├── Elements.h │ │ ├── Epsilon.h │ │ ├── Exception.h │ │ ├── Forward.h │ │ ├── Functors.h │ │ ├── GroupTag.h │ │ ├── HermitianMatrix.h │ │ ├── HybridMatrix.h │ │ ├── HybridVector.h │ │ ├── IdentityMatrix.h │ │ ├── Infinity.h │ │ ├── InitializerList.h │ │ ├── InitializerMatrix.h │ │ ├── InitializerVector.h │ │ ├── InversionFlag.h │ │ ├── LAPACK.h │ │ ├── LowerMatrix.h │ │ ├── Math.h │ │ ├── Matrix.h │ │ ├── PaddingFlag.h │ │ ├── ReductionFlag.h │ │ ├── RelaxationFlag.h │ │ ├── Row.h │ │ ├── Rows.h │ │ ├── SIMD.h │ │ ├── SMP.h │ │ ├── Serialization.h │ │ ├── Shims.h │ │ ├── SparseMatrix.h │ │ ├── SparseVector.h │ │ ├── StaticMatrix.h │ │ ├── StaticVector.h │ │ ├── StorageOrder.h │ │ ├── StrictlyLowerMatrix.h │ │ ├── StrictlyUpperMatrix.h │ │ ├── Submatrix.h │ │ ├── Subvector.h │ │ ├── SymmetricMatrix.h │ │ ├── Traits.h │ │ ├── TransposeFlag.h │ │ ├── TypeTraits.h │ │ ├── UniLowerMatrix.h │ │ ├── UniUpperMatrix.h │ │ ├── UniformMatrix.h │ │ ├── UniformVector.h │ │ ├── UpperMatrix.h │ │ ├── Vector.h │ │ ├── Views.h │ │ ├── ZeroMatrix.h │ │ ├── ZeroVector.h │ │ ├── adaptors │ │ │ ├── Adaptors.h │ │ │ ├── DiagonalMatrix.h │ │ │ ├── Forward.h │ │ │ ├── HermitianMatrix.h │ │ │ ├── LowerMatrix.h │ │ │ ├── StrictlyLowerMatrix.h │ │ │ ├── StrictlyUpperMatrix.h │ │ │ ├── SymmetricMatrix.h │ │ │ ├── UniLowerMatrix.h │ │ │ ├── UniUpperMatrix.h │ │ │ ├── UpperMatrix.h │ │ │ ├── diagonalmatrix │ │ │ │ ├── BaseTemplate.h │ │ │ │ ├── Dense.h │ │ │ │ ├── DiagonalProxy.h │ │ │ │ └── Sparse.h │ │ │ ├── hermitianmatrix │ │ │ │ ├── BaseTemplate.h │ │ │ │ ├── Dense.h │ │ │ │ ├── HermitianElement.h │ │ │ │ ├── HermitianProxy.h │ │ │ │ ├── HermitianValue.h │ │ │ │ └── Sparse.h │ │ │ ├── lowermatrix │ │ │ │ ├── BaseTemplate.h │ │ │ │ ├── Dense.h │ │ │ │ ├── LowerProxy.h │ │ │ │ └── Sparse.h │ │ │ ├── strictlylowermatrix │ │ │ │ ├── BaseTemplate.h │ │ │ │ ├── Dense.h │ │ │ │ ├── Sparse.h │ │ │ │ └── StrictlyLowerProxy.h │ │ │ ├── strictlyuppermatrix │ │ │ │ ├── BaseTemplate.h │ │ │ │ ├── Dense.h │ │ │ │ ├── Sparse.h │ │ │ │ └── StrictlyUpperProxy.h │ │ │ ├── symmetricmatrix │ │ │ │ ├── BaseTemplate.h │ │ │ │ ├── DenseNonScalar.h │ │ │ │ ├── DenseScalar.h │ │ │ │ ├── NonScalarProxy.h │ │ │ │ ├── ScalarProxy.h │ │ │ │ ├── SharedValue.h │ │ │ │ ├── SparseNonScalar.h │ │ │ │ ├── SparseScalar.h │ │ │ │ ├── SymmetricElement.h │ │ │ │ └── SymmetricValue.h │ │ │ ├── unilowermatrix │ │ │ │ ├── BaseTemplate.h │ │ │ │ ├── Dense.h │ │ │ │ ├── Sparse.h │ │ │ │ ├── UniLowerElement.h │ │ │ │ ├── UniLowerProxy.h │ │ │ │ └── UniLowerValue.h │ │ │ ├── uniuppermatrix │ │ │ │ ├── BaseTemplate.h │ │ │ │ ├── Dense.h │ │ │ │ ├── Sparse.h │ │ │ │ ├── UniUpperElement.h │ │ │ │ ├── UniUpperProxy.h │ │ │ │ └── UniUpperValue.h │ │ │ └── uppermatrix │ │ │ │ ├── BaseTemplate.h │ │ │ │ ├── Dense.h │ │ │ │ ├── Sparse.h │ │ │ │ └── UpperProxy.h │ │ ├── blas │ │ │ ├── BLAS.h │ │ │ ├── Types.h │ │ │ ├── axpy.h │ │ │ ├── cblas │ │ │ │ ├── axpy.h │ │ │ │ ├── dotc.h │ │ │ │ ├── dotu.h │ │ │ │ ├── gemm.h │ │ │ │ ├── gemv.h │ │ │ │ ├── trmm.h │ │ │ │ ├── trmv.h │ │ │ │ └── trsm.h │ │ │ ├── dotc.h │ │ │ ├── dotu.h │ │ │ ├── gemm.h │ │ │ ├── gemv.h │ │ │ ├── trmm.h │ │ │ ├── trmv.h │ │ │ └── trsm.h │ │ ├── constraints │ │ │ ├── Adaptor.h │ │ │ ├── AddExpr.h │ │ │ ├── Aligned.h │ │ │ ├── BLASCompatible.h │ │ │ ├── Band.h │ │ │ ├── BinaryMapExpr.h │ │ │ ├── CUDAAssignable.h │ │ │ ├── Clearable.h │ │ │ ├── Column.h │ │ │ ├── ColumnMajorMatrix.h │ │ │ ├── ColumnVector.h │ │ │ ├── Columns.h │ │ │ ├── Commutative.h │ │ │ ├── CompositeType.h │ │ │ ├── Computation.h │ │ │ ├── ConstDataAccess.h │ │ │ ├── Constraints.h │ │ │ ├── Contiguous.h │ │ │ ├── CrossExpr.h │ │ │ ├── Custom.h │ │ │ ├── DeclDiagExpr.h │ │ │ ├── DeclExpr.h │ │ │ ├── DeclHermExpr.h │ │ │ ├── DeclLowExpr.h │ │ │ ├── DeclStrLowExpr.h │ │ │ ├── DeclStrUppExpr.h │ │ │ ├── DeclSymExpr.h │ │ │ ├── DeclUniLowExpr.h │ │ │ ├── DeclUniUppExpr.h │ │ │ ├── DeclUppExpr.h │ │ │ ├── Declaration.h │ │ │ ├── DenseMatrix.h │ │ │ ├── DenseVector.h │ │ │ ├── Diagonal.h │ │ │ ├── DivExpr.h │ │ │ ├── EigenExpr.h │ │ │ ├── Elements.h │ │ │ ├── EvalExpr.h │ │ │ ├── ExpandExpr.h │ │ │ ├── Expression.h │ │ │ ├── GenExpr.h │ │ │ ├── General.h │ │ │ ├── Hermitian.h │ │ │ ├── Identity.h │ │ │ ├── Initializer.h │ │ │ ├── Invertible.h │ │ │ ├── KronExpr.h │ │ │ ├── Lower.h │ │ │ ├── MatEvalExpr.h │ │ │ ├── MatExpExpr.h │ │ │ ├── MatGenExpr.h │ │ │ ├── MatInvExpr.h │ │ │ ├── MatMapExpr.h │ │ │ ├── MatMatAddExpr.h │ │ │ ├── MatMatKronExpr.h │ │ │ ├── MatMatMapExpr.h │ │ │ ├── MatMatMultExpr.h │ │ │ ├── MatMatSolveExpr.h │ │ │ ├── MatMatSubExpr.h │ │ │ ├── MatNoAliasExpr.h │ │ │ ├── MatNoSIMDExpr.h │ │ │ ├── MatReduceExpr.h │ │ │ ├── MatRepeatExpr.h │ │ │ ├── MatScalarDivExpr.h │ │ │ ├── MatScalarMultExpr.h │ │ │ ├── MatSerialExpr.h │ │ │ ├── MatTransExpr.h │ │ │ ├── MatVecMultExpr.h │ │ │ ├── MatVecSolveExpr.h │ │ │ ├── Matrix.h │ │ │ ├── Modification.h │ │ │ ├── MultExpr.h │ │ │ ├── MutableDataAccess.h │ │ │ ├── NoAliasExpr.h │ │ │ ├── NoSIMDExpr.h │ │ │ ├── Operation.h │ │ │ ├── OpposedView.h │ │ │ ├── Padded.h │ │ │ ├── PaddingEnabled.h │ │ │ ├── Proxy.h │ │ │ ├── ReduceExpr.h │ │ │ ├── RepeatExpr.h │ │ │ ├── RequiresEvaluation.h │ │ │ ├── Resizable.h │ │ │ ├── Restricted.h │ │ │ ├── ResultType.h │ │ │ ├── Row.h │ │ │ ├── RowMajorMatrix.h │ │ │ ├── RowVector.h │ │ │ ├── Rows.h │ │ │ ├── SIMDCombinable.h │ │ │ ├── SIMDEnabled.h │ │ │ ├── SIMDPack.h │ │ │ ├── SMPAssignable.h │ │ │ ├── SVDExpr.h │ │ │ ├── SameTag.h │ │ │ ├── Scalar.h │ │ │ ├── SchurExpr.h │ │ │ ├── SerialExpr.h │ │ │ ├── Shrinkable.h │ │ │ ├── SolveExpr.h │ │ │ ├── SparseElement.h │ │ │ ├── SparseMatrix.h │ │ │ ├── SparseVector.h │ │ │ ├── Square.h │ │ │ ├── Static.h │ │ │ ├── StorageOrder.h │ │ │ ├── StrictlyLower.h │ │ │ ├── StrictlyTriangular.h │ │ │ ├── StrictlyUpper.h │ │ │ ├── SubExpr.h │ │ │ ├── Submatrix.h │ │ │ ├── Subvector.h │ │ │ ├── Symmetric.h │ │ │ ├── TVecMatMultExpr.h │ │ │ ├── TransExpr.h │ │ │ ├── Transformation.h │ │ │ ├── TransposeFlag.h │ │ │ ├── Triangular.h │ │ │ ├── UnaryMapExpr.h │ │ │ ├── UniLower.h │ │ │ ├── UniTriangular.h │ │ │ ├── UniUpper.h │ │ │ ├── Uniform.h │ │ │ ├── Upper.h │ │ │ ├── VecEvalExpr.h │ │ │ ├── VecExpandExpr.h │ │ │ ├── VecGenExpr.h │ │ │ ├── VecMapExpr.h │ │ │ ├── VecNoAliasExpr.h │ │ │ ├── VecNoSIMDExpr.h │ │ │ ├── VecRepeatExpr.h │ │ │ ├── VecScalarDivExpr.h │ │ │ ├── VecScalarMultExpr.h │ │ │ ├── VecSerialExpr.h │ │ │ ├── VecTVecMapExpr.h │ │ │ ├── VecTVecMultExpr.h │ │ │ ├── VecTransExpr.h │ │ │ ├── VecVecAddExpr.h │ │ │ ├── VecVecDivExpr.h │ │ │ ├── VecVecKronExpr.h │ │ │ ├── VecVecMapExpr.h │ │ │ ├── VecVecMultExpr.h │ │ │ ├── VecVecSubExpr.h │ │ │ ├── Vector.h │ │ │ ├── View.h │ │ │ └── Zero.h │ │ ├── dense │ │ │ ├── CustomMatrix.h │ │ │ ├── CustomVector.h │ │ │ ├── DenseIterator.h │ │ │ ├── DenseMatrix.h │ │ │ ├── DenseVector.h │ │ │ ├── DynamicMatrix.h │ │ │ ├── DynamicVector.h │ │ │ ├── Eigen.h │ │ │ ├── Forward.h │ │ │ ├── HybridMatrix.h │ │ │ ├── HybridVector.h │ │ │ ├── InitializerIterator.h │ │ │ ├── InitializerMatrix.h │ │ │ ├── InitializerVector.h │ │ │ ├── Inversion.h │ │ │ ├── LLH.h │ │ │ ├── LQ.h │ │ │ ├── LSE.h │ │ │ ├── LU.h │ │ │ ├── MMM.h │ │ │ ├── PLLHP.h │ │ │ ├── QL.h │ │ │ ├── QR.h │ │ │ ├── RQ.h │ │ │ ├── SVD.h │ │ │ ├── StaticMatrix.h │ │ │ ├── StaticVector.h │ │ │ ├── UniformIterator.h │ │ │ ├── UniformMatrix.h │ │ │ └── UniformVector.h │ │ ├── expressions │ │ │ ├── AddExpr.h │ │ │ ├── BinaryMapExpr.h │ │ │ ├── Computation.h │ │ │ ├── CrossExpr.h │ │ │ ├── DMatDMatAddExpr.h │ │ │ ├── DMatDMatEqualExpr.h │ │ │ ├── DMatDMatKronExpr.h │ │ │ ├── DMatDMatMapExpr.h │ │ │ ├── DMatDMatMultExpr.h │ │ │ ├── DMatDMatSchurExpr.h │ │ │ ├── DMatDMatSolveExpr.h │ │ │ ├── DMatDMatSubExpr.h │ │ │ ├── DMatDVecMultExpr.h │ │ │ ├── DMatDVecSolveExpr.h │ │ │ ├── DMatDeclDiagExpr.h │ │ │ ├── DMatDeclHermExpr.h │ │ │ ├── DMatDeclLowExpr.h │ │ │ ├── DMatDeclStrLowExpr.h │ │ │ ├── DMatDeclStrUppExpr.h │ │ │ ├── DMatDeclSymExpr.h │ │ │ ├── DMatDeclUniLowExpr.h │ │ │ ├── DMatDeclUniUppExpr.h │ │ │ ├── DMatDeclUppExpr.h │ │ │ ├── DMatDetExpr.h │ │ │ ├── DMatEigenExpr.h │ │ │ ├── DMatEvalExpr.h │ │ │ ├── DMatExpExpr.h │ │ │ ├── DMatFixExpr.h │ │ │ ├── DMatGenExpr.h │ │ │ ├── DMatInvExpr.h │ │ │ ├── DMatMapExpr.h │ │ │ ├── DMatMeanExpr.h │ │ │ ├── DMatNoAliasExpr.h │ │ │ ├── DMatNoSIMDExpr.h │ │ │ ├── DMatNormExpr.h │ │ │ ├── DMatReduceExpr.h │ │ │ ├── DMatRepeatExpr.h │ │ │ ├── DMatSMatAddExpr.h │ │ │ ├── DMatSMatEqualExpr.h │ │ │ ├── DMatSMatKronExpr.h │ │ │ ├── DMatSMatMultExpr.h │ │ │ ├── DMatSMatSchurExpr.h │ │ │ ├── DMatSMatSubExpr.h │ │ │ ├── DMatSVDExpr.h │ │ │ ├── DMatSVecMultExpr.h │ │ │ ├── DMatScalarDivExpr.h │ │ │ ├── DMatScalarMultExpr.h │ │ │ ├── DMatSerialExpr.h │ │ │ ├── DMatSoftmaxExpr.h │ │ │ ├── DMatStdDevExpr.h │ │ │ ├── DMatTDMatAddExpr.h │ │ │ ├── DMatTDMatMapExpr.h │ │ │ ├── DMatTDMatMultExpr.h │ │ │ ├── DMatTDMatSchurExpr.h │ │ │ ├── DMatTDMatSubExpr.h │ │ │ ├── DMatTSMatAddExpr.h │ │ │ ├── DMatTSMatMultExpr.h │ │ │ ├── DMatTSMatSchurExpr.h │ │ │ ├── DMatTSMatSubExpr.h │ │ │ ├── DMatTransExpr.h │ │ │ ├── DMatTransposer.h │ │ │ ├── DMatVarExpr.h │ │ │ ├── DVecDVecAddExpr.h │ │ │ ├── DVecDVecCrossExpr.h │ │ │ ├── DVecDVecDivExpr.h │ │ │ ├── DVecDVecEqualExpr.h │ │ │ ├── DVecDVecInnerExpr.h │ │ │ ├── DVecDVecKronExpr.h │ │ │ ├── DVecDVecMapExpr.h │ │ │ ├── DVecDVecMultExpr.h │ │ │ ├── DVecDVecOuterExpr.h │ │ │ ├── DVecDVecSubExpr.h │ │ │ ├── DVecEvalExpr.h │ │ │ ├── DVecExpandExpr.h │ │ │ ├── DVecFixExpr.h │ │ │ ├── DVecGenExpr.h │ │ │ ├── DVecMapExpr.h │ │ │ ├── DVecMeanExpr.h │ │ │ ├── DVecNoAliasExpr.h │ │ │ ├── DVecNoSIMDExpr.h │ │ │ ├── DVecNormExpr.h │ │ │ ├── DVecReduceExpr.h │ │ │ ├── DVecRepeatExpr.h │ │ │ ├── DVecSVecAddExpr.h │ │ │ ├── DVecSVecCrossExpr.h │ │ │ ├── DVecSVecEqualExpr.h │ │ │ ├── DVecSVecInnerExpr.h │ │ │ ├── DVecSVecKronExpr.h │ │ │ ├── DVecSVecMultExpr.h │ │ │ ├── DVecSVecOuterExpr.h │ │ │ ├── DVecSVecSubExpr.h │ │ │ ├── DVecScalarDivExpr.h │ │ │ ├── DVecScalarMultExpr.h │ │ │ ├── DVecSerialExpr.h │ │ │ ├── DVecSoftmaxExpr.h │ │ │ ├── DVecStdDevExpr.h │ │ │ ├── DVecTransExpr.h │ │ │ ├── DVecTransposer.h │ │ │ ├── DVecVarExpr.h │ │ │ ├── DeclDiagExpr.h │ │ │ ├── DeclExpr.h │ │ │ ├── DeclHermExpr.h │ │ │ ├── DeclLowExpr.h │ │ │ ├── DeclStrLowExpr.h │ │ │ ├── DeclStrUppExpr.h │ │ │ ├── DeclSymExpr.h │ │ │ ├── DeclUniLowExpr.h │ │ │ ├── DeclUniUppExpr.h │ │ │ ├── DeclUppExpr.h │ │ │ ├── Declaration.h │ │ │ ├── DenseMatrix.h │ │ │ ├── DenseVector.h │ │ │ ├── DivExpr.h │ │ │ ├── EigenExpr.h │ │ │ ├── EvalExpr.h │ │ │ ├── ExpandExpr.h │ │ │ ├── ExpandExprData.h │ │ │ ├── Expression.h │ │ │ ├── Forward.h │ │ │ ├── GenExpr.h │ │ │ ├── KronExpr.h │ │ │ ├── MatEvalExpr.h │ │ │ ├── MatExpExpr.h │ │ │ ├── MatGenExpr.h │ │ │ ├── MatInvExpr.h │ │ │ ├── MatMapExpr.h │ │ │ ├── MatMatAddExpr.h │ │ │ ├── MatMatKronExpr.h │ │ │ ├── MatMatMapExpr.h │ │ │ ├── MatMatMultExpr.h │ │ │ ├── MatMatSolveExpr.h │ │ │ ├── MatMatSubExpr.h │ │ │ ├── MatNoAliasExpr.h │ │ │ ├── MatNoSIMDExpr.h │ │ │ ├── MatReduceExpr.h │ │ │ ├── MatRepeatExpr.h │ │ │ ├── MatScalarDivExpr.h │ │ │ ├── MatScalarMultExpr.h │ │ │ ├── MatSerialExpr.h │ │ │ ├── MatTransExpr.h │ │ │ ├── MatVecMultExpr.h │ │ │ ├── MatVecSolveExpr.h │ │ │ ├── Matrix.h │ │ │ ├── Modification.h │ │ │ ├── MultExpr.h │ │ │ ├── NoAliasExpr.h │ │ │ ├── NoSIMDExpr.h │ │ │ ├── Operation.h │ │ │ ├── ReduceExpr.h │ │ │ ├── RepeatExpr.h │ │ │ ├── RepeatExprData.h │ │ │ ├── SMatDMatKronExpr.h │ │ │ ├── SMatDMatMultExpr.h │ │ │ ├── SMatDMatSchurExpr.h │ │ │ ├── SMatDMatSubExpr.h │ │ │ ├── SMatDVecMultExpr.h │ │ │ ├── SMatDeclDiagExpr.h │ │ │ ├── SMatDeclHermExpr.h │ │ │ ├── SMatDeclLowExpr.h │ │ │ ├── SMatDeclStrLowExpr.h │ │ │ ├── SMatDeclStrUppExpr.h │ │ │ ├── SMatDeclSymExpr.h │ │ │ ├── SMatDeclUniLowExpr.h │ │ │ ├── SMatDeclUniUppExpr.h │ │ │ ├── SMatDeclUppExpr.h │ │ │ ├── SMatEvalExpr.h │ │ │ ├── SMatFixExpr.h │ │ │ ├── SMatMapExpr.h │ │ │ ├── SMatMeanExpr.h │ │ │ ├── SMatNoAliasExpr.h │ │ │ ├── SMatNoSIMDExpr.h │ │ │ ├── SMatNormExpr.h │ │ │ ├── SMatReduceExpr.h │ │ │ ├── SMatRepeatExpr.h │ │ │ ├── SMatSMatAddExpr.h │ │ │ ├── SMatSMatEqualExpr.h │ │ │ ├── SMatSMatKronExpr.h │ │ │ ├── SMatSMatMultExpr.h │ │ │ ├── SMatSMatSchurExpr.h │ │ │ ├── SMatSMatSubExpr.h │ │ │ ├── SMatSVecMultExpr.h │ │ │ ├── SMatScalarDivExpr.h │ │ │ ├── SMatScalarMultExpr.h │ │ │ ├── SMatSerialExpr.h │ │ │ ├── SMatStdDevExpr.h │ │ │ ├── SMatTDMatMultExpr.h │ │ │ ├── SMatTDMatSubExpr.h │ │ │ ├── SMatTSMatAddExpr.h │ │ │ ├── SMatTSMatKronExpr.h │ │ │ ├── SMatTSMatMultExpr.h │ │ │ ├── SMatTSMatSchurExpr.h │ │ │ ├── SMatTSMatSubExpr.h │ │ │ ├── SMatTransExpr.h │ │ │ ├── SMatTransposer.h │ │ │ ├── SMatVarExpr.h │ │ │ ├── SVDExpr.h │ │ │ ├── SVecDVecCrossExpr.h │ │ │ ├── SVecDVecDivExpr.h │ │ │ ├── SVecDVecInnerExpr.h │ │ │ ├── SVecDVecKronExpr.h │ │ │ ├── SVecDVecMultExpr.h │ │ │ ├── SVecDVecOuterExpr.h │ │ │ ├── SVecDVecSubExpr.h │ │ │ ├── SVecEvalExpr.h │ │ │ ├── SVecExpandExpr.h │ │ │ ├── SVecFixExpr.h │ │ │ ├── SVecMapExpr.h │ │ │ ├── SVecMeanExpr.h │ │ │ ├── SVecNoAliasExpr.h │ │ │ ├── SVecNoSIMDExpr.h │ │ │ ├── SVecNormExpr.h │ │ │ ├── SVecReduceExpr.h │ │ │ ├── SVecRepeatExpr.h │ │ │ ├── SVecSVecAddExpr.h │ │ │ ├── SVecSVecCrossExpr.h │ │ │ ├── SVecSVecEqualExpr.h │ │ │ ├── SVecSVecInnerExpr.h │ │ │ ├── SVecSVecKronExpr.h │ │ │ ├── SVecSVecMultExpr.h │ │ │ ├── SVecSVecOuterExpr.h │ │ │ ├── SVecSVecSubExpr.h │ │ │ ├── SVecScalarDivExpr.h │ │ │ ├── SVecScalarMultExpr.h │ │ │ ├── SVecSerialExpr.h │ │ │ ├── SVecStdDevExpr.h │ │ │ ├── SVecTransExpr.h │ │ │ ├── SVecTransposer.h │ │ │ ├── SVecVarExpr.h │ │ │ ├── SchurExpr.h │ │ │ ├── SerialExpr.h │ │ │ ├── SolveExpr.h │ │ │ ├── SparseMatrix.h │ │ │ ├── SparseVector.h │ │ │ ├── SubExpr.h │ │ │ ├── TDMatDMatMultExpr.h │ │ │ ├── TDMatDVecMultExpr.h │ │ │ ├── TDMatSMatAddExpr.h │ │ │ ├── TDMatSMatMultExpr.h │ │ │ ├── TDMatSMatSubExpr.h │ │ │ ├── TDMatSVecMultExpr.h │ │ │ ├── TDMatTDMatMultExpr.h │ │ │ ├── TDMatTSMatMultExpr.h │ │ │ ├── TDVecDMatMultExpr.h │ │ │ ├── TDVecSMatMultExpr.h │ │ │ ├── TDVecTDMatMultExpr.h │ │ │ ├── TDVecTSMatMultExpr.h │ │ │ ├── TSMatDMatMultExpr.h │ │ │ ├── TSMatDMatSchurExpr.h │ │ │ ├── TSMatDMatSubExpr.h │ │ │ ├── TSMatDVecMultExpr.h │ │ │ ├── TSMatSMatKronExpr.h │ │ │ ├── TSMatSMatMultExpr.h │ │ │ ├── TSMatSMatSchurExpr.h │ │ │ ├── TSMatSMatSubExpr.h │ │ │ ├── TSMatSVecMultExpr.h │ │ │ ├── TSMatTDMatMultExpr.h │ │ │ ├── TSMatTSMatAddExpr.h │ │ │ ├── TSMatTSMatKronExpr.h │ │ │ ├── TSMatTSMatMultExpr.h │ │ │ ├── TSMatTSMatSchurExpr.h │ │ │ ├── TSMatTSMatSubExpr.h │ │ │ ├── TSVecDMatMultExpr.h │ │ │ ├── TSVecSMatMultExpr.h │ │ │ ├── TSVecTDMatMultExpr.h │ │ │ ├── TSVecTSMatMultExpr.h │ │ │ ├── TVecMatMultExpr.h │ │ │ ├── TransExpr.h │ │ │ ├── Transformation.h │ │ │ ├── UnaryMapExpr.h │ │ │ ├── VecEvalExpr.h │ │ │ ├── VecExpandExpr.h │ │ │ ├── VecGenExpr.h │ │ │ ├── VecMapExpr.h │ │ │ ├── VecNoAliasExpr.h │ │ │ ├── VecNoSIMDExpr.h │ │ │ ├── VecRepeatExpr.h │ │ │ ├── VecScalarDivExpr.h │ │ │ ├── VecScalarMultExpr.h │ │ │ ├── VecSerialExpr.h │ │ │ ├── VecTVecMapExpr.h │ │ │ ├── VecTVecMultExpr.h │ │ │ ├── VecTransExpr.h │ │ │ ├── VecVecAddExpr.h │ │ │ ├── VecVecDivExpr.h │ │ │ ├── VecVecKronExpr.h │ │ │ ├── VecVecMapExpr.h │ │ │ ├── VecVecMultExpr.h │ │ │ ├── VecVecSubExpr.h │ │ │ ├── Vector.h │ │ │ └── View.h │ │ ├── functors │ │ │ ├── Abs.h │ │ │ ├── Acos.h │ │ │ ├── Acosh.h │ │ │ ├── Add.h │ │ │ ├── AddAssign.h │ │ │ ├── And.h │ │ │ ├── AndAssign.h │ │ │ ├── Arg.h │ │ │ ├── Asin.h │ │ │ ├── Asinh.h │ │ │ ├── Assign.h │ │ │ ├── Atan.h │ │ │ ├── Atan2.h │ │ │ ├── Atanh.h │ │ │ ├── Bind1st.h │ │ │ ├── Bind2nd.h │ │ │ ├── Bind3rd.h │ │ │ ├── Bitand.h │ │ │ ├── Bitor.h │ │ │ ├── Bitxor.h │ │ │ ├── CTrans.h │ │ │ ├── Cbrt.h │ │ │ ├── Ceil.h │ │ │ ├── Clamp.h │ │ │ ├── Clear.h │ │ │ ├── Conj.h │ │ │ ├── Cos.h │ │ │ ├── Cosh.h │ │ │ ├── DeclDiag.h │ │ │ ├── DeclHerm.h │ │ │ ├── DeclId.h │ │ │ ├── DeclLow.h │ │ │ ├── DeclStrLow.h │ │ │ ├── DeclStrUpp.h │ │ │ ├── DeclSym.h │ │ │ ├── DeclUniLow.h │ │ │ ├── DeclUniUpp.h │ │ │ ├── DeclUpp.h │ │ │ ├── DeclZero.h │ │ │ ├── Div.h │ │ │ ├── DivAssign.h │ │ │ ├── Erf.h │ │ │ ├── Erfc.h │ │ │ ├── Eval.h │ │ │ ├── Exp.h │ │ │ ├── Exp10.h │ │ │ ├── Exp2.h │ │ │ ├── Floor.h │ │ │ ├── Forward.h │ │ │ ├── Functors.h │ │ │ ├── Greater.h │ │ │ ├── Hypot.h │ │ │ ├── Imag.h │ │ │ ├── Inv.h │ │ │ ├── InvAdd.h │ │ │ ├── InvCbrt.h │ │ │ ├── InvSqrt.h │ │ │ ├── Join.h │ │ │ ├── Kron.h │ │ │ ├── L1Norm.h │ │ │ ├── L2Norm.h │ │ │ ├── L3Norm.h │ │ │ ├── L4Norm.h │ │ │ ├── LGamma.h │ │ │ ├── LeftShiftAssign.h │ │ │ ├── Less.h │ │ │ ├── Log.h │ │ │ ├── Log10.h │ │ │ ├── Log1p.h │ │ │ ├── Log2.h │ │ │ ├── LpNorm.h │ │ │ ├── MAC.h │ │ │ ├── MakePair.h │ │ │ ├── Max.h │ │ │ ├── Min.h │ │ │ ├── Minmax.h │ │ │ ├── ModuloAssign.h │ │ │ ├── Mult.h │ │ │ ├── MultAssign.h │ │ │ ├── NoAlias.h │ │ │ ├── NoSIMD.h │ │ │ ├── Noop.h │ │ │ ├── Not.h │ │ │ ├── Or.h │ │ │ ├── OrAssign.h │ │ │ ├── Pow.h │ │ │ ├── Pow2.h │ │ │ ├── Pow3.h │ │ │ ├── Pow4.h │ │ │ ├── Qdrt.h │ │ │ ├── Real.h │ │ │ ├── Reset.h │ │ │ ├── RightShiftAssign.h │ │ │ ├── Round.h │ │ │ ├── Schur.h │ │ │ ├── Serial.h │ │ │ ├── ShiftLI.h │ │ │ ├── ShiftLV.h │ │ │ ├── ShiftRI.h │ │ │ ├── ShiftRV.h │ │ │ ├── Sign.h │ │ │ ├── Sin.h │ │ │ ├── Sinh.h │ │ │ ├── SqrAbs.h │ │ │ ├── Sqrt.h │ │ │ ├── Sub.h │ │ │ ├── SubAssign.h │ │ │ ├── Tan.h │ │ │ ├── Tanh.h │ │ │ ├── Trans.h │ │ │ ├── Trunc.h │ │ │ └── XorAssign.h │ │ ├── lapack │ │ │ ├── LAPACK.h │ │ │ ├── clapack │ │ │ │ ├── geev.h │ │ │ │ ├── gelqf.h │ │ │ │ ├── geqlf.h │ │ │ │ ├── geqp3.h │ │ │ │ ├── geqrf.h │ │ │ │ ├── gerqf.h │ │ │ │ ├── gesdd.h │ │ │ │ ├── gesv.h │ │ │ │ ├── gesvd.h │ │ │ │ ├── gesvdx.h │ │ │ │ ├── getrf.h │ │ │ │ ├── getri.h │ │ │ │ ├── getrs.h │ │ │ │ ├── gges.h │ │ │ │ ├── heev.h │ │ │ │ ├── heevd.h │ │ │ │ ├── heevx.h │ │ │ │ ├── hesv.h │ │ │ │ ├── hetrf.h │ │ │ │ ├── hetri.h │ │ │ │ ├── hetrs.h │ │ │ │ ├── org2l.h │ │ │ │ ├── org2r.h │ │ │ │ ├── orgl2.h │ │ │ │ ├── orglq.h │ │ │ │ ├── orgql.h │ │ │ │ ├── orgqr.h │ │ │ │ ├── orgr2.h │ │ │ │ ├── orgrq.h │ │ │ │ ├── ormlq.h │ │ │ │ ├── ormql.h │ │ │ │ ├── ormqr.h │ │ │ │ ├── ormrq.h │ │ │ │ ├── posv.h │ │ │ │ ├── potrf.h │ │ │ │ ├── potri.h │ │ │ │ ├── potrs.h │ │ │ │ ├── pstrf.h │ │ │ │ ├── syev.h │ │ │ │ ├── syevd.h │ │ │ │ ├── syevx.h │ │ │ │ ├── sysv.h │ │ │ │ ├── sytrf.h │ │ │ │ ├── sytri.h │ │ │ │ ├── sytrs.h │ │ │ │ ├── trsv.h │ │ │ │ ├── trtri.h │ │ │ │ ├── trtrs.h │ │ │ │ ├── ung2l.h │ │ │ │ ├── ung2r.h │ │ │ │ ├── ungl2.h │ │ │ │ ├── unglq.h │ │ │ │ ├── ungql.h │ │ │ │ ├── ungqr.h │ │ │ │ ├── ungr2.h │ │ │ │ ├── ungrq.h │ │ │ │ ├── unmlq.h │ │ │ │ ├── unmql.h │ │ │ │ ├── unmqr.h │ │ │ │ └── unmrq.h │ │ │ ├── geev.h │ │ │ ├── gelqf.h │ │ │ ├── geqlf.h │ │ │ ├── geqp3.h │ │ │ ├── geqrf.h │ │ │ ├── gerqf.h │ │ │ ├── gesdd.h │ │ │ ├── gesv.h │ │ │ ├── gesvd.h │ │ │ ├── gesvdx.h │ │ │ ├── getrf.h │ │ │ ├── getri.h │ │ │ ├── getrs.h │ │ │ ├── gges.h │ │ │ ├── heev.h │ │ │ ├── heevd.h │ │ │ ├── heevx.h │ │ │ ├── hesv.h │ │ │ ├── hetrf.h │ │ │ ├── hetri.h │ │ │ ├── hetrs.h │ │ │ ├── org2l.h │ │ │ ├── org2r.h │ │ │ ├── orgl2.h │ │ │ ├── orglq.h │ │ │ ├── orgql.h │ │ │ ├── orgqr.h │ │ │ ├── orgr2.h │ │ │ ├── orgrq.h │ │ │ ├── ormlq.h │ │ │ ├── ormql.h │ │ │ ├── ormqr.h │ │ │ ├── ormrq.h │ │ │ ├── posv.h │ │ │ ├── potrf.h │ │ │ ├── potri.h │ │ │ ├── potrs.h │ │ │ ├── pstrf.h │ │ │ ├── syev.h │ │ │ ├── syevd.h │ │ │ ├── syevx.h │ │ │ ├── sysv.h │ │ │ ├── sytrf.h │ │ │ ├── sytri.h │ │ │ ├── sytrs.h │ │ │ ├── trsv.h │ │ │ ├── trtri.h │ │ │ ├── trtrs.h │ │ │ ├── ung2l.h │ │ │ ├── ung2r.h │ │ │ ├── ungl2.h │ │ │ ├── unglq.h │ │ │ ├── ungql.h │ │ │ ├── ungqr.h │ │ │ ├── ungr2.h │ │ │ ├── ungrq.h │ │ │ ├── unmlq.h │ │ │ ├── unmql.h │ │ │ ├── unmqr.h │ │ │ └── unmrq.h │ │ ├── proxy │ │ │ ├── ComplexProxy.h │ │ │ ├── DefaultProxy.h │ │ │ ├── DenseMatrixProxy.h │ │ │ ├── DenseVectorProxy.h │ │ │ ├── Forward.h │ │ │ ├── Proxy.h │ │ │ ├── SparseMatrixProxy.h │ │ │ └── SparseVectorProxy.h │ │ ├── serialization │ │ │ ├── MatrixSerializer.h │ │ │ ├── Serialization.h │ │ │ ├── TypeValueMapping.h │ │ │ └── VectorSerializer.h │ │ ├── shims │ │ │ ├── Abs.h │ │ │ ├── Acos.h │ │ │ ├── Acosh.h │ │ │ ├── Add.h │ │ │ ├── Arg.h │ │ │ ├── Asin.h │ │ │ ├── Asinh.h │ │ │ ├── Atan.h │ │ │ ├── Atan2.h │ │ │ ├── Atanh.h │ │ │ ├── Cbrt.h │ │ │ ├── Ceil.h │ │ │ ├── Clamp.h │ │ │ ├── Clear.h │ │ │ ├── Conjugate.h │ │ │ ├── Cos.h │ │ │ ├── Cosh.h │ │ │ ├── Digits.h │ │ │ ├── Div.h │ │ │ ├── Equal.h │ │ │ ├── Erf.h │ │ │ ├── Erfc.h │ │ │ ├── Eval.h │ │ │ ├── Evaluate.h │ │ │ ├── Exp.h │ │ │ ├── Exp10.h │ │ │ ├── Exp2.h │ │ │ ├── Floor.h │ │ │ ├── Frexp.h │ │ │ ├── Greater.h │ │ │ ├── Hypot.h │ │ │ ├── Imaginary.h │ │ │ ├── InvCbrt.h │ │ │ ├── InvSqrt.h │ │ │ ├── Invert.h │ │ │ ├── IsDefault.h │ │ │ ├── IsDivisor.h │ │ │ ├── IsFinite.h │ │ │ ├── IsInf.h │ │ │ ├── IsNaN.h │ │ │ ├── IsOne.h │ │ │ ├── IsReal.h │ │ │ ├── IsZero.h │ │ │ ├── LGamma.h │ │ │ ├── Less.h │ │ │ ├── Log.h │ │ │ ├── Log10.h │ │ │ ├── Log1p.h │ │ │ ├── Log2.h │ │ │ ├── Mult.h │ │ │ ├── NextMultiple.h │ │ │ ├── Pow.h │ │ │ ├── Pow2.h │ │ │ ├── Pow3.h │ │ │ ├── Pow4.h │ │ │ ├── PrevMultiple.h │ │ │ ├── Qdrt.h │ │ │ ├── Real.h │ │ │ ├── Reset.h │ │ │ ├── Round.h │ │ │ ├── Serial.h │ │ │ ├── Shims.h │ │ │ ├── Sign.h │ │ │ ├── Sin.h │ │ │ ├── Sinh.h │ │ │ ├── Sqrt.h │ │ │ ├── Sub.h │ │ │ ├── Tan.h │ │ │ ├── Tanh.h │ │ │ └── Trunc.h │ │ ├── simd │ │ │ ├── Abs.h │ │ │ ├── Acos.h │ │ │ ├── Acosh.h │ │ │ ├── Add.h │ │ │ ├── Asin.h │ │ │ ├── Asinh.h │ │ │ ├── Atan.h │ │ │ ├── Atan2.h │ │ │ ├── Atanh.h │ │ │ ├── BasicTypes.h │ │ │ ├── Bitand.h │ │ │ ├── Bitor.h │ │ │ ├── Bitxor.h │ │ │ ├── Cbrt.h │ │ │ ├── Ceil.h │ │ │ ├── Conj.h │ │ │ ├── Cos.h │ │ │ ├── Cosh.h │ │ │ ├── DerivedTypes.h │ │ │ ├── Div.h │ │ │ ├── Equal.h │ │ │ ├── Erf.h │ │ │ ├── Erfc.h │ │ │ ├── Exp.h │ │ │ ├── Exp10.h │ │ │ ├── Exp2.h │ │ │ ├── FMA.h │ │ │ ├── Floor.h │ │ │ ├── Functions.h │ │ │ ├── Hypot.h │ │ │ ├── InvCbrt.h │ │ │ ├── InvSqrt.h │ │ │ ├── LGamma.h │ │ │ ├── Loada.h │ │ │ ├── Loadu.h │ │ │ ├── Log.h │ │ │ ├── Log10.h │ │ │ ├── Log1p.h │ │ │ ├── Log2.h │ │ │ ├── Max.h │ │ │ ├── Min.h │ │ │ ├── Mult.h │ │ │ ├── Pow.h │ │ │ ├── Prod.h │ │ │ ├── Reduce.h │ │ │ ├── Round.h │ │ │ ├── SIMD.h │ │ │ ├── SIMDPack.h │ │ │ ├── SIMDTrait.h │ │ │ ├── Set.h │ │ │ ├── Setall.h │ │ │ ├── Setzero.h │ │ │ ├── ShiftLI.h │ │ │ ├── ShiftLV.h │ │ │ ├── ShiftRI.h │ │ │ ├── ShiftRV.h │ │ │ ├── Sign.h │ │ │ ├── Sin.h │ │ │ ├── Sinh.h │ │ │ ├── Sqrt.h │ │ │ ├── Storea.h │ │ │ ├── Storeu.h │ │ │ ├── Stream.h │ │ │ ├── Sub.h │ │ │ ├── Sum.h │ │ │ ├── Tan.h │ │ │ ├── Tanh.h │ │ │ └── Trunc.h │ │ ├── smp │ │ │ ├── DenseMatrix.h │ │ │ ├── DenseVector.h │ │ │ ├── Functions.h │ │ │ ├── ParallelSection.h │ │ │ ├── SMP.h │ │ │ ├── SerialSection.h │ │ │ ├── SparseMatrix.h │ │ │ ├── SparseVector.h │ │ │ ├── ThreadMapping.h │ │ │ ├── default │ │ │ │ ├── DenseMatrix.h │ │ │ │ ├── DenseVector.h │ │ │ │ ├── Functions.h │ │ │ │ ├── SparseMatrix.h │ │ │ │ └── SparseVector.h │ │ │ ├── hpx │ │ │ │ ├── DenseMatrix.h │ │ │ │ ├── DenseVector.h │ │ │ │ └── Functions.h │ │ │ ├── openmp │ │ │ │ ├── DenseMatrix.h │ │ │ │ ├── DenseVector.h │ │ │ │ └── Functions.h │ │ │ └── threads │ │ │ │ ├── DenseMatrix.h │ │ │ │ ├── DenseVector.h │ │ │ │ ├── Functions.h │ │ │ │ └── ThreadBackend.h │ │ ├── sparse │ │ │ ├── CompressedMatrix.h │ │ │ ├── CompressedVector.h │ │ │ ├── Forward.h │ │ │ ├── IdentityMatrix.h │ │ │ ├── MatrixAccessProxy.h │ │ │ ├── SparseElement.h │ │ │ ├── SparseMatrix.h │ │ │ ├── SparseVector.h │ │ │ ├── ValueIndexPair.h │ │ │ ├── VectorAccessProxy.h │ │ │ ├── ZeroMatrix.h │ │ │ └── ZeroVector.h │ │ ├── traits │ │ │ ├── AddTrait.h │ │ │ ├── BandTrait.h │ │ │ ├── ColumnTrait.h │ │ │ ├── ColumnsTrait.h │ │ │ ├── CrossTrait.h │ │ │ ├── DeclDiagTrait.h │ │ │ ├── DeclHermTrait.h │ │ │ ├── DeclIdTrait.h │ │ │ ├── DeclLowTrait.h │ │ │ ├── DeclStrLowTrait.h │ │ │ ├── DeclStrUppTrait.h │ │ │ ├── DeclSymTrait.h │ │ │ ├── DeclUniLowTrait.h │ │ │ ├── DeclUniUppTrait.h │ │ │ ├── DeclUppTrait.h │ │ │ ├── DeclZeroTrait.h │ │ │ ├── DerestrictTrait.h │ │ │ ├── DivTrait.h │ │ │ ├── ElementsTrait.h │ │ │ ├── EvaluateTrait.h │ │ │ ├── ExpandTrait.h │ │ │ ├── KronTrait.h │ │ │ ├── MapTrait.h │ │ │ ├── MultTrait.h │ │ │ ├── ReduceTrait.h │ │ │ ├── RepeatTrait.h │ │ │ ├── RowTrait.h │ │ │ ├── RowsTrait.h │ │ │ ├── SchurTrait.h │ │ │ ├── SolveTrait.h │ │ │ ├── SubTrait.h │ │ │ ├── SubmatrixTrait.h │ │ │ ├── SubvectorTrait.h │ │ │ └── Traits.h │ │ ├── typetraits │ │ │ ├── CustomOppositeType.h │ │ │ ├── CustomTransposeType.h │ │ │ ├── DynamicAllocator.h │ │ │ ├── GetAllocator.h │ │ │ ├── HasAbs.h │ │ │ ├── HasAcos.h │ │ │ ├── HasAcosh.h │ │ │ ├── HasAdd.h │ │ │ ├── HasAsin.h │ │ │ ├── HasAsinh.h │ │ │ ├── HasAtan.h │ │ │ ├── HasAtan2.h │ │ │ ├── HasAtanh.h │ │ │ ├── HasCbrt.h │ │ │ ├── HasCeil.h │ │ │ ├── HasClamp.h │ │ │ ├── HasCompositeType.h │ │ │ ├── HasConj.h │ │ │ ├── HasConstDataAccess.h │ │ │ ├── HasCos.h │ │ │ ├── HasCosh.h │ │ │ ├── HasDiv.h │ │ │ ├── HasErf.h │ │ │ ├── HasErfc.h │ │ │ ├── HasExp.h │ │ │ ├── HasExp10.h │ │ │ ├── HasExp2.h │ │ │ ├── HasFloor.h │ │ │ ├── HasHypot.h │ │ │ ├── HasImag.h │ │ │ ├── HasInvCbrt.h │ │ │ ├── HasInvSqrt.h │ │ │ ├── HasLGamma.h │ │ │ ├── HasLoad.h │ │ │ ├── HasLog.h │ │ │ ├── HasLog10.h │ │ │ ├── HasLog1p.h │ │ │ ├── HasLog2.h │ │ │ ├── HasMax.h │ │ │ ├── HasMin.h │ │ │ ├── HasMult.h │ │ │ ├── HasMutableDataAccess.h │ │ │ ├── HasPow.h │ │ │ ├── HasReal.h │ │ │ ├── HasResultType.h │ │ │ ├── HasRound.h │ │ │ ├── HasSIMDAbs.h │ │ │ ├── HasSIMDAcos.h │ │ │ ├── HasSIMDAcosh.h │ │ │ ├── HasSIMDAdd.h │ │ │ ├── HasSIMDAsin.h │ │ │ ├── HasSIMDAsinh.h │ │ │ ├── HasSIMDAtan.h │ │ │ ├── HasSIMDAtan2.h │ │ │ ├── HasSIMDAtanh.h │ │ │ ├── HasSIMDBitand.h │ │ │ ├── HasSIMDBitor.h │ │ │ ├── HasSIMDBitxor.h │ │ │ ├── HasSIMDCbrt.h │ │ │ ├── HasSIMDCeil.h │ │ │ ├── HasSIMDConj.h │ │ │ ├── HasSIMDCos.h │ │ │ ├── HasSIMDCosh.h │ │ │ ├── HasSIMDDiv.h │ │ │ ├── HasSIMDEqual.h │ │ │ ├── HasSIMDErf.h │ │ │ ├── HasSIMDErfc.h │ │ │ ├── HasSIMDExp.h │ │ │ ├── HasSIMDExp10.h │ │ │ ├── HasSIMDExp2.h │ │ │ ├── HasSIMDFloor.h │ │ │ ├── HasSIMDHypot.h │ │ │ ├── HasSIMDInvCbrt.h │ │ │ ├── HasSIMDInvSqrt.h │ │ │ ├── HasSIMDLGamma.h │ │ │ ├── HasSIMDLog.h │ │ │ ├── HasSIMDLog10.h │ │ │ ├── HasSIMDLog1p.h │ │ │ ├── HasSIMDLog2.h │ │ │ ├── HasSIMDMax.h │ │ │ ├── HasSIMDMin.h │ │ │ ├── HasSIMDMult.h │ │ │ ├── HasSIMDPow.h │ │ │ ├── HasSIMDRound.h │ │ │ ├── HasSIMDShiftLI.h │ │ │ ├── HasSIMDShiftLV.h │ │ │ ├── HasSIMDShiftRI.h │ │ │ ├── HasSIMDShiftRV.h │ │ │ ├── HasSIMDSign.h │ │ │ ├── HasSIMDSin.h │ │ │ ├── HasSIMDSinh.h │ │ │ ├── HasSIMDSqrt.h │ │ │ ├── HasSIMDSub.h │ │ │ ├── HasSIMDTan.h │ │ │ ├── HasSIMDTanh.h │ │ │ ├── HasSIMDTrunc.h │ │ │ ├── HasSign.h │ │ │ ├── HasSin.h │ │ │ ├── HasSinh.h │ │ │ ├── HasSqrt.h │ │ │ ├── HasSub.h │ │ │ ├── HasTan.h │ │ │ ├── HasTanh.h │ │ │ ├── HasTrunc.h │ │ │ ├── HighType.h │ │ │ ├── IsAdaptor.h │ │ │ ├── IsAddExpr.h │ │ │ ├── IsAligned.h │ │ │ ├── IsBLASCompatible.h │ │ │ ├── IsBand.h │ │ │ ├── IsBinaryMapExpr.h │ │ │ ├── IsCUDAAssignable.h │ │ │ ├── IsClearable.h │ │ │ ├── IsColumn.h │ │ │ ├── IsColumnMajorMatrix.h │ │ │ ├── IsColumnVector.h │ │ │ ├── IsColumns.h │ │ │ ├── IsCommutative.h │ │ │ ├── IsComputation.h │ │ │ ├── IsContiguous.h │ │ │ ├── IsCrossExpr.h │ │ │ ├── IsCustom.h │ │ │ ├── IsDeclDiagExpr.h │ │ │ ├── IsDeclExpr.h │ │ │ ├── IsDeclHermExpr.h │ │ │ ├── IsDeclLowExpr.h │ │ │ ├── IsDeclStrLowExpr.h │ │ │ ├── IsDeclStrUppExpr.h │ │ │ ├── IsDeclSymExpr.h │ │ │ ├── IsDeclUniLowExpr.h │ │ │ ├── IsDeclUniUppExpr.h │ │ │ ├── IsDeclUppExpr.h │ │ │ ├── IsDeclaration.h │ │ │ ├── IsDenseMatrix.h │ │ │ ├── IsDenseVector.h │ │ │ ├── IsDiagonal.h │ │ │ ├── IsDivExpr.h │ │ │ ├── IsEigenExpr.h │ │ │ ├── IsElements.h │ │ │ ├── IsEvalExpr.h │ │ │ ├── IsExpandExpr.h │ │ │ ├── IsExpression.h │ │ │ ├── IsGenExpr.h │ │ │ ├── IsGeneral.h │ │ │ ├── IsHermitian.h │ │ │ ├── IsIdentity.h │ │ │ ├── IsInitializer.h │ │ │ ├── IsInvertible.h │ │ │ ├── IsKronExpr.h │ │ │ ├── IsLower.h │ │ │ ├── IsMatEvalExpr.h │ │ │ ├── IsMatExpExpr.h │ │ │ ├── IsMatGenExpr.h │ │ │ ├── IsMatInvExpr.h │ │ │ ├── IsMatMapExpr.h │ │ │ ├── IsMatMatAddExpr.h │ │ │ ├── IsMatMatKronExpr.h │ │ │ ├── IsMatMatMapExpr.h │ │ │ ├── IsMatMatMultExpr.h │ │ │ ├── IsMatMatSolveExpr.h │ │ │ ├── IsMatMatSubExpr.h │ │ │ ├── IsMatNoAliasExpr.h │ │ │ ├── IsMatNoSIMDExpr.h │ │ │ ├── IsMatReduceExpr.h │ │ │ ├── IsMatRepeatExpr.h │ │ │ ├── IsMatScalarDivExpr.h │ │ │ ├── IsMatScalarMultExpr.h │ │ │ ├── IsMatSerialExpr.h │ │ │ ├── IsMatTransExpr.h │ │ │ ├── IsMatVecMultExpr.h │ │ │ ├── IsMatVecSolveExpr.h │ │ │ ├── IsMatrix.h │ │ │ ├── IsModification.h │ │ │ ├── IsMultExpr.h │ │ │ ├── IsNoAliasExpr.h │ │ │ ├── IsNoSIMDExpr.h │ │ │ ├── IsOperation.h │ │ │ ├── IsOpposedView.h │ │ │ ├── IsPadded.h │ │ │ ├── IsPaddingEnabled.h │ │ │ ├── IsProxy.h │ │ │ ├── IsReduceExpr.h │ │ │ ├── IsRepeatExpr.h │ │ │ ├── IsResizable.h │ │ │ ├── IsRestricted.h │ │ │ ├── IsRow.h │ │ │ ├── IsRowMajorMatrix.h │ │ │ ├── IsRowVector.h │ │ │ ├── IsRows.h │ │ │ ├── IsSIMDCombinable.h │ │ │ ├── IsSIMDEnabled.h │ │ │ ├── IsSIMDPack.h │ │ │ ├── IsSMPAssignable.h │ │ │ ├── IsSVDExpr.h │ │ │ ├── IsScalar.h │ │ │ ├── IsSchurExpr.h │ │ │ ├── IsSerialExpr.h │ │ │ ├── IsShrinkable.h │ │ │ ├── IsSolveExpr.h │ │ │ ├── IsSparseElement.h │ │ │ ├── IsSparseMatrix.h │ │ │ ├── IsSparseVector.h │ │ │ ├── IsSquare.h │ │ │ ├── IsStatic.h │ │ │ ├── IsStrictlyLower.h │ │ │ ├── IsStrictlyTriangular.h │ │ │ ├── IsStrictlyUpper.h │ │ │ ├── IsSubExpr.h │ │ │ ├── IsSubmatrix.h │ │ │ ├── IsSubvector.h │ │ │ ├── IsSymmetric.h │ │ │ ├── IsTVecMatMultExpr.h │ │ │ ├── IsTemporary.h │ │ │ ├── IsTransExpr.h │ │ │ ├── IsTransformation.h │ │ │ ├── IsTriangular.h │ │ │ ├── IsUnaryMapExpr.h │ │ │ ├── IsUniLower.h │ │ │ ├── IsUniTriangular.h │ │ │ ├── IsUniUpper.h │ │ │ ├── IsUniform.h │ │ │ ├── IsUpper.h │ │ │ ├── IsVecEvalExpr.h │ │ │ ├── IsVecExpandExpr.h │ │ │ ├── IsVecGenExpr.h │ │ │ ├── IsVecMapExpr.h │ │ │ ├── IsVecNoAliasExpr.h │ │ │ ├── IsVecNoSIMDExpr.h │ │ │ ├── IsVecRepeatExpr.h │ │ │ ├── IsVecScalarDivExpr.h │ │ │ ├── IsVecScalarMultExpr.h │ │ │ ├── IsVecSerialExpr.h │ │ │ ├── IsVecTVecMapExpr.h │ │ │ ├── IsVecTVecMultExpr.h │ │ │ ├── IsVecTransExpr.h │ │ │ ├── IsVecVecAddExpr.h │ │ │ ├── IsVecVecDivExpr.h │ │ │ ├── IsVecVecKronExpr.h │ │ │ ├── IsVecVecMapExpr.h │ │ │ ├── IsVecVecMultExpr.h │ │ │ ├── IsVecVecSubExpr.h │ │ │ ├── IsVector.h │ │ │ ├── IsView.h │ │ │ ├── IsZero.h │ │ │ ├── LowType.h │ │ │ ├── MakeComplex.h │ │ │ ├── MaxSize.h │ │ │ ├── RemoveAdaptor.h │ │ │ ├── RequiresEvaluation.h │ │ │ ├── Size.h │ │ │ ├── StorageOrder.h │ │ │ ├── TransposeFlag.h │ │ │ ├── TypeTraits.h │ │ │ ├── UnderlyingBuiltin.h │ │ │ ├── UnderlyingElement.h │ │ │ ├── UnderlyingNumeric.h │ │ │ ├── UnderlyingScalar.h │ │ │ ├── YieldsDiagonal.h │ │ │ ├── YieldsHermitian.h │ │ │ ├── YieldsIdentity.h │ │ │ ├── YieldsLower.h │ │ │ ├── YieldsStrictlyLower.h │ │ │ ├── YieldsStrictlyTriangular.h │ │ │ ├── YieldsStrictlyUpper.h │ │ │ ├── YieldsSymmetric.h │ │ │ ├── YieldsTriangular.h │ │ │ ├── YieldsUniLower.h │ │ │ ├── YieldsUniTriangular.h │ │ │ ├── YieldsUniUpper.h │ │ │ ├── YieldsUniform.h │ │ │ ├── YieldsUpper.h │ │ │ └── YieldsZero.h │ │ └── views │ │ │ ├── Band.h │ │ │ ├── Check.h │ │ │ ├── Column.h │ │ │ ├── Columns.h │ │ │ ├── Elements.h │ │ │ ├── Forward.h │ │ │ ├── Row.h │ │ │ ├── Rows.h │ │ │ ├── Submatrix.h │ │ │ ├── Subvector.h │ │ │ ├── Views.h │ │ │ ├── band │ │ │ ├── Band.h │ │ │ ├── BandData.h │ │ │ ├── BaseTemplate.h │ │ │ ├── Dense.h │ │ │ └── Sparse.h │ │ │ ├── column │ │ │ ├── BaseTemplate.h │ │ │ ├── Column.h │ │ │ ├── ColumnData.h │ │ │ ├── Dense.h │ │ │ └── Sparse.h │ │ │ ├── columns │ │ │ ├── BaseTemplate.h │ │ │ ├── Columns.h │ │ │ ├── ColumnsData.h │ │ │ ├── Dense.h │ │ │ └── Sparse.h │ │ │ ├── elements │ │ │ ├── BaseTemplate.h │ │ │ ├── Dense.h │ │ │ ├── Elements.h │ │ │ ├── ElementsData.h │ │ │ └── Sparse.h │ │ │ ├── row │ │ │ ├── BaseTemplate.h │ │ │ ├── Dense.h │ │ │ ├── Row.h │ │ │ ├── RowData.h │ │ │ └── Sparse.h │ │ │ ├── rows │ │ │ ├── BaseTemplate.h │ │ │ ├── Dense.h │ │ │ ├── Rows.h │ │ │ ├── RowsData.h │ │ │ └── Sparse.h │ │ │ ├── submatrix │ │ │ ├── BaseTemplate.h │ │ │ ├── Dense.h │ │ │ ├── Sparse.h │ │ │ ├── Submatrix.h │ │ │ └── SubmatrixData.h │ │ │ └── subvector │ │ │ ├── BaseTemplate.h │ │ │ ├── Dense.h │ │ │ ├── Dense.h.new │ │ │ ├── Sparse.h │ │ │ ├── Subvector.h │ │ │ └── SubvectorData.h │ │ ├── system │ │ ├── Alignment.h │ │ ├── Assertion.h │ │ ├── BLAS.h │ │ ├── Blocking.h │ │ ├── CacheSize.h │ │ ├── Compiler.h │ │ ├── Debugging.h │ │ ├── Deprecated.h │ │ ├── HostDevice.h │ │ ├── Inline.h │ │ ├── MPI.h │ │ ├── MacroDisable.h │ │ ├── NoUniqueAddress.h │ │ ├── Optimizations.h │ │ ├── Padding.h │ │ ├── Platform.h │ │ ├── Random.h │ │ ├── Restrict.h │ │ ├── SMP.h │ │ ├── Signature.h │ │ ├── Standard.h │ │ ├── StorageOrder.h │ │ ├── System.h │ │ ├── Thresholds.h │ │ ├── TransposeFlag.h │ │ ├── Vectorization.h │ │ ├── Version.h │ │ └── WarningDisable.h │ │ └── util │ │ ├── Algorithms.h │ │ ├── AlignedAllocator.h │ │ ├── AlignedArray.h │ │ ├── AlignmentCheck.h │ │ ├── AsConst.h │ │ ├── Assert.h │ │ ├── CheckedDelete.h │ │ ├── ColorMacros.h │ │ ├── Complex.h │ │ ├── Constraints.h │ │ ├── DimensionOf.h │ │ ├── EmptyType.h │ │ ├── EnableIf.h │ │ ├── Exception.h │ │ ├── Forward.h │ │ ├── FunctionTrace.h │ │ ├── Indices.h │ │ ├── InitializerList.h │ │ ├── IntegerSequence.h │ │ ├── IntegralConstant.h │ │ ├── InvalidType.h │ │ ├── Limits.h │ │ ├── MPL.h │ │ ├── MaybeUnused.h │ │ ├── Memory.h │ │ ├── MemoryPool.h │ │ ├── Misalignment.h │ │ ├── NonCopyable.h │ │ ├── NonCreatable.h │ │ ├── NullAllocator.h │ │ ├── NullType.h │ │ ├── NumericCast.h │ │ ├── PointerCast.h │ │ ├── Policies.h │ │ ├── Random.h │ │ ├── Serialization.h │ │ ├── Singleton.h │ │ ├── SmallArray.h │ │ ├── StaticAssert.h │ │ ├── Suffix.h │ │ ├── Thread.h │ │ ├── ThreadPool.h │ │ ├── Time.h │ │ ├── Timing.h │ │ ├── TypeList.h │ │ ├── TypeTraits.h │ │ ├── Types.h │ │ ├── UnsignedValue.h │ │ ├── Util.h │ │ ├── ValueTraits.h │ │ ├── algorithms │ │ ├── Algorithms.h │ │ ├── ConstructAt.h │ │ ├── Destroy.h │ │ ├── DestroyAt.h │ │ ├── Max.h │ │ ├── Min.h │ │ ├── Minmax.h │ │ ├── Transfer.h │ │ ├── UninitializedDefaultConstruct.h │ │ ├── UninitializedMove.h │ │ ├── UninitializedTransfer.h │ │ └── UninitializedValueConstruct.h │ │ ├── constraints │ │ ├── Arithmetic.h │ │ ├── Array.h │ │ ├── Assignable.h │ │ ├── BaseOf.h │ │ ├── Boolean.h │ │ ├── Builtin.h │ │ ├── Character.h │ │ ├── Class.h │ │ ├── Comparable.h │ │ ├── Complex.h │ │ ├── ComplexDouble.h │ │ ├── ComplexFloat.h │ │ ├── Const.h │ │ ├── Constraints.h │ │ ├── Constructible.h │ │ ├── Convertible.h │ │ ├── DerivedFrom.h │ │ ├── Destructible.h │ │ ├── Double.h │ │ ├── Empty.h │ │ ├── Enum.h │ │ ├── Float.h │ │ ├── FloatingPoint.h │ │ ├── GreaterThan.h │ │ ├── Integer.h │ │ ├── Integral.h │ │ ├── LValueReference.h │ │ ├── LessThan.h │ │ ├── Long.h │ │ ├── LongDouble.h │ │ ├── Numeric.h │ │ ├── Object.h │ │ ├── Pod.h │ │ ├── Pointer.h │ │ ├── RValueReference.h │ │ ├── Rank.h │ │ ├── Reference.h │ │ ├── SameSize.h │ │ ├── SameType.h │ │ ├── Short.h │ │ ├── Signed.h │ │ ├── Size.h │ │ ├── Subscriptable.h │ │ ├── TypeRestriction.h │ │ ├── Union.h │ │ ├── Unsigned.h │ │ ├── Valid.h │ │ ├── Vectorizable.h │ │ ├── Void.h │ │ └── Volatile.h │ │ ├── functiontrace │ │ └── FunctionTrace.h │ │ ├── mpl │ │ ├── And.h │ │ ├── Bools.h │ │ ├── Equal.h │ │ ├── Greater.h │ │ ├── If.h │ │ ├── Less.h │ │ ├── MPL.h │ │ ├── Max.h │ │ ├── Min.h │ │ ├── Minus.h │ │ ├── Modulo.h │ │ ├── Nand.h │ │ ├── Nor.h │ │ ├── Not.h │ │ ├── Or.h │ │ ├── Plus.h │ │ ├── Times.h │ │ └── Xor.h │ │ ├── policies │ │ ├── ArrayDelete.h │ │ ├── Deallocate.h │ │ ├── DefaultDelete.h │ │ ├── NoDelete.h │ │ └── PtrDelete.h │ │ ├── serialization │ │ ├── Archive.h │ │ └── Serialization.h │ │ ├── singleton │ │ ├── Dependency.h │ │ └── Singleton.h │ │ ├── smallarray │ │ └── SmallArrayData.h │ │ ├── threadpool │ │ ├── Task.h │ │ ├── TaskQueue.h │ │ └── ThreadPool.h │ │ ├── timing │ │ ├── CpuPolicy.h │ │ ├── CpuTimer.h │ │ ├── Timer.h │ │ ├── Timing.h │ │ ├── WcPolicy.h │ │ └── WcTimer.h │ │ ├── typelist │ │ ├── Append.h │ │ ├── Contains.h │ │ ├── ContainsRelated.h │ │ ├── Erase.h │ │ ├── EraseAll.h │ │ ├── IndexOf.h │ │ ├── Length.h │ │ ├── TypeAt.h │ │ ├── TypeList.h │ │ └── Unique.h │ │ ├── typetraits │ │ ├── AddCV.h │ │ ├── AddConst.h │ │ ├── AddLValueReference.h │ │ ├── AddPointer.h │ │ ├── AddRValueReference.h │ │ ├── AddVolatile.h │ │ ├── AlignmentOf.h │ │ ├── All.h │ │ ├── AlwaysFalse.h │ │ ├── AlwaysTrue.h │ │ ├── Any.h │ │ ├── CommonType.h │ │ ├── Decay.h │ │ ├── Extent.h │ │ ├── GetMemberType.h │ │ ├── HasGreaterThan.h │ │ ├── HasLessThan.h │ │ ├── HasMember.h │ │ ├── HasSize.h │ │ ├── HaveSameSize.h │ │ ├── IsArithmetic.h │ │ ├── IsArray.h │ │ ├── IsAssignable.h │ │ ├── IsBaseOf.h │ │ ├── IsBoolean.h │ │ ├── IsBuiltin.h │ │ ├── IsCharacter.h │ │ ├── IsClass.h │ │ ├── IsComplex.h │ │ ├── IsComplexDouble.h │ │ ├── IsComplexFloat.h │ │ ├── IsConst.h │ │ ├── IsConstructible.h │ │ ├── IsConvertible.h │ │ ├── IsDestructible.h │ │ ├── IsDetected.h │ │ ├── IsDouble.h │ │ ├── IsEmpty.h │ │ ├── IsEnum.h │ │ ├── IsFloat.h │ │ ├── IsFloatingPoint.h │ │ ├── IsInteger.h │ │ ├── IsIntegral.h │ │ ├── IsLValueReference.h │ │ ├── IsLong.h │ │ ├── IsLongDouble.h │ │ ├── IsNumeric.h │ │ ├── IsObject.h │ │ ├── IsPod.h │ │ ├── IsPointer.h │ │ ├── IsRValueReference.h │ │ ├── IsReference.h │ │ ├── IsSame.h │ │ ├── IsShort.h │ │ ├── IsSigned.h │ │ ├── IsUnion.h │ │ ├── IsUnsigned.h │ │ ├── IsValid.h │ │ ├── IsVectorizable.h │ │ ├── IsVoid.h │ │ ├── IsVolatile.h │ │ ├── MakeSigned.h │ │ ├── MakeUnsigned.h │ │ ├── Rank.h │ │ ├── RemoveAllExtents.h │ │ ├── RemoveCV.h │ │ ├── RemoveCVRef.h │ │ ├── RemoveConst.h │ │ ├── RemoveExtent.h │ │ ├── RemoveLValueReference.h │ │ ├── RemovePointer.h │ │ ├── RemoveRValueReference.h │ │ ├── RemoveReference.h │ │ ├── RemoveVolatile.h │ │ ├── TypeTraits.h │ │ └── Void.h │ │ └── valuetraits │ │ ├── IsEven.h │ │ ├── IsMultipleOf.h │ │ ├── IsOdd.h │ │ ├── IsPowerOf.h │ │ └── ValueTraits.h └── tinytest │ ├── cpp │ ├── test-expr.cpp │ ├── test-matrices.cpp │ ├── test-vectors.cpp │ └── test-views.cpp │ ├── test_expr.R │ ├── test_matrix.R │ ├── test_vector.R │ └── test_views.R ├── local ├── RcppBlazeForwardExprPart.h ├── RcppBlazeWrapExprPart.h └── listBlazeExpr.R ├── man ├── RcppBlaze-package.Rd ├── blaze_seed.Rd ├── blaze_threads.Rd ├── blaze_version.Rd └── fastLmPure.Rd ├── src ├── Makevars ├── RcppBlaze.cpp ├── RcppExports.cpp ├── fastLm.cpp └── registerDynamicSymbols.c └── tests └── tinytest.R /.Rbuildignore: -------------------------------------------------------------------------------- 1 | ^.*\.Rproj$ 2 | ^\.Rproj\.user$ 3 | \.Rhistory 4 | \.git 5 | local 6 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .Rproj.user 2 | .Rhistory 3 | .RData 4 | src/*.rds 5 | src/*.o 6 | src/*.so 7 | src/*.dll 8 | -------------------------------------------------------------------------------- /DESCRIPTION: -------------------------------------------------------------------------------- 1 | Package: RcppBlaze 2 | Type: Package 3 | Title: 'Rcpp' Integration for the 'Blaze' High-Performance 'C++' Math Library 4 | Version: 1.0.1 5 | Date: 2024-04-27 6 | Authors@R: c( 7 | person(given = "Ching-Chuan", 8 | family = "Chen", 9 | role = c("aut", "cre", "ctr"), 10 | email = "zw12356@gmail.com", 11 | comment = c(ORCID = '0009-0007-8273-3206')), 12 | person("Klaus", "Iglberger", role = "aut", comment = "blaze"), 13 | person("Georg", "Georg", role = "aut", comment = "blaze"), 14 | person("Tobias", "Scharpff", role = "aut", comment = "blaze") 15 | ) 16 | Maintainer: Ching-Chuan Chen 17 | URL: https://github.com/Chingchuan-chen/RcppBlaze, 18 | https://bitbucket.org/blaze-lib/blaze 19 | BugReports: https://github.com/Chingchuan-chen/RcppBlaze/issues 20 | Description: Blaze is an open-source, high-performance 'C++' math library for dense and sparse arithmetic. 21 | With its state-of-the-art Smart Expression Template implementation Blaze combines the elegance and 22 | ease of use of a domain-specific language with HPC-grade performance, making it one of the most 23 | intuitive and fastest 'C++' math libraries available. The 'RcppBlaze' package includes the header files 24 | from the 'Blaze' library with disabling some functionalities related to link to the thread and system 25 | libraries which make 'RcppBlaze' be a header-only library. Therefore, users do not need to install 26 | 'Blaze'. 27 | Depends: 28 | R (>= 4.2.0) 29 | Imports: 30 | Rcpp (>= 1.0.0), 31 | Matrix (>= 1.5-0) 32 | LinkingTo: 33 | Rcpp 34 | Suggests: 35 | MatrixExtra, 36 | tinytest, 37 | microbenchmark 38 | LazyLoad: yes 39 | Encoding: UTF-8 40 | License: BSD_3_clause + file LICENSE 41 | RoxygenNote: 7.3.1 42 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | YEAR: 2011-2024 2 | COPYRIGHT HOLDER: Ching-Chuan Chen 3 | ORGANIZATION: None 4 | -------------------------------------------------------------------------------- /NAMESPACE: -------------------------------------------------------------------------------- 1 | # Generated by roxygen2: do not edit by hand 2 | 3 | export(blaze_get_num_threads) 4 | export(blaze_get_seed) 5 | export(blaze_set_num_threads) 6 | export(blaze_set_seed) 7 | export(blaze_version) 8 | export(fastLmPure) 9 | importClassesFrom(Matrix,dgCMatrix) 10 | importClassesFrom(Matrix,dgRMatrix) 11 | importClassesFrom(Matrix,lgCMatrix) 12 | importClassesFrom(Matrix,lgRMatrix) 13 | importFrom(Rcpp,Rcpp.plugin.maker) 14 | importFrom(Rcpp,evalCpp) 15 | importFrom(Rcpp,sourceCpp) 16 | useDynLib(RcppBlaze, .registration = TRUE) 17 | -------------------------------------------------------------------------------- /NEWS.md: -------------------------------------------------------------------------------- 1 | # RcppBlaze v1.0.1 2 | 3 | * Add function to set/get the number of threads. 4 | * Add function to set/get seed for blaze. 5 | * Improve the performance of `fastLm` by using `CustomVector` and `CustomMatrix`. 6 | 7 | # RcppBlaze v1.0.0 8 | 9 | * Update Blaze-lib to 3.8.2 since Rcpp supports C++14 / C++17 since 4.2.0. 10 | * Because of the support of C++14, R need to be >= `4.2.0` to install `RcppBlaze`. 11 | * Enable C++11 Threads when compiling `fastLm`. 12 | * Change to use BSD License which is aligned with `blize-lib`. 13 | 14 | # RcppBlaze v0.2.2 15 | 16 | * Fix building problem on windows. 17 | 18 | # RcppBlaze v0.2.1 19 | 20 | * Modification of examples. 21 | 22 | # RcppBlaze v0.2.0 23 | 24 | * Make RcppBlaze link to RcppLAPACKE. 25 | * Add examples to link RcppLAPACKE. 26 | 27 | # RcppBlaze v0.1.1 28 | 29 | * Fix some minor bugs. 30 | 31 | # RcppBlaze v0.1.0 32 | 33 | * First release on CRAN. 34 | -------------------------------------------------------------------------------- /R/RcppExports.R: -------------------------------------------------------------------------------- 1 | # Generated by using Rcpp::compileAttributes() -> do not edit by hand 2 | # Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393 3 | 4 | #' The version of Blaze used in RcppBlaze 5 | #' 6 | #' To return the version of Blaze used in RcppBlaze. 7 | #' 8 | #' @param single A logical value indicates which type to return. If TRUE, it returns an integer. If FALSE, it returns a named vector. 9 | #' @return A number or a named vector to represent the version of \code{blaze} depending on the input, \code{single}. 10 | #' @seealso Blaze header file \code{blaze/system/Version.h}. 11 | #' @examples 12 | #' blaze_version(FALSE) 13 | #' @export 14 | blaze_version <- function(single) { 15 | .Call(`_RcppBlaze_blaze_version`, single) 16 | } 17 | 18 | #' Set/Get the random number generator for blaze with given seed 19 | #' 20 | #' @param seed A positive integer to specify the seed value for the random number generator. 21 | #' @return No return value. 22 | #' @rdname blaze_seed 23 | #' @export 24 | blaze_set_seed <- function(seed) { 25 | invisible(.Call(`_RcppBlaze_blaze_set_seed`, seed)) 26 | } 27 | 28 | #' @rdname blaze_seed 29 | #' @export 30 | blaze_get_seed <- function() { 31 | .Call(`_RcppBlaze_blaze_get_seed`) 32 | } 33 | 34 | #' Set/Get the Number of Threads used in blaze 35 | #' 36 | #' @param n The number of threads to set in blaze. 37 | #' @return \code{blaze_get_threads} returns an integer and \code{blaze_set_threads} returns nothing. 38 | #' @seealso blaze wiki: \url{https://bitbucket.org/blaze-lib/blaze/wiki/Shared\%20Memory\%20Parallelization}. 39 | #' @rdname blaze_threads 40 | #' @export 41 | blaze_set_num_threads <- function(n) { 42 | invisible(.Call(`_RcppBlaze_blaze_set_num_threads`, n)) 43 | } 44 | 45 | #' @rdname blaze_threads 46 | #' @export 47 | blaze_get_num_threads <- function() { 48 | .Call(`_RcppBlaze_blaze_get_num_threads`) 49 | } 50 | 51 | #' linear model fitting function based on RcppBlaze 52 | #' 53 | #' \code{fastLmPure} provides the estimates of the linear model based on \strong{RcppBlaze}. 54 | #' 55 | #' \code{fastLm} estimates the linear model using the \code{solve}. 56 | #' 57 | #' @param X A model matrix. 58 | #' @param y A response vector. 59 | #' @param type A integer. 0 is QR solver, 1 is LDLT solver, 2 is LLT sovler and 3 is LU solver. 60 | #' @return A list containing coefficients, standard errors, rank of model matrix, 61 | #' degree of freedom of residuals, residuals, the standard deviation of random errors and 62 | #' fitted values. 63 | #' @examples 64 | #' # according to fastLm example in RcppArmadillo 65 | #' data(trees, package="datasets") 66 | #' flm <- fastLmPure(cbind(1, log(trees$Girth)), log(trees$Volume), 0) 67 | #' print(flm) 68 | #' @export 69 | fastLmPure <- function(X, y, type) { 70 | .Call(`_RcppBlaze_fastLmPure`, X, y, type) 71 | } 72 | 73 | -------------------------------------------------------------------------------- /R/flags.R: -------------------------------------------------------------------------------- 1 | ## Copyright (C) 2010 - 2024 Dirk Eddelbuettel, Romain Francois and Douglas Bates 2 | ## Copyright (C) 2017 - 2024 Ching-Chuan Chen 3 | ## 4 | ## This file is based on flags.R and inline.R from RcppArmadillo. 5 | ## This file is part of RcppBlaze. 6 | ## 7 | ## RcppBlaze is free software: you can redistribute it and/or modify it 8 | ## under the terms of the 3-Clause BSD License. You should have received 9 | ## a copy of 3-Clause BSD License along with RcppBlaze. 10 | ## If not, see https://opensource.org/license/BSD-3-Clause. 11 | 12 | RcppBlazeCxxFlags <- function(){ 13 | paste0('-I"', system.file("include", package = "RcppBlaze"), '"', sep = "") 14 | } 15 | 16 | CxxFlags <- function() cat(RcppBlazeCxxFlags()) 17 | 18 | # Inline plugin used by sourceCpp. 19 | #' @importFrom Rcpp Rcpp.plugin.maker evalCpp sourceCpp 20 | inlineCxxPlugin <- function() { 21 | openmpFlag <- ifelse(Sys.info()[["sysname"]] == "Darwin", "", "$(SHLIB_OPENMP_CFLAGS)") 22 | getSettings <- Rcpp.plugin.maker( 23 | include.before = "#include ", 24 | libs = paste(openmpFlag, "$(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS)"), 25 | package = c("RcppBlaze") 26 | ) 27 | settings <- getSettings() 28 | settings$env$PKG_CPPFLAGS <- paste("-I../inst/include", openmpFlag) 29 | return(settings) 30 | } 31 | -------------------------------------------------------------------------------- /RcppBlaze.Rproj: -------------------------------------------------------------------------------- 1 | Version: 1.0 2 | 3 | RestoreWorkspace: Default 4 | SaveWorkspace: Default 5 | AlwaysSaveHistory: Default 6 | 7 | EnableCodeIndexing: Yes 8 | UseSpacesForTab: Yes 9 | NumSpacesForTab: 2 10 | Encoding: UTF-8 11 | 12 | RnwWeave: knitr 13 | LaTeX: XeLaTeX 14 | 15 | AutoAppendNewline: Yes 16 | StripTrailingWhitespace: Yes 17 | 18 | BuildType: Package 19 | PackageUseDevtools: Yes 20 | PackageInstallArgs: --no-multiarch --with-keep.source 21 | PackageCheckArgs: --as-cran 22 | PackageRoxygenize: rd,collate,namespace 23 | -------------------------------------------------------------------------------- /inst/include/RcppBlaze.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2017 - 2024 Ching-Chuan Chen 2 | // 3 | // This file is part of RcppBlaze. 4 | // 5 | // RcppBlaze is free software: you can redistribute it and/or modify it 6 | // under the terms of the 3-Clause BSD License. You should have received 7 | // a copy of 3-Clause BSD License along with RcppBlaze. 8 | // If not, see https://opensource.org/license/BSD-3-Clause. 9 | 10 | #ifndef RcppBlaze__RcppBlaze__h 11 | #define RcppBlaze__RcppBlaze__h 12 | 13 | #include 14 | #include 15 | #include 16 | #include 17 | 18 | #endif 19 | -------------------------------------------------------------------------------- /inst/include/RcppBlazeConfig.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2017 - 2024 Ching-Chuan Chen 2 | // 3 | // This file is part of RcppBlaze. 4 | // 5 | // RcppBlaze is free software: you can redistribute it and/or modify it 6 | // under the terms of the 3-Clause BSD License. You should have received 7 | // a copy of 3-Clause BSD License along with RcppBlaze. 8 | // If not, see https://opensource.org/license/BSD-3-Clause. 9 | 10 | #ifndef RcppBlaze__RcppBlazeConfig__h 11 | #define RcppBlaze__RcppBlazeConfig__h 12 | 13 | // avoid conflict to R constants 14 | #define _BLAZE_MATH_CONSTANTS_H_ 15 | 16 | #endif 17 | -------------------------------------------------------------------------------- /inst/include/blaze/Blaze.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/Blaze.h 4 | // \brief Primary include file of the Blaze library 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_BLAZE_H_ 36 | #define _BLAZE_BLAZE_H_ 37 | 38 | 39 | //************************************************************************************************* 40 | // Includes 41 | //************************************************************************************************* 42 | 43 | #include 44 | #include 45 | #include 46 | 47 | 48 | 49 | 50 | //================================================================================================= 51 | // 52 | // DOXYGEN DOCUMENTATION 53 | // 54 | //================================================================================================= 55 | 56 | //************************************************************************************************* 57 | //! Namespace of the \b Blaze C++ math library. 58 | namespace blaze {} 59 | //************************************************************************************************* 60 | 61 | #endif 62 | -------------------------------------------------------------------------------- /inst/include/blaze/Forward.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/Forward.h 4 | // \brief Header file for all forward declarations of the Blaze library 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_FORWARD_H_ 36 | #define _BLAZE_FORWARD_H_ 37 | 38 | 39 | //************************************************************************************************* 40 | // Includes 41 | //************************************************************************************************* 42 | 43 | #include 44 | #include 45 | #include 46 | #include 47 | 48 | #endif 49 | -------------------------------------------------------------------------------- /inst/include/blaze/config/Config.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/config/Config.h 4 | // \brief Config module documentation 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_CONFIG_CONFIG_H_ 36 | #define _BLAZE_CONFIG_CONFIG_H_ 37 | 38 | 39 | //================================================================================================= 40 | // 41 | // DOXYGEN DOCUMENTATION 42 | // 43 | //================================================================================================= 44 | 45 | //************************************************************************************************* 46 | /*!\defgroup config Configuration 47 | // 48 | // The configuration module offers the possibility to tune the Blaze library to the individual 49 | // needs and requirements. 50 | */ 51 | //************************************************************************************************* 52 | 53 | #endif 54 | -------------------------------------------------------------------------------- /inst/include/blaze/config/Restrict.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/config/Restrict.h 4 | // \brief Configuration of the restrict policy of the Blaze library 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | 36 | //************************************************************************************************* 37 | /*!\brief Compilation switch for C99 restrict keyword. 38 | // \ingroup config 39 | // 40 | // This compilation switch enables/disables the C99 restrict keyword. 41 | // 42 | // Possible settings for the C99 restrict switch: 43 | // - Deactivated: \b 0 44 | // - Activated : \b 1 45 | // 46 | // \note It is possible to (de-)activate the restrict keyword via command line or by defining 47 | // this symbol manually before including any Blaze header file: 48 | 49 | \code 50 | g++ ... -DBLAZE_USE_RESTRICT=1 ... 51 | \endcode 52 | 53 | \code 54 | #define BLAZE_USE_RESTRICT 1 55 | #include 56 | \endcode 57 | */ 58 | #ifndef BLAZE_USE_RESTRICT 59 | #define BLAZE_USE_RESTRICT 1 60 | #endif 61 | //************************************************************************************************* 62 | -------------------------------------------------------------------------------- /inst/include/blaze/math/BLAS.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/math/BLAS.h 4 | // \brief Header file for BLAS functionality 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_MATH_BLAS_H_ 36 | #define _BLAZE_MATH_BLAS_H_ 37 | 38 | 39 | //************************************************************************************************* 40 | // Includes 41 | //************************************************************************************************* 42 | 43 | #include 44 | #include 45 | #include 46 | #include 47 | #include 48 | #include 49 | #include 50 | #include 51 | 52 | #endif 53 | -------------------------------------------------------------------------------- /inst/include/blaze/math/Forward.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/math/Forward.h 4 | // \brief Header file for all forward declarations of the math module 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_MATH_FORWARD_H_ 36 | #define _BLAZE_MATH_FORWARD_H_ 37 | 38 | 39 | //************************************************************************************************* 40 | // Includes 41 | //************************************************************************************************* 42 | 43 | #include 44 | #include 45 | #include 46 | #include 47 | #include 48 | 49 | #endif 50 | -------------------------------------------------------------------------------- /inst/include/blaze/math/InitializerMatrix.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/math/InitializerMatrix.h 4 | // \brief Header file for the complete InitializerMatrix implementation 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_MATH_INITIALIZERMATRIX_H_ 36 | #define _BLAZE_MATH_INITIALIZERMATRIX_H_ 37 | 38 | 39 | //************************************************************************************************* 40 | // Includes 41 | //************************************************************************************************* 42 | 43 | #include 44 | #include 45 | #include 46 | #include 47 | 48 | #endif 49 | -------------------------------------------------------------------------------- /inst/include/blaze/math/InitializerVector.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/math/InitializerVector.h 4 | // \brief Header file for the complete InitializerVector implementation 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_MATH_INITIALIZERVECTOR_H_ 36 | #define _BLAZE_MATH_INITIALIZERVECTOR_H_ 37 | 38 | 39 | //************************************************************************************************* 40 | // Includes 41 | //************************************************************************************************* 42 | 43 | #include 44 | #include 45 | #include 46 | #include 47 | 48 | #endif 49 | -------------------------------------------------------------------------------- /inst/include/blaze/math/Math.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/math/Math.h 4 | // \brief Math module documentation 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_MATH_MATH_H_ 36 | #define _BLAZE_MATH_MATH_H_ 37 | 38 | 39 | //================================================================================================= 40 | // 41 | // DOXYGEN DOCUMENTATION 42 | // 43 | //================================================================================================= 44 | 45 | //************************************************************************************************* 46 | /*!\defgroup math Math module */ 47 | //************************************************************************************************* 48 | 49 | #endif 50 | -------------------------------------------------------------------------------- /inst/include/blaze/math/SIMD.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/math/SIMD.h 4 | // \brief Header file for all SIMD functionality 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_MATH_SIMD_H_ 36 | #define _BLAZE_MATH_SIMD_H_ 37 | 38 | 39 | //************************************************************************************************* 40 | // Includes 41 | //************************************************************************************************* 42 | 43 | #include 44 | #include 45 | #include 46 | #include 47 | 48 | #endif 49 | -------------------------------------------------------------------------------- /inst/include/blaze/math/SMP.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/math/SMP.h 4 | // \brief Header file for the shared memory parallelization 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_MATH_SMP_H_ 36 | #define _BLAZE_MATH_SMP_H_ 37 | 38 | 39 | //************************************************************************************************* 40 | // Includes 41 | //************************************************************************************************* 42 | 43 | #include 44 | #include 45 | #include 46 | #include 47 | #include 48 | #include 49 | 50 | #endif 51 | -------------------------------------------------------------------------------- /inst/include/blaze/math/Serialization.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/math/Serialization.h 4 | // \brief Header file for the serialization functionality for vectors and matrices 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_MATH_SERIALIZATION_H_ 36 | #define _BLAZE_MATH_SERIALIZATION_H_ 37 | 38 | 39 | //************************************************************************************************* 40 | // Includes 41 | //************************************************************************************************* 42 | 43 | #include 44 | #include 45 | 46 | #endif 47 | -------------------------------------------------------------------------------- /inst/include/blaze/math/Views.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/math/Views.h 4 | // \brief Header file for the vector and matrix views 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_MATH_VIEWS_H_ 36 | #define _BLAZE_MATH_VIEWS_H_ 37 | 38 | 39 | //************************************************************************************************* 40 | // Includes 41 | //************************************************************************************************* 42 | 43 | #include 44 | #include 45 | #include 46 | #include 47 | #include 48 | #include 49 | #include 50 | #include 51 | 52 | #endif 53 | -------------------------------------------------------------------------------- /inst/include/blaze/math/adaptors/Adaptors.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/math/adaptors/Adaptors.h 4 | // \brief Adaptors module documentation 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_MATH_ADAPTORS_ADAPTORS_H_ 36 | #define _BLAZE_MATH_ADAPTORS_ADAPTORS_H_ 37 | 38 | 39 | //================================================================================================= 40 | // 41 | // DOXYGEN DOCUMENTATION 42 | // 43 | //================================================================================================= 44 | 45 | //************************************************************************************************* 46 | /*!\defgroup adaptors Adaptors 47 | // \ingroup math 48 | */ 49 | //************************************************************************************************* 50 | 51 | #endif 52 | -------------------------------------------------------------------------------- /inst/include/blaze/math/adaptors/Forward.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/math/adaptors/Forward.h 4 | // \brief Header file for all adaptor forward declarations 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_MATH_ADAPTORS_FORWARD_H_ 36 | #define _BLAZE_MATH_ADAPTORS_FORWARD_H_ 37 | 38 | 39 | //************************************************************************************************* 40 | // Includes 41 | //************************************************************************************************* 42 | 43 | #include 44 | #include 45 | #include 46 | #include 47 | #include 48 | #include 49 | #include 50 | #include 51 | #include 52 | 53 | #endif 54 | -------------------------------------------------------------------------------- /inst/include/blaze/math/blas/BLAS.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/math/blas/BLAS.h 4 | // \brief BLAS module documentation 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_MATH_BLAS_BLAS_H_ 36 | #define _BLAZE_MATH_BLAS_BLAS_H_ 37 | 38 | 39 | //================================================================================================= 40 | // 41 | // DOXYGEN DOCUMENTATION 42 | // 43 | //================================================================================================= 44 | 45 | //************************************************************************************************* 46 | /*!\defgroup blas BLAS 47 | // \ingroup math 48 | */ 49 | //************************************************************************************************* 50 | 51 | #endif 52 | -------------------------------------------------------------------------------- /inst/include/blaze/math/constraints/Constraints.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/math/constraints/Constraints.h 4 | // \brief Documentation for the mathematical constraints module 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_MATH_CONSTRAINTS_CONSTRAINTS_H_ 36 | #define _BLAZE_MATH_CONSTRAINTS_CONSTRAINTS_H_ 37 | 38 | 39 | //================================================================================================= 40 | // 41 | // DOXYGEN DOCUMENTATION 42 | // 43 | //================================================================================================= 44 | 45 | //************************************************************************************************* 46 | /*!\defgroup math_constraints Compile time constraints 47 | // \ingroup math 48 | */ 49 | //************************************************************************************************* 50 | 51 | #endif 52 | -------------------------------------------------------------------------------- /inst/include/blaze/math/functors/Functors.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/math/functors/Functors.h 4 | // \brief Mathematical functors module documentation 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_MATH_FUNCTORS_FUNCTORS_H_ 36 | #define _BLAZE_MATH_FUNCTORS_FUNCTORS_H_ 37 | 38 | 39 | //================================================================================================= 40 | // 41 | // DOXYGEN DOCUMENTATION 42 | // 43 | //================================================================================================= 44 | 45 | //************************************************************************************************* 46 | /*!\defgroup functors Functors 47 | // \ingroup math 48 | */ 49 | //************************************************************************************************* 50 | 51 | #endif 52 | -------------------------------------------------------------------------------- /inst/include/blaze/math/lapack/geqp3.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/math/lapack/geqp3.h 4 | // \brief Header file for the LAPACK QR decomposition functions (geqp3) 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_MATH_LAPACK_GEQP3_H_ 36 | #define _BLAZE_MATH_LAPACK_GEQP3_H_ 37 | 38 | 39 | //************************************************************************************************* 40 | // Includes 41 | //************************************************************************************************* 42 | 43 | #include 44 | 45 | #endif 46 | -------------------------------------------------------------------------------- /inst/include/blaze/math/proxy/Forward.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/math/proxy/Forward.h 4 | // \brief Header file for all forward declarations for proxies 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_MATH_PROXY_FORWARD_H_ 36 | #define _BLAZE_MATH_PROXY_FORWARD_H_ 37 | 38 | 39 | namespace blaze { 40 | 41 | //================================================================================================= 42 | // 43 | // ::blaze NAMESPACE FORWARD DECLARATIONS 44 | // 45 | //================================================================================================= 46 | 47 | template< typename, typename > class ComplexProxy; 48 | template< typename, typename > class DefaultProxy; 49 | template< typename, typename > class DenseMatrixProxy; 50 | template< typename, typename > class DenseVectorProxy; 51 | template< typename, typename > class Proxy; 52 | template< typename, typename > class SparseMatrixProxy; 53 | template< typename, typename > class SparseVectorProxy; 54 | 55 | } // namespace blaze 56 | 57 | #endif 58 | -------------------------------------------------------------------------------- /inst/include/blaze/math/shims/Abs.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/math/shims/Abs.h 4 | // \brief Header file for the abs shim 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_MATH_SHIMS_ABS_H_ 36 | #define _BLAZE_MATH_SHIMS_ABS_H_ 37 | 38 | 39 | //************************************************************************************************* 40 | // Includes 41 | //************************************************************************************************* 42 | 43 | #include 44 | 45 | 46 | namespace blaze { 47 | 48 | //================================================================================================= 49 | // 50 | // ABS SHIM 51 | // 52 | //================================================================================================= 53 | 54 | //************************************************************************************************* 55 | /*!\brief Import of the std::abs() function into the Blaze namespace. 56 | // \ingroup math_shims 57 | */ 58 | using std::abs; 59 | //************************************************************************************************* 60 | 61 | } // namespace blaze 62 | 63 | #endif 64 | -------------------------------------------------------------------------------- /inst/include/blaze/math/shims/Acos.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/math/shims/Acos.h 4 | // \brief Header file for the acos shim 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_MATH_SHIMS_ACOS_H_ 36 | #define _BLAZE_MATH_SHIMS_ACOS_H_ 37 | 38 | 39 | //************************************************************************************************* 40 | // Includes 41 | //************************************************************************************************* 42 | 43 | #include 44 | 45 | 46 | namespace blaze { 47 | 48 | //================================================================================================= 49 | // 50 | // ACOS SHIM 51 | // 52 | //================================================================================================= 53 | 54 | //************************************************************************************************* 55 | /*!\brief Import of the std::acos() function into the Blaze namespace. 56 | // \ingroup math_shims 57 | */ 58 | using std::acos; 59 | //************************************************************************************************* 60 | 61 | } // namespace blaze 62 | 63 | #endif 64 | -------------------------------------------------------------------------------- /inst/include/blaze/math/shims/Asin.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/math/shims/Asin.h 4 | // \brief Header file for the asin shim 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_MATH_SHIMS_ASIN_H_ 36 | #define _BLAZE_MATH_SHIMS_ASIN_H_ 37 | 38 | 39 | //************************************************************************************************* 40 | // Includes 41 | //************************************************************************************************* 42 | 43 | #include 44 | 45 | 46 | namespace blaze { 47 | 48 | //================================================================================================= 49 | // 50 | // ASIN SHIM 51 | // 52 | //================================================================================================= 53 | 54 | //************************************************************************************************* 55 | /*!\brief Import of the std::asin() function into the Blaze namespace. 56 | // \ingroup math_shims 57 | */ 58 | using std::asin; 59 | //************************************************************************************************* 60 | 61 | } // namespace blaze 62 | 63 | #endif 64 | -------------------------------------------------------------------------------- /inst/include/blaze/math/shims/Atan.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/math/shims/Atan.h 4 | // \brief Header file for the atan shim 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_MATH_SHIMS_ATAN_H_ 36 | #define _BLAZE_MATH_SHIMS_ATAN_H_ 37 | 38 | 39 | //************************************************************************************************* 40 | // Includes 41 | //************************************************************************************************* 42 | 43 | #include 44 | 45 | 46 | namespace blaze { 47 | 48 | //================================================================================================= 49 | // 50 | // ATAN SHIM 51 | // 52 | //================================================================================================= 53 | 54 | //************************************************************************************************* 55 | /*!\brief Import of the std::atan() function into the Blaze namespace. 56 | // \ingroup math_shims 57 | */ 58 | using std::atan; 59 | //************************************************************************************************* 60 | 61 | } // namespace blaze 62 | 63 | #endif 64 | -------------------------------------------------------------------------------- /inst/include/blaze/math/shims/Cbrt.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/math/shims/Cbrt.h 4 | // \brief Header file for the cbrt shim 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_MATH_SHIMS_CBRT_H_ 36 | #define _BLAZE_MATH_SHIMS_CBRT_H_ 37 | 38 | 39 | //************************************************************************************************* 40 | // Includes 41 | //************************************************************************************************* 42 | 43 | #include 44 | 45 | 46 | namespace blaze { 47 | 48 | //================================================================================================= 49 | // 50 | // CBRT SHIM 51 | // 52 | //================================================================================================= 53 | 54 | //************************************************************************************************* 55 | /*!\brief Import of the std::cbrt() function into the Blaze namespace. 56 | // \ingroup math_shims 57 | */ 58 | using std::cbrt; 59 | //************************************************************************************************* 60 | 61 | } // namespace blaze 62 | 63 | #endif 64 | -------------------------------------------------------------------------------- /inst/include/blaze/math/shims/Cos.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/math/shims/Cos.h 4 | // \brief Header file for the cos shim 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_MATH_SHIMS_COS_H_ 36 | #define _BLAZE_MATH_SHIMS_COS_H_ 37 | 38 | 39 | //************************************************************************************************* 40 | // Includes 41 | //************************************************************************************************* 42 | 43 | #include 44 | 45 | 46 | namespace blaze { 47 | 48 | //================================================================================================= 49 | // 50 | // COS SHIM 51 | // 52 | //================================================================================================= 53 | 54 | //************************************************************************************************* 55 | /*!\brief Import of the std::cos() function into the Blaze namespace. 56 | // \ingroup math_shims 57 | */ 58 | using std::cos; 59 | //************************************************************************************************* 60 | 61 | } // namespace blaze 62 | 63 | #endif 64 | -------------------------------------------------------------------------------- /inst/include/blaze/math/shims/Erf.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/math/shims/Erf.h 4 | // \brief Header file for the erf shim 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_MATH_SHIMS_ERF_H_ 36 | #define _BLAZE_MATH_SHIMS_ERF_H_ 37 | 38 | 39 | //************************************************************************************************* 40 | // Includes 41 | //************************************************************************************************* 42 | 43 | #include 44 | 45 | 46 | namespace blaze { 47 | 48 | //================================================================================================= 49 | // 50 | // ERF SHIM 51 | // 52 | //================================================================================================= 53 | 54 | //************************************************************************************************* 55 | /*!\brief Import of the std::erf() function into the Blaze namespace. 56 | // \ingroup math_shims 57 | */ 58 | using std::erf; 59 | //************************************************************************************************* 60 | 61 | } // namespace blaze 62 | 63 | #endif 64 | -------------------------------------------------------------------------------- /inst/include/blaze/math/shims/Exp.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/math/shims/Exp.h 4 | // \brief Header file for the exp shim 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_MATH_SHIMS_EXP_H_ 36 | #define _BLAZE_MATH_SHIMS_EXP_H_ 37 | 38 | 39 | //************************************************************************************************* 40 | // Includes 41 | //************************************************************************************************* 42 | 43 | #include 44 | 45 | 46 | namespace blaze { 47 | 48 | //================================================================================================= 49 | // 50 | // EXP SHIM 51 | // 52 | //================================================================================================= 53 | 54 | //************************************************************************************************* 55 | /*!\brief Import of the std::exp() function into the Blaze namespace. 56 | // \ingroup math_shims 57 | */ 58 | using std::exp; 59 | //************************************************************************************************* 60 | 61 | } // namespace blaze 62 | 63 | #endif 64 | -------------------------------------------------------------------------------- /inst/include/blaze/math/shims/Log.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/math/shims/Log.h 4 | // \brief Header file for the log shim 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_MATH_SHIMS_LOG_H_ 36 | #define _BLAZE_MATH_SHIMS_LOG_H_ 37 | 38 | 39 | //************************************************************************************************* 40 | // Includes 41 | //************************************************************************************************* 42 | 43 | #include 44 | 45 | 46 | namespace blaze { 47 | 48 | //================================================================================================= 49 | // 50 | // LOG SHIM 51 | // 52 | //================================================================================================= 53 | 54 | //************************************************************************************************* 55 | /*!\brief Import of the std::log() function into the Blaze namespace. 56 | // \ingroup math_shims 57 | */ 58 | using std::log; 59 | //************************************************************************************************* 60 | 61 | } // namespace blaze 62 | 63 | #endif 64 | -------------------------------------------------------------------------------- /inst/include/blaze/math/shims/Pow.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/math/shims/Pow.h 4 | // \brief Header file for the pow shim 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_MATH_SHIMS_POW_H_ 36 | #define _BLAZE_MATH_SHIMS_POW_H_ 37 | 38 | 39 | //************************************************************************************************* 40 | // Includes 41 | //************************************************************************************************* 42 | 43 | #include 44 | 45 | 46 | namespace blaze { 47 | 48 | //================================================================================================= 49 | // 50 | // POW SHIM 51 | // 52 | //================================================================================================= 53 | 54 | //************************************************************************************************* 55 | /*!\brief Import of the std::pow() function into the Blaze namespace. 56 | // \ingroup math_shims 57 | */ 58 | using std::pow; 59 | //************************************************************************************************* 60 | 61 | } // namespace blaze 62 | 63 | #endif 64 | -------------------------------------------------------------------------------- /inst/include/blaze/math/shims/Shims.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/math/shims/Shims.h 4 | // \brief Mathematical shims module documentation 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_MATH_SHIMS_SHIMS_H_ 36 | #define _BLAZE_MATH_SHIMS_SHIMS_H_ 37 | 38 | 39 | //================================================================================================= 40 | // 41 | // DOXYGEN DOCUMENTATION 42 | // 43 | //================================================================================================= 44 | 45 | //************************************************************************************************* 46 | /*!\defgroup math_shims Shims 47 | // \ingroup math 48 | */ 49 | //************************************************************************************************* 50 | 51 | #endif 52 | -------------------------------------------------------------------------------- /inst/include/blaze/math/shims/Sin.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/math/shims/Sin.h 4 | // \brief Header file for the sin shim 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_MATH_SHIMS_SIN_H_ 36 | #define _BLAZE_MATH_SHIMS_SIN_H_ 37 | 38 | 39 | //************************************************************************************************* 40 | // Includes 41 | //************************************************************************************************* 42 | 43 | #include 44 | 45 | 46 | namespace blaze { 47 | 48 | //================================================================================================= 49 | // 50 | // SIN SHIM 51 | // 52 | //================================================================================================= 53 | 54 | //************************************************************************************************* 55 | /*!\brief Import of the std::sin() function into the Blaze namespace. 56 | // \ingroup math_shims 57 | */ 58 | using std::sin; 59 | //************************************************************************************************* 60 | 61 | } // namespace blaze 62 | 63 | #endif 64 | -------------------------------------------------------------------------------- /inst/include/blaze/math/shims/Tan.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/math/shims/Tan.h 4 | // \brief Header file for the tan shim 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_MATH_SHIMS_TAN_H_ 36 | #define _BLAZE_MATH_SHIMS_TAN_H_ 37 | 38 | 39 | //************************************************************************************************* 40 | // Includes 41 | //************************************************************************************************* 42 | 43 | #include 44 | 45 | 46 | namespace blaze { 47 | 48 | //================================================================================================= 49 | // 50 | // TAN SHIM 51 | // 52 | //================================================================================================= 53 | 54 | //************************************************************************************************* 55 | /*!\brief Import of the std::tan() function into the Blaze namespace. 56 | // \ingroup math_shims 57 | */ 58 | using std::tan; 59 | //************************************************************************************************* 60 | 61 | } // namespace blaze 62 | 63 | #endif 64 | -------------------------------------------------------------------------------- /inst/include/blaze/math/simd/SIMD.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/math/simd/SIMD.h 4 | // \brief Mathematical SIMD module documentation 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_MATH_SIMD_SIMD_H_ 36 | #define _BLAZE_MATH_SIMD_SIMD_H_ 37 | 38 | 39 | //================================================================================================= 40 | // 41 | // DOXYGEN DOCUMENTATION 42 | // 43 | //================================================================================================= 44 | 45 | //************************************************************************************************* 46 | /*!\defgroup simd SIMD 47 | // \ingroup math 48 | */ 49 | //************************************************************************************************* 50 | 51 | #endif 52 | -------------------------------------------------------------------------------- /inst/include/blaze/math/smp/DenseMatrix.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/math/smp/DenseMatrix.h 4 | // \brief Header file for the dense matrix SMP implementation 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_MATH_SMP_DENSEMATRIX_H_ 36 | #define _BLAZE_MATH_SMP_DENSEMATRIX_H_ 37 | 38 | 39 | //************************************************************************************************* 40 | // Includes 41 | //************************************************************************************************* 42 | 43 | #include 44 | 45 | #if BLAZE_HPX_PARALLEL_MODE 46 | #include 47 | #elif BLAZE_CPP_THREADS_PARALLEL_MODE || BLAZE_BOOST_THREADS_PARALLEL_MODE 48 | #include 49 | #elif BLAZE_OPENMP_PARALLEL_MODE 50 | #include 51 | #else 52 | #include 53 | #endif 54 | 55 | #endif 56 | -------------------------------------------------------------------------------- /inst/include/blaze/math/smp/DenseVector.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/math/smp/DenseVector.h 4 | // \brief Header file for the dense vector SMP implementation 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_MATH_SMP_DENSEVECTOR_H_ 36 | #define _BLAZE_MATH_SMP_DENSEVECTOR_H_ 37 | 38 | 39 | //************************************************************************************************* 40 | // Includes 41 | //************************************************************************************************* 42 | 43 | #include 44 | 45 | #if BLAZE_HPX_PARALLEL_MODE 46 | #include 47 | #elif BLAZE_CPP_THREADS_PARALLEL_MODE || BLAZE_BOOST_THREADS_PARALLEL_MODE 48 | #include 49 | #elif BLAZE_OPENMP_PARALLEL_MODE 50 | #include 51 | #else 52 | #include 53 | #endif 54 | 55 | #endif 56 | -------------------------------------------------------------------------------- /inst/include/blaze/math/smp/Functions.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/math/smp/Functions.h 4 | // \brief Header file for SMP utility functions 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_MATH_SMP_FUNCTIONS_H_ 36 | #define _BLAZE_MATH_SMP_FUNCTIONS_H_ 37 | 38 | 39 | //************************************************************************************************* 40 | // Includes 41 | //************************************************************************************************* 42 | 43 | #include 44 | 45 | #if BLAZE_HPX_PARALLEL_MODE 46 | #include 47 | #elif BLAZE_CPP_THREADS_PARALLEL_MODE || BLAZE_BOOST_THREADS_PARALLEL_MODE 48 | #include 49 | #elif BLAZE_OPENMP_PARALLEL_MODE 50 | #include 51 | #else 52 | #include 53 | #endif 54 | 55 | #endif 56 | -------------------------------------------------------------------------------- /inst/include/blaze/math/smp/SMP.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/math/smp/SMP.h 4 | // \brief Shared memory parallelization (SMP) module documentation 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_MATH_SMP_SMP_H_ 36 | #define _BLAZE_MATH_SMP_SMP_H_ 37 | 38 | 39 | //================================================================================================= 40 | // 41 | // DOXYGEN DOCUMENTATION 42 | // 43 | //================================================================================================= 44 | 45 | //************************************************************************************************* 46 | /*!\defgroup smp Shared memory parallelization module 47 | // \ingroup math 48 | */ 49 | //************************************************************************************************* 50 | 51 | #endif 52 | -------------------------------------------------------------------------------- /inst/include/blaze/math/smp/SparseMatrix.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/math/smp/SparseMatrix.h 4 | // \brief Header file for the sparse matrix SMP implementation 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_MATH_SMP_SPARSEMATRIX_H_ 36 | #define _BLAZE_MATH_SMP_SPARSEMATRIX_H_ 37 | 38 | 39 | //************************************************************************************************* 40 | // Includes 41 | //************************************************************************************************* 42 | 43 | #include 44 | 45 | #endif 46 | -------------------------------------------------------------------------------- /inst/include/blaze/math/smp/SparseVector.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/math/smp/SparseVector.h 4 | // \brief Header file for the sparse vector SMP implementation 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_MATH_SMP_SPARSEVECTOR_H_ 36 | #define _BLAZE_MATH_SMP_SPARSEVECTOR_H_ 37 | 38 | 39 | //************************************************************************************************* 40 | // Includes 41 | //************************************************************************************************* 42 | 43 | #include 44 | 45 | #endif 46 | -------------------------------------------------------------------------------- /inst/include/blaze/math/traits/Traits.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/math/traits/Traits.h 4 | // \brief Mathematical expression traits module documentation 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_MATH_TRAITS_TRAITS_H_ 36 | #define _BLAZE_MATH_TRAITS_TRAITS_H_ 37 | 38 | 39 | //================================================================================================= 40 | // 41 | // DOXYGEN DOCUMENTATION 42 | // 43 | //================================================================================================= 44 | 45 | //************************************************************************************************* 46 | /*!\defgroup math_traits Expression traits 47 | // \ingroup math 48 | */ 49 | //************************************************************************************************* 50 | 51 | #endif 52 | -------------------------------------------------------------------------------- /inst/include/blaze/math/typetraits/TypeTraits.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/math/typetraits/TypeTraits.h 4 | // \brief Mathematical type traits module documentation 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_MATH_TYPETRAITS_TYPETRAITS_H_ 36 | #define _BLAZE_MATH_TYPETRAITS_TYPETRAITS_H_ 37 | 38 | 39 | //================================================================================================= 40 | // 41 | // DOXYGEN DOCUMENTATION 42 | // 43 | //================================================================================================= 44 | 45 | //************************************************************************************************* 46 | /*!\defgroup math_type_traits Type traits 47 | // \ingroup math 48 | */ 49 | //************************************************************************************************* 50 | 51 | #endif 52 | -------------------------------------------------------------------------------- /inst/include/blaze/math/views/Views.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/math/views/Views.h 4 | // \brief Views module documentation 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_MATH_VIEWS_VIEWS_H_ 36 | #define _BLAZE_MATH_VIEWS_VIEWS_H_ 37 | 38 | 39 | //================================================================================================= 40 | // 41 | // DOXYGEN DOCUMENTATION 42 | // 43 | //================================================================================================= 44 | 45 | //************************************************************************************************* 46 | /*!\defgroup views Views 47 | // \ingroup math 48 | */ 49 | //************************************************************************************************* 50 | 51 | #endif 52 | -------------------------------------------------------------------------------- /inst/include/blaze/system/Assertion.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/system/Assertion.h 4 | // \brief Configuration of the run time assertion macros 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_SYSTEM_ASSERTION_H_ 36 | #define _BLAZE_SYSTEM_ASSERTION_H_ 37 | 38 | 39 | //================================================================================================= 40 | // 41 | // ASSERTION SETTINGS 42 | // 43 | //================================================================================================= 44 | 45 | #include 46 | 47 | #endif 48 | -------------------------------------------------------------------------------- /inst/include/blaze/system/BLAS.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/system/BLAS.h 4 | // \brief System settings for the BLAS mode 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_SYSTEM_BLAS_H_ 36 | #define _BLAZE_SYSTEM_BLAS_H_ 37 | 38 | 39 | //================================================================================================= 40 | // 41 | // BLAS MODE CONFIGURATION 42 | // 43 | //================================================================================================= 44 | 45 | #include 46 | 47 | 48 | 49 | 50 | //================================================================================================= 51 | // 52 | // BLAS INCLUDE FILE CONFIGURATION 53 | // 54 | //================================================================================================= 55 | 56 | #if BLAZE_BLAS_MODE 57 | extern "C" { 58 | #include BLAZE_BLAS_INCLUDE_FILE 59 | } 60 | #endif 61 | 62 | #endif 63 | -------------------------------------------------------------------------------- /inst/include/blaze/system/MPI.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/system/MPI.h 4 | // \brief System settings for the MPI parallelization 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_SYSTEM_MPI_H_ 36 | #define _BLAZE_SYSTEM_MPI_H_ 37 | 38 | 39 | //================================================================================================= 40 | // 41 | // MPI MODE CONFIGURATION 42 | // 43 | //================================================================================================= 44 | 45 | #include 46 | 47 | #endif 48 | -------------------------------------------------------------------------------- /inst/include/blaze/system/MacroDisable.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/system/MacroDisable.h 4 | // \brief Deactivation of problematic macros 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_SYSTEM_MACRODISABLE_H_ 36 | #define _BLAZE_SYSTEM_MACRODISABLE_H_ 37 | 38 | 39 | // These macros are defined in several Linux headers (asm/termbits.h, asm-generic/termbits.h 40 | // and bits/termios.h) and not properly undefined. 41 | #undef VT1 42 | #undef VT2 43 | 44 | #endif 45 | -------------------------------------------------------------------------------- /inst/include/blaze/system/System.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/system/System.h 4 | // \brief System module documentation 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_SYSTEM_SYSTEM_H_ 36 | #define _BLAZE_SYSTEM_SYSTEM_H_ 37 | 38 | 39 | //================================================================================================= 40 | // 41 | // DOXYGEN DOCUMENTATION 42 | // 43 | //================================================================================================= 44 | 45 | //************************************************************************************************* 46 | /*!\defgroup system System settings 47 | // 48 | // The system module contains all system settings for the Blaze library. 49 | */ 50 | //************************************************************************************************* 51 | 52 | #endif 53 | -------------------------------------------------------------------------------- /inst/include/blaze/util/Algorithms.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/util/Algorithms.h 4 | // \brief Header file for generic algorithms 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_UTIL_ALGORITHMS_H_ 36 | #define _BLAZE_UTIL_ALGORITHMS_H_ 37 | 38 | 39 | //************************************************************************************************* 40 | // Includes 41 | //************************************************************************************************* 42 | 43 | #include 44 | #include 45 | #include 46 | #include 47 | #include 48 | #include 49 | #include 50 | #include 51 | #include 52 | #include 53 | #include 54 | 55 | #endif 56 | -------------------------------------------------------------------------------- /inst/include/blaze/util/EmptyType.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/util/EmptyType.h 4 | // \brief Header file for the empty type 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_UTIL_EMPTYTYPE_H_ 36 | #define _BLAZE_UTIL_EMPTYTYPE_H_ 37 | 38 | 39 | namespace blaze { 40 | 41 | //************************************************************************************************* 42 | /*!\brief Empty data type for utility purposes. 43 | // \ingroup util 44 | */ 45 | struct EmptyType 46 | {}; 47 | //************************************************************************************************* 48 | 49 | } // namespace blaze 50 | 51 | #endif 52 | -------------------------------------------------------------------------------- /inst/include/blaze/util/Forward.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/util/Forward.h 4 | // \brief Header file for all forward declarations of the utility module 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_UTIL_FORWARD_H_ 36 | #define _BLAZE_UTIL_FORWARD_H_ 37 | 38 | 39 | namespace blaze { 40 | 41 | //================================================================================================= 42 | // 43 | // ::blaze NAMESPACE FORWARD DECLARATIONS 44 | // 45 | //================================================================================================= 46 | 47 | template< typename Type > class AlignedAllocator; 48 | template< typename Type > class NullAllocator; 49 | 50 | } // namespace blaze 51 | 52 | #endif 53 | -------------------------------------------------------------------------------- /inst/include/blaze/util/InvalidType.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/util/InvalidType.h 4 | // \brief Utility type for generic codes 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_UTIL_INVALIDTYPE_H_ 36 | #define _BLAZE_UTIL_INVALIDTYPE_H_ 37 | 38 | 39 | namespace blaze { 40 | 41 | //================================================================================================= 42 | // 43 | // CLASS DEFINITION 44 | // 45 | //================================================================================================= 46 | 47 | //************************************************************************************************* 48 | /*!\brief Utility type for generic codes. 49 | // \ingroup util 50 | // 51 | // The INVALID_TYPE class represents an invalid data type. It is left undefined to terminate 52 | // the compilation process in case of the attempt to instantiate it. 53 | */ 54 | class INVALID_TYPE; 55 | //************************************************************************************************* 56 | 57 | } // namespace blaze 58 | 59 | #endif 60 | -------------------------------------------------------------------------------- /inst/include/blaze/util/MPL.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/util/MPL.h 4 | // \brief Header file for all meta-programming tools 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_UTIL_MPL_H_ 36 | #define _BLAZE_UTIL_MPL_H_ 37 | 38 | 39 | //************************************************************************************************* 40 | // Includes 41 | //************************************************************************************************* 42 | 43 | #include 44 | #include 45 | #include 46 | #include 47 | #include 48 | #include 49 | #include 50 | #include 51 | #include 52 | #include 53 | #include 54 | #include 55 | #include 56 | #include 57 | #include 58 | #include 59 | 60 | #endif 61 | -------------------------------------------------------------------------------- /inst/include/blaze/util/NullType.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/util/NullType.h 4 | // \brief Utility type for generic codes 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_UTIL_NULLTYPE_H_ 36 | #define _BLAZE_UTIL_NULLTYPE_H_ 37 | 38 | 39 | namespace blaze { 40 | 41 | //================================================================================================= 42 | // 43 | // CLASS DEFINITION 44 | // 45 | //================================================================================================= 46 | 47 | //************************************************************************************************* 48 | /*!\brief Utility type for generic codes. 49 | // \ingroup util 50 | // 51 | // The NullType class represents an invalid or terminating data type for generic codes. For 52 | // instance, the TypeList class uses the NullType as terminating data type for the type list. 53 | */ 54 | class NullType 55 | {}; 56 | //************************************************************************************************* 57 | 58 | } // namespace blaze 59 | 60 | #endif 61 | -------------------------------------------------------------------------------- /inst/include/blaze/util/Policies.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/util/Policies.h 4 | // \brief Header file for policy classes. 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_UTIL_POLICIES_H_ 36 | #define _BLAZE_UTIL_POLICIES_H_ 37 | 38 | 39 | //************************************************************************************************* 40 | // Includes 41 | //************************************************************************************************* 42 | 43 | #include 44 | #include 45 | #include 46 | #include 47 | #include 48 | 49 | #endif 50 | -------------------------------------------------------------------------------- /inst/include/blaze/util/Serialization.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/util/Serialization.h 4 | // \brief Header file for all serialization functionality 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_UTIL_SERIALIZATION_H_ 36 | #define _BLAZE_UTIL_SERIALIZATION_H_ 37 | 38 | 39 | //************************************************************************************************* 40 | // Includes 41 | //************************************************************************************************* 42 | 43 | #include 44 | 45 | #endif 46 | -------------------------------------------------------------------------------- /inst/include/blaze/util/Singleton.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/util/Singleton.h 4 | // \brief Header file for the Singleton class 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | // //================================================================================================= 34 | 35 | #ifndef _BLAZE_UTIL_SINGLETON_H_ 36 | #define _BLAZE_UTIL_SINGLETON_H_ 37 | 38 | 39 | //************************************************************************************************* 40 | // Includes 41 | //************************************************************************************************* 42 | 43 | #include 44 | #include 45 | 46 | #endif 47 | -------------------------------------------------------------------------------- /inst/include/blaze/util/Suffix.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/util/Suffix.h 4 | // \brief Header file for compile time constraints 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_UTIL_SUFFIX_H_ 36 | #define _BLAZE_UTIL_SUFFIX_H_ 37 | 38 | 39 | //************************************************************************************************* 40 | /*! \cond BLAZE_INTERNAL */ 41 | /*!\brief Helper macro for macro concatenation. 42 | // \ingroup util 43 | // 44 | // The following code was borrowed from the Boost C++ framework (www.boost.org). This piece of 45 | // macro magic joins the two arguments together, even when one of the arguments is itself a 46 | // macro (see 16.3.1 in C++ standard). The key is that macro expansion of macro arguments does 47 | // not occur in BLAZE_DO_JOIN2 but does in BLAZE_DO_JOIN. 48 | */ 49 | #define BLAZE_JOIN( X, Y ) BLAZE_DO_JOIN( X, Y ) 50 | #define BLAZE_DO_JOIN( X, Y ) BLAZE_DO_JOIN2(X,Y) 51 | #define BLAZE_DO_JOIN2( X, Y ) X##Y 52 | /*! \endcond */ 53 | //************************************************************************************************* 54 | 55 | #endif 56 | -------------------------------------------------------------------------------- /inst/include/blaze/util/Timing.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/util/Timing.h 4 | // \brief Header file for the timing submodule 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_UTIL_TIMING_H_ 36 | #define _BLAZE_UTIL_TIMING_H_ 37 | 38 | 39 | //************************************************************************************************* 40 | // Includes 41 | //************************************************************************************************* 42 | 43 | #include 44 | #include 45 | #include 46 | #include 47 | #include 48 | 49 | #endif 50 | -------------------------------------------------------------------------------- /inst/include/blaze/util/TypeList.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/util/TypeList.h 4 | // \brief Header file for the type list functionality 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_UTIL_TYPELIST_H_ 36 | #define _BLAZE_UTIL_TYPELIST_H_ 37 | 38 | 39 | //************************************************************************************************* 40 | // Includes 41 | //************************************************************************************************* 42 | 43 | #include 44 | #include 45 | #include 46 | #include 47 | #include 48 | #include 49 | #include 50 | #include 51 | #include 52 | #include 53 | 54 | #endif 55 | -------------------------------------------------------------------------------- /inst/include/blaze/util/Util.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/util/Util.h 4 | // \brief Utility module documentation 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_UTIL_UTIL_H_ 36 | #define _BLAZE_UTIL_UTIL_H_ 37 | 38 | 39 | //================================================================================================= 40 | // 41 | // DOXYGEN DOCUMENTATION 42 | // 43 | //================================================================================================= 44 | 45 | //************************************************************************************************* 46 | /*!\defgroup util Utility module */ 47 | //************************************************************************************************* 48 | 49 | #endif 50 | -------------------------------------------------------------------------------- /inst/include/blaze/util/ValueTraits.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/util/ValueTraits.h 4 | // \brief Header file for all value traits 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_UTIL_VALUETRAITS_H_ 36 | #define _BLAZE_UTIL_VALUETRAITS_H_ 37 | 38 | 39 | //************************************************************************************************* 40 | // Includes 41 | //************************************************************************************************* 42 | 43 | #include 44 | #include 45 | #include 46 | #include 47 | 48 | #endif 49 | -------------------------------------------------------------------------------- /inst/include/blaze/util/algorithms/Algorithms.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/util/algorithms/Algorithms.h 4 | // \brief Algorithms module documentation 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_UTIL_ALGORITHMS_ALGORITHMS_H_ 36 | #define _BLAZE_UTIL_ALGORITHMS_ALGORITHMS_H_ 37 | 38 | 39 | //================================================================================================= 40 | // 41 | // DOXYGEN DOCUMENTATION 42 | // 43 | //================================================================================================= 44 | 45 | //************************************************************************************************* 46 | /*!\defgroup algorithms Algorithms 47 | // \ingroup util 48 | */ 49 | //************************************************************************************************* 50 | 51 | #endif 52 | -------------------------------------------------------------------------------- /inst/include/blaze/util/mpl/Bools.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/util/mpl/Bools.h 4 | // \brief Header file for the Bools class template 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_UTIL_MPL_BOOLS_H_ 36 | #define _BLAZE_UTIL_MPL_BOOLS_H_ 37 | 38 | 39 | namespace blaze { 40 | 41 | //================================================================================================= 42 | // 43 | // CLASS DEFINITION 44 | // 45 | //================================================================================================= 46 | 47 | //************************************************************************************************* 48 | /*!\brief Auxiliary tool for unwrapping a pack of variadic boolean values. 49 | // \ingroup mpl 50 | // 51 | // The Bools class template represents an auxiliary tool for unwrapping a pack of variadic 52 | // boolean values. 53 | */ 54 | template< bool... > 55 | struct Bools 56 | {}; 57 | //************************************************************************************************* 58 | 59 | } // namespace blaze 60 | 61 | #endif 62 | -------------------------------------------------------------------------------- /inst/include/blaze/util/mpl/MPL.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/util/mpl/MPL.h 4 | // \brief Meta-Programming Language (MPL) module documentation 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_UTIL_MPL_MPL_H_ 36 | #define _BLAZE_UTIL_MPL_MPL_H_ 37 | 38 | 39 | //================================================================================================= 40 | // 41 | // DOXYGEN DOCUMENTATION 42 | // 43 | //================================================================================================= 44 | 45 | //************************************************************************************************* 46 | /*!\defgroup mpl Meta-Programming Language 47 | // \ingroup util 48 | */ 49 | //************************************************************************************************* 50 | 51 | #endif 52 | -------------------------------------------------------------------------------- /inst/include/blaze/util/serialization/Serialization.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/util/serialization/Serialization.h 4 | // \brief Serialization module documentation 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_UTIL_SERIALIZATION_SERIALIZATION_H_ 36 | #define _BLAZE_UTIL_SERIALIZATION_SERIALIZATION_H_ 37 | 38 | 39 | //================================================================================================= 40 | // 41 | // DOXYGEN DOCUMENTATION 42 | // 43 | //================================================================================================= 44 | 45 | //************************************************************************************************* 46 | /*!\defgroup serialization Serialization 47 | // \ingroup util 48 | */ 49 | //************************************************************************************************* 50 | 51 | #endif 52 | -------------------------------------------------------------------------------- /inst/include/blaze/util/threadpool/ThreadPool.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/util/threadpool/ThreadPool.h 4 | // \brief Threadpool module documentation 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_UTIL_THREADPOOL_THREADPOOL_H_ 36 | #define _BLAZE_UTIL_THREADPOOL_THREADPOOL_H_ 37 | 38 | 39 | namespace blaze { 40 | 41 | //================================================================================================= 42 | // 43 | // DOXYGEN DOCUMENTATION 44 | // 45 | //================================================================================================= 46 | 47 | //************************************************************************************************* 48 | //! Namespace for the threadpool module. 49 | namespace threadpool {} 50 | //************************************************************************************************* 51 | 52 | } // namespace blaze 53 | 54 | #endif 55 | -------------------------------------------------------------------------------- /inst/include/blaze/util/typetraits/TypeTraits.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/util/typetraits/TypeTraits.h 4 | // \brief Type traits module documentation 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_UTIL_TYPETRAITS_TYPETRAITS_H_ 36 | #define _BLAZE_UTIL_TYPETRAITS_TYPETRAITS_H_ 37 | 38 | 39 | //================================================================================================= 40 | // 41 | // DOXYGEN DOCUMENTATION 42 | // 43 | //================================================================================================= 44 | 45 | //************************************************************************************************* 46 | /*!\defgroup type_traits Type traits 47 | // \ingroup util 48 | */ 49 | //************************************************************************************************* 50 | 51 | #endif 52 | -------------------------------------------------------------------------------- /inst/include/blaze/util/valuetraits/ValueTraits.h: -------------------------------------------------------------------------------- 1 | //================================================================================================= 2 | /*! 3 | // \file blaze/util/valuetraits/ValueTraits.h 4 | // \brief Value traits module documentation 5 | // 6 | // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved 7 | // 8 | // This file is part of the Blaze library. You can redistribute it and/or modify it under 9 | // the terms of the New (Revised) BSD License. Redistribution and use in source and binary 10 | // forms, with or without modification, are permitted provided that the following conditions 11 | // are met: 12 | // 13 | // 1. Redistributions of source code must retain the above copyright notice, this list of 14 | // conditions and the following disclaimer. 15 | // 2. Redistributions in binary form must reproduce the above copyright notice, this list 16 | // of conditions and the following disclaimer in the documentation and/or other materials 17 | // provided with the distribution. 18 | // 3. Neither the names of the Blaze development group nor the names of its contributors 19 | // may be used to endorse or promote products derived from this software without specific 20 | // prior written permission. 21 | // 22 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 23 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 | // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 28 | // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 31 | // DAMAGE. 32 | */ 33 | //================================================================================================= 34 | 35 | #ifndef _BLAZE_UTIL_VALUETRAITS_VALUETRAITS_H_ 36 | #define _BLAZE_UTIL_VALUETRAITS_VALUETRAITS_H_ 37 | 38 | 39 | //================================================================================================= 40 | // 41 | // DOXYGEN DOCUMENTATION 42 | // 43 | //================================================================================================= 44 | 45 | //************************************************************************************************* 46 | /*!\defgroup value_traits Value traits 47 | // \ingroup util 48 | */ 49 | //************************************************************************************************* 50 | 51 | #endif 52 | -------------------------------------------------------------------------------- /inst/tinytest/cpp/test-expr.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2017 - 2024 Ching-Chuan Chen 2 | // 3 | // This file is part of RcppBlaze. 4 | // 5 | // This file is part of RcppBlaze. 6 | // 7 | // RcppBlaze is free software: you can redistribute it and/or modify it 8 | // under the terms of the 3-Clause BSD License. You should have received 9 | // a copy of 3-Clause BSD License along with RcppBlaze. 10 | // If not, see https://opensource.org/license/BSD-3-Clause. 11 | 12 | // [[Rcpp::depends(RcppBlaze)]] 13 | #include 14 | using Rcpp::_; 15 | 16 | // [[Rcpp::export]] 17 | Rcpp::List wrap_vec_expr_test() { 18 | blaze::StaticVector dv; 19 | dv = {1.5, -2.5, 4.5}; 20 | 21 | blaze::CompressedVector sv(3UL); 22 | sv[0] = 1.3; 23 | 24 | return Rcpp::List::create( 25 | _["dv plus scalar"] = dv + 2.0, 26 | _["dv minus scalar"] = dv - 2.0, 27 | _["dv multiply scalar"] = dv * 2.0, 28 | _["dv divide scalar"] = dv / 2.0, 29 | // _["sv plus scalar"] = sv + 2.0, // no such operator 30 | // _["sv minus scalar"] = sv - 2.0, // no such operator 31 | _["sv multiply scalar"] = sv * 2.0, 32 | _["sv divide scalar"] = sv / 2.0, 33 | _["dv + dv"] = dv + dv, 34 | _["dv + sv"] = dv + sv, 35 | _["sv + dv"] = sv + dv 36 | // _["sv + sv"] = sv + sv // unable to convert 37 | ); 38 | } 39 | 40 | // [[Rcpp::export]] 41 | Rcpp::List wrap_mat_expr_test() { 42 | blaze::StaticMatrix dm; 43 | dm = { { 1.5, -2.5, 4.5 }, { -5.5, 8.5, -7.3 } }; 44 | 45 | blaze::CompressedMatrix sm(2UL, 3UL); 46 | sm(0, 1) = 1.5; 47 | sm(1, 0) = 2.5; 48 | sm(1, 2) = 3.5; 49 | 50 | return Rcpp::List::create( 51 | _["dm plus scalar"] = dm + 2.0, 52 | _["dm minus scalar"] = dm - 2.0, 53 | _["dm multiply scalar"] = dm * 2.0, 54 | _["dm divide scalar"] = dm / 2.0, 55 | // _["sm plus scalar"] = sv + 2.0, // no such operator 56 | // _["sm minus scalar"] = sv - 2.0, // no such operator 57 | _["sm multiply scalar"] = sm * 2.0, 58 | _["sm divide scalar"] = sm / 2.0, 59 | _["dm + dm"] = dm + dm, 60 | _["dm + sm"] = dm + sm, 61 | _["sm + dm"] = sm + dm 62 | // _["sv + sv"] = sv + sv // unable to convert 63 | ); 64 | } 65 | -------------------------------------------------------------------------------- /inst/tinytest/test_expr.R: -------------------------------------------------------------------------------- 1 | ## Copyright (C) 2017 - 2024 Ching-Chuan Chen 2 | ## 3 | ## This file is part of RcppBlaze. 4 | ## 5 | ## RcppBlaze is free software: you can redistribute it and/or modify it 6 | ## under the terms of the 3-Clause BSD License. You should have received 7 | ## a copy of 3-Clause BSD License along with RcppBlaze. 8 | ## If not, see https://opensource.org/license/BSD-3-Clause. 9 | suppressPackageStartupMessages({ 10 | require(Rcpp) 11 | require(RcppBlaze) 12 | require(Matrix) 13 | require(MatrixExtra) 14 | require(tinytest) 15 | }) 16 | 17 | cppFile <- "test-expr.cpp" 18 | if (file.exists(file.path("cpp", cppFile))) { 19 | sourceCpp(file.path("cpp", cppFile)) 20 | } else { 21 | sourceCpp(system.file("tinytest", "cpp", cppFile, package = "RcppBlaze")) 22 | } 23 | 24 | vec_expr_wrap_res <- wrap_vec_expr_test() 25 | dense_vec <- c(1.5, -2.5, 4.5) 26 | sparse_vec <- new("dgCMatrix", x=c(1.3), i=c(0L), p=c(0L, 1L), Dim=c(3L, 1L)) 27 | dense_vec_added <- dense_vec + as.vector(sparse_vec) 28 | expect_equal(vec_expr_wrap_res[["dv plus scalar"]], dense_vec + 2.0, info = "dv plus scalar") 29 | expect_equal(vec_expr_wrap_res[["dv minus scalar"]], dense_vec - 2.0, info = "dv minus scalar") 30 | expect_equal(vec_expr_wrap_res[["dv multiply scalar"]], dense_vec * 2.0, info = "dv multiply scalar") 31 | expect_equal(vec_expr_wrap_res[["dv divide scalar"]], dense_vec / 2.0, info = "dv divide scalar") 32 | expect_equal(vec_expr_wrap_res[["sv multiply scalar"]], sparse_vec * 2.0, info = "sv multiply scalar") 33 | expect_equal(vec_expr_wrap_res[["sv divide scalar"]], sparse_vec / 2.0, info = "sv divide scalar") 34 | expect_equal(vec_expr_wrap_res[["dv + dv"]], dense_vec + dense_vec, info = "dv + dv") 35 | expect_equal(vec_expr_wrap_res[["dv + sv"]], dense_vec_added, info = "dv + sv") 36 | expect_equal(vec_expr_wrap_res[["sv + dv"]], dense_vec_added, info = "sv + dv") 37 | 38 | mat_expr_wrap_res <- wrap_mat_expr_test() 39 | dense_mat <- matrix(c(1.5, -2.5, 4.5, -5.5, 8.5, -7.3), nrow=2L, byrow=TRUE) 40 | sparse_mat <- as.csr.matrix(Matrix(c(0, 2.5, 1.5, 0, 0, 3.5), 2L, 3L)) 41 | dense_mat_added <- dense_mat + as.vector(sparse_mat) 42 | expect_equal(mat_expr_wrap_res[["dm plus scalar"]], dense_mat + 2.0, info = "dm plus scalar") 43 | expect_equal(mat_expr_wrap_res[["dm minus scalar"]], dense_mat - 2.0, info = "dm minus scalar") 44 | expect_equal(mat_expr_wrap_res[["dm multiply scalar"]], dense_mat * 2.0, info = "dm multiply scalar") 45 | expect_equal(mat_expr_wrap_res[["dm divide scalar"]], dense_mat / 2.0, info = "dm divide scalar") 46 | expect_equal(mat_expr_wrap_res[["sm multiply scalar"]], sparse_mat * 2.0, info = "sm multiply scalar") 47 | expect_equal(mat_expr_wrap_res[["sm divide scalar"]], sparse_mat / 2.0, info = "sm divide scalar") 48 | expect_equal(mat_expr_wrap_res[["dm + dm"]], dense_mat + dense_mat, info = "dm + dm") 49 | expect_equal(mat_expr_wrap_res[["dm + sm"]], dense_mat_added, info = "dm + sm") 50 | expect_equal(mat_expr_wrap_res[["sm + dm"]], dense_mat_added, info = "sm + dm") 51 | -------------------------------------------------------------------------------- /local/listBlazeExpr.R: -------------------------------------------------------------------------------- 1 | ## Copyright (C) 2017 - 2024 Ching-Chuan Chen 2 | ## 3 | ## This file is used to generate needed wrappers for Blaze Expressions 4 | ## 5 | ## RcppBlaze is free software: you can redistribute it and/or modify it 6 | ## under the terms of the 3-Clause BSD License. You should have received 7 | ## a copy of 3-Clause BSD License along with RcppBlaze. 8 | ## If not, see https://opensource.org/license/BSD-3-Clause. 9 | 10 | library(stringr) 11 | 12 | blazeExprHeaderFiles <- list.files( 13 | "inst/include/blaze/math/expressions", 14 | "^T?[SD](Vec|Mat)([SD](Vec|Mat)|Scalar|Map)\\w*Expr.h", 15 | full.names = TRUE 16 | ) 17 | blazeExprHeaderFiles <- blazeExprHeaderFiles[!str_detect(blazeExprHeaderFiles, "(Inner|Equal)Expr.h$")] 18 | 19 | processedExprDefList <- lapply(blazeExprHeaderFiles, function(f){ 20 | templateClassDefs <- str_extract_all( 21 | paste(readLines(f), collapse = "\n"), 22 | "template<\\s*[/\\s\\w-\n,]+>[/\\s\\w-\n]+class\\s*T?[SD](Vec|Mat)([SD](Vec|Mat)|Scalar|Map)\\w*Expr" 23 | )[[1]] 24 | output <- sapply(templateClassDefs, function(x) sapply(str_split(x, "\n"), function(y) { 25 | replaceCommentsStartingSpaces <- str_replace(str_replace(y, "^\\s+", ""), "\\s+//[/\\s\\w-]+$", "") 26 | replaceQuotes <- str_replace(str_replace(replaceCommentsStartingSpaces, "<\\s+", " <"), "\\s+>", "> ") 27 | str_replace(paste(replaceQuotes, collapse=""), "class\\s+", "class blaze::") 28 | }), USE.NAMES = FALSE) 29 | return(output[str_detect(output, str_extract(f, "/([^./]+).h$", 1))]) 30 | }) 31 | 32 | if (any(sapply(processedExprDefList, length) == 0L)) { 33 | cat("Files not getting blaze Expression definition:\n\t") 34 | cat(paste(blazeExprHeaderFiles[sapply(processedExprDefList, length) == 0L], collapse="\n\t"), "\n") 35 | stop("There are files are not getting blaze Expressions") 36 | } 37 | 38 | outputList <- lapply(unlist(processedExprDefList), function(x) { 39 | replaceWrapFunc <- str_replace(x, "class", "SEXP wrap(const") 40 | templatePars <- str_replace(str_extract_all(replaceWrapFunc, "\\w+[,>]")[[1]], "[,>]", "") 41 | 42 | list( 43 | forwradDef = sprintf("%s<%s>&);", replaceWrapFunc, paste(templatePars, collapse = ", ")), 44 | wrapFunc = sprintf("%s<%s>& x) {\n return RcppBlaze::blaze_wrap(x);\n};\n", replaceWrapFunc, paste(templatePars, collapse = ", ")) 45 | ) 46 | }) 47 | 48 | writeLines(paste(sapply(outputList, `[[`, 1), collapse = "\n"), "local/RcppBlazeForwardExprPart.h") 49 | writeLines(paste(sapply(outputList, `[[`, 2), collapse = "\n"), "local/RcppBlazeWrapExprPart.h") 50 | -------------------------------------------------------------------------------- /man/blaze_seed.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/RcppExports.R 3 | \name{blaze_set_seed} 4 | \alias{blaze_set_seed} 5 | \alias{blaze_get_seed} 6 | \title{Set/Get the random number generator for blaze with given seed} 7 | \usage{ 8 | blaze_set_seed(seed) 9 | 10 | blaze_get_seed() 11 | } 12 | \arguments{ 13 | \item{seed}{A positive integer to specify the seed value for the random number generator.} 14 | } 15 | \value{ 16 | No return value. 17 | } 18 | \description{ 19 | Set/Get the random number generator for blaze with given seed 20 | } 21 | -------------------------------------------------------------------------------- /man/blaze_threads.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/RcppExports.R 3 | \name{blaze_set_num_threads} 4 | \alias{blaze_set_num_threads} 5 | \alias{blaze_get_num_threads} 6 | \title{Set/Get the Number of Threads used in blaze} 7 | \usage{ 8 | blaze_set_num_threads(n) 9 | 10 | blaze_get_num_threads() 11 | } 12 | \arguments{ 13 | \item{n}{The number of threads to set in blaze.} 14 | } 15 | \value{ 16 | \code{blaze_get_threads} returns an integer and \code{blaze_set_threads} returns nothing. 17 | } 18 | \description{ 19 | Set/Get the Number of Threads used in blaze 20 | } 21 | \seealso{ 22 | blaze wiki: \url{https://bitbucket.org/blaze-lib/blaze/wiki/Shared\%20Memory\%20Parallelization}. 23 | } 24 | -------------------------------------------------------------------------------- /man/blaze_version.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/RcppExports.R 3 | \name{blaze_version} 4 | \alias{blaze_version} 5 | \title{The version of Blaze used in RcppBlaze} 6 | \usage{ 7 | blaze_version(single) 8 | } 9 | \arguments{ 10 | \item{single}{A logical value indicates which type to return. If TRUE, it returns an integer. If FALSE, it returns a named vector.} 11 | } 12 | \value{ 13 | A number or a named vector to represent the version of \code{blaze} depending on the input, \code{single}. 14 | } 15 | \description{ 16 | To return the version of Blaze used in RcppBlaze. 17 | } 18 | \examples{ 19 | blaze_version(FALSE) 20 | } 21 | \seealso{ 22 | Blaze header file \code{blaze/system/Version.h}. 23 | } 24 | -------------------------------------------------------------------------------- /man/fastLmPure.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/RcppExports.R 3 | \name{fastLmPure} 4 | \alias{fastLmPure} 5 | \title{linear model fitting function based on RcppBlaze} 6 | \usage{ 7 | fastLmPure(X, y, type) 8 | } 9 | \arguments{ 10 | \item{X}{A model matrix.} 11 | 12 | \item{y}{A response vector.} 13 | 14 | \item{type}{A integer. 0 is QR solver, 1 is LDLT solver, 2 is LLT sovler and 3 is LU solver.} 15 | } 16 | \value{ 17 | A list containing coefficients, standard errors, rank of model matrix, 18 | degree of freedom of residuals, residuals, the standard deviation of random errors and 19 | fitted values. 20 | } 21 | \description{ 22 | \code{fastLmPure} provides the estimates of the linear model based on \strong{RcppBlaze}. 23 | } 24 | \details{ 25 | \code{fastLm} estimates the linear model using the \code{solve}. 26 | } 27 | \examples{ 28 | # according to fastLm example in RcppArmadillo 29 | data(trees, package="datasets") 30 | flm <- fastLmPure(cbind(1, log(trees$Girth)), log(trees$Volume), 0) 31 | print(flm) 32 | } 33 | -------------------------------------------------------------------------------- /src/Makevars: -------------------------------------------------------------------------------- 1 | PKG_CXXFLAGS=-I../inst/include $(SHLIB_OPENMP_CXXFLAGS) 2 | PKG_LIBS=$(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS) $(SHLIB_OPENMP_CXXFLAGS) 3 | -------------------------------------------------------------------------------- /src/RcppBlaze.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2017 - 2024 Ching-Chuan Chen 2 | // 3 | // This file is part of RcppBlaze. 4 | // 5 | // RcppBlaze is free software: you can redistribute it and/or modify it 6 | // under the terms of the 3-Clause BSD License. You should have received 7 | // a copy of 3-Clause BSD License along with RcppBlaze. 8 | // If not, see https://opensource.org/license/BSD-3-Clause. 9 | 10 | #include 11 | #include 12 | 13 | //' The version of Blaze used in RcppBlaze 14 | //' 15 | //' To return the version of Blaze used in RcppBlaze. 16 | //' 17 | //' @param single A logical value indicates which type to return. If TRUE, it returns an integer. If FALSE, it returns a named vector. 18 | //' @return A number or a named vector to represent the version of \code{blaze} depending on the input, \code{single}. 19 | //' @seealso Blaze header file \code{blaze/system/Version.h}. 20 | //' @examples 21 | //' blaze_version(FALSE) 22 | //' @export 23 | // [[Rcpp::export]] 24 | Rcpp::IntegerVector blaze_version(bool single) { 25 | if (single) { 26 | return Rcpp::wrap(10 * BLAZE_MAJOR_VERSION + BLAZE_MINOR_VERSION); 27 | } 28 | 29 | return Rcpp::IntegerVector::create( 30 | Rcpp::_["major"] = BLAZE_MAJOR_VERSION, 31 | Rcpp::_["minor"] = BLAZE_MINOR_VERSION 32 | ); 33 | } 34 | 35 | //' Set/Get the random number generator for blaze with given seed 36 | //' 37 | //' @param seed A positive integer to specify the seed value for the random number generator. 38 | //' @return No return value. 39 | //' @rdname blaze_seed 40 | //' @export 41 | // [[Rcpp::export]] 42 | void blaze_set_seed(uint32_t seed) { 43 | blaze::setSeed(seed); 44 | } 45 | 46 | //' @rdname blaze_seed 47 | //' @export 48 | // [[Rcpp::export]] 49 | uint32_t blaze_get_seed() { 50 | return blaze::getSeed(); 51 | } 52 | 53 | //' Set/Get the Number of Threads used in blaze 54 | //' 55 | //' @param n The number of threads to set in blaze. 56 | //' @return \code{blaze_get_threads} returns an integer and \code{blaze_set_threads} returns nothing. 57 | //' @seealso blaze wiki: \url{https://bitbucket.org/blaze-lib/blaze/wiki/Shared\%20Memory\%20Parallelization}. 58 | //' @rdname blaze_threads 59 | //' @export 60 | // [[Rcpp::export]] 61 | void blaze_set_num_threads(size_t n) { 62 | #if BLAZE_HPX_PARALLEL_MODE || BLAZE_OPENMP_PARALLEL_MODE || BLAZE_CPP_THREADS_PARALLEL_MODE || BLAZE_BOOST_THREADS_PARALLEL_MODE 63 | blaze::setNumThreads(n); 64 | #else 65 | (void) n; 66 | #endif 67 | } 68 | 69 | //' @rdname blaze_threads 70 | //' @export 71 | // [[Rcpp::export]] 72 | size_t blaze_get_num_threads() { 73 | #if BLAZE_HPX_PARALLEL_MODE || BLAZE_OPENMP_PARALLEL_MODE || BLAZE_CPP_THREADS_PARALLEL_MODE || BLAZE_BOOST_THREADS_PARALLEL_MODE 74 | return blaze::getNumThreads(); 75 | #else 76 | return 1; 77 | #endif 78 | } 79 | -------------------------------------------------------------------------------- /src/RcppExports.cpp: -------------------------------------------------------------------------------- 1 | // Generated by using Rcpp::compileAttributes() -> do not edit by hand 2 | // Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393 3 | 4 | #include "../inst/include/RcppBlaze.h" 5 | #include 6 | 7 | using namespace Rcpp; 8 | 9 | #ifdef RCPP_USE_GLOBAL_ROSTREAM 10 | Rcpp::Rostream& Rcpp::Rcout = Rcpp::Rcpp_cout_get(); 11 | Rcpp::Rostream& Rcpp::Rcerr = Rcpp::Rcpp_cerr_get(); 12 | #endif 13 | 14 | // blaze_version 15 | Rcpp::IntegerVector blaze_version(bool single); 16 | RcppExport SEXP _RcppBlaze_blaze_version(SEXP singleSEXP) { 17 | BEGIN_RCPP 18 | Rcpp::RObject rcpp_result_gen; 19 | Rcpp::RNGScope rcpp_rngScope_gen; 20 | Rcpp::traits::input_parameter< bool >::type single(singleSEXP); 21 | rcpp_result_gen = Rcpp::wrap(blaze_version(single)); 22 | return rcpp_result_gen; 23 | END_RCPP 24 | } 25 | // blaze_set_seed 26 | void blaze_set_seed(uint32_t seed); 27 | RcppExport SEXP _RcppBlaze_blaze_set_seed(SEXP seedSEXP) { 28 | BEGIN_RCPP 29 | Rcpp::RNGScope rcpp_rngScope_gen; 30 | Rcpp::traits::input_parameter< uint32_t >::type seed(seedSEXP); 31 | blaze_set_seed(seed); 32 | return R_NilValue; 33 | END_RCPP 34 | } 35 | // blaze_get_seed 36 | uint32_t blaze_get_seed(); 37 | RcppExport SEXP _RcppBlaze_blaze_get_seed() { 38 | BEGIN_RCPP 39 | Rcpp::RObject rcpp_result_gen; 40 | Rcpp::RNGScope rcpp_rngScope_gen; 41 | rcpp_result_gen = Rcpp::wrap(blaze_get_seed()); 42 | return rcpp_result_gen; 43 | END_RCPP 44 | } 45 | // blaze_set_num_threads 46 | void blaze_set_num_threads(size_t n); 47 | RcppExport SEXP _RcppBlaze_blaze_set_num_threads(SEXP nSEXP) { 48 | BEGIN_RCPP 49 | Rcpp::RNGScope rcpp_rngScope_gen; 50 | Rcpp::traits::input_parameter< size_t >::type n(nSEXP); 51 | blaze_set_num_threads(n); 52 | return R_NilValue; 53 | END_RCPP 54 | } 55 | // blaze_get_num_threads 56 | size_t blaze_get_num_threads(); 57 | RcppExport SEXP _RcppBlaze_blaze_get_num_threads() { 58 | BEGIN_RCPP 59 | Rcpp::RObject rcpp_result_gen; 60 | Rcpp::RNGScope rcpp_rngScope_gen; 61 | rcpp_result_gen = Rcpp::wrap(blaze_get_num_threads()); 62 | return rcpp_result_gen; 63 | END_RCPP 64 | } 65 | // fastLmPure 66 | Rcpp::List fastLmPure(Rcpp::NumericMatrix X, Rcpp::NumericVector y, int type); 67 | RcppExport SEXP _RcppBlaze_fastLmPure(SEXP XSEXP, SEXP ySEXP, SEXP typeSEXP) { 68 | BEGIN_RCPP 69 | Rcpp::RObject rcpp_result_gen; 70 | Rcpp::RNGScope rcpp_rngScope_gen; 71 | Rcpp::traits::input_parameter< Rcpp::NumericMatrix >::type X(XSEXP); 72 | Rcpp::traits::input_parameter< Rcpp::NumericVector >::type y(ySEXP); 73 | Rcpp::traits::input_parameter< int >::type type(typeSEXP); 74 | rcpp_result_gen = Rcpp::wrap(fastLmPure(X, y, type)); 75 | return rcpp_result_gen; 76 | END_RCPP 77 | } 78 | -------------------------------------------------------------------------------- /src/registerDynamicSymbols.c: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2017 - 2024 Ching-Chuan Chen 2 | // 3 | // This file is part of RcppBlaze. 4 | // 5 | // RcppBlaze is free software: you can redistribute it and/or modify it 6 | // under the terms of the 3-Clause BSD License. You should have received 7 | // a copy of 3-Clause BSD License along with RcppBlaze. 8 | // If not, see https://opensource.org/license/BSD-3-Clause. 9 | 10 | #include 11 | #include 12 | #include 13 | 14 | /* .Call calls */ 15 | extern SEXP _RcppBlaze_blaze_version(SEXP); 16 | extern SEXP _RcppBlaze_blaze_set_seed(SEXP); 17 | extern SEXP _RcppBlaze_blaze_get_seed(void); 18 | extern SEXP _RcppBlaze_blaze_set_num_threads(SEXP); 19 | extern SEXP _RcppBlaze_blaze_get_num_threads(void); 20 | extern SEXP _RcppBlaze_fastLmPure(SEXP, SEXP, SEXP); 21 | 22 | static const R_CallMethodDef CallEntries[] = { 23 | {"_RcppBlaze_blaze_version", (DL_FUNC) &_RcppBlaze_blaze_version, 1}, 24 | {"_RcppBlaze_blaze_set_seed", (DL_FUNC) &_RcppBlaze_blaze_set_seed, 1}, 25 | {"_RcppBlaze_blaze_get_seed", (DL_FUNC) &_RcppBlaze_blaze_get_seed, 0}, 26 | {"_RcppBlaze_blaze_set_num_threads", (DL_FUNC) &_RcppBlaze_blaze_set_num_threads, 1}, 27 | {"_RcppBlaze_blaze_get_num_threads", (DL_FUNC) &_RcppBlaze_blaze_get_num_threads, 0}, 28 | {"_RcppBlaze_fastLmPure", (DL_FUNC) &_RcppBlaze_fastLmPure, 3}, 29 | {NULL, NULL, 0} 30 | }; 31 | 32 | void R_init_RcppBlaze(DllInfo* dll) { 33 | R_registerRoutines(dll, NULL, CallEntries, NULL, NULL); 34 | R_useDynamicSymbols(dll, FALSE); 35 | } 36 | -------------------------------------------------------------------------------- /tests/tinytest.R: -------------------------------------------------------------------------------- 1 | 2 | if (requireNamespace("tinytest", quietly=TRUE)) { 3 | tinytest::test_package("RcppBlaze") 4 | } 5 | --------------------------------------------------------------------------------