添加eigen库,增加c++头文件

master
a7458969 2020-02-10 21:46:47 +08:00
parent 5c8fb696fb
commit 5be294e7fc
345 changed files with 2756 additions and 17 deletions

1
.gitignore vendored
View File

@ -1 +1,2 @@
.idea/
obj/

View File

@ -14,20 +14,308 @@
<list default="true" id="0facce0d-c642-4d80-b2fb-daf5f3e68dff" name="Default Changelist" comment="">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/CMakeLists.txt" beforeDir="false" afterPath="$PROJECT_DIR$/CMakeLists.txt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/General.dir/CXX.includecache" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/General.dir/CXX.includecache" afterDir="false" />
<change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/General.dir/DependInfo.cmake" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/General.dir/DependInfo.cmake" afterDir="false" />
<change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/General.dir/build.make" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/General.dir/build.make" afterDir="false" />
<change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/General.dir/cmake_clean.cmake" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/General.dir/cmake_clean.cmake" afterDir="false" />
<change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/General.dir/depend.internal" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/General.dir/depend.internal" afterDir="false" />
<change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/General.dir/depend.make" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/General.dir/depend.make" afterDir="false" />
<change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/General.dir/includes_CXX.rsp" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/General.dir/includes_CXX.rsp" afterDir="false" />
<change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/General.dir/link.txt" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/General.dir/link.txt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/cmake-build-debug/General.cbp" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/General.cbp" afterDir="false" />
<change beforePath="$PROJECT_DIR$/cmake-build-debug/Makefile" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/Makefile" afterDir="false" />
<change beforePath="$PROJECT_DIR$/obj/inc/rsa.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/obj/inc/rsa.cpp" afterDir="false" />
<change beforePath="$PROJECT_DIR$/obj/inc/rsa.h" beforeDir="false" afterPath="$PROJECT_DIR$/obj/inc/rsa.h" afterDir="false" />
<change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/Progress/6" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/Progress/count.txt" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/clion-log.txt" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/clion-log.txt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/obj/inc/signleton.h" beforeDir="false" afterPath="$PROJECT_DIR$/obj/inc/signleton.h" afterDir="false" />
<change beforePath="$PROJECT_DIR$/obj/libGeneral.a" beforeDir="false" afterPath="$PROJECT_DIR$/obj/libGeneral.a" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Cholesky/LDLT.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Cholesky/LLT.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Cholesky/LLT_LAPACKE.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/CholmodSupport/CholmodSupport.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/ArithmeticSequence.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/Array.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/ArrayBase.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/ArrayWrapper.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/Assign.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/AssignEvaluator.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/Assign_MKL.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/BandMatrix.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/Block.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/BooleanRedux.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/CommaInitializer.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/ConditionEstimator.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/CoreEvaluators.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/CoreIterators.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/CwiseBinaryOp.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/CwiseNullaryOp.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/CwiseTernaryOp.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/CwiseUnaryOp.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/CwiseUnaryView.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/DenseBase.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/DenseCoeffsBase.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/DenseStorage.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/Diagonal.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/DiagonalMatrix.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/DiagonalProduct.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/Dot.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/EigenBase.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/ForceAlignedAccess.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/Fuzzy.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/GeneralProduct.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/GenericPacketMath.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/GlobalFunctions.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/IO.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/IndexedView.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/Inverse.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/Map.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/MapBase.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/MathFunctions.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/MathFunctionsImpl.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/Matrix.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/MatrixBase.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/NestByValue.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/NoAlias.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/NumTraits.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/PartialReduxEvaluator.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/PermutationMatrix.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/PlainObjectBase.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/Product.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/ProductEvaluators.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/Random.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/Redux.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/Ref.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/Replicate.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/Reshaped.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/ReturnByValue.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/Reverse.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/Select.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/SelfAdjointView.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/SelfCwiseBinaryOp.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/Solve.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/SolveTriangular.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/SolverBase.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/StableNorm.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/StlIterators.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/Stride.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/Swap.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/Transpose.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/Transpositions.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/TriangularMatrix.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/VectorBlock.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/VectorwiseOp.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/Visitor.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/arch/AVX/Complex.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/arch/AVX/MathFunctions.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/arch/AVX/PacketMath.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/arch/AVX/TypeCasting.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/arch/AVX512/Complex.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/arch/AVX512/MathFunctions.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/arch/AVX512/PacketMath.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/arch/AltiVec/Complex.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/arch/AltiVec/MathFunctions.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/arch/AltiVec/PacketMath.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/arch/CUDA/Complex.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/arch/Default/ConjHelper.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/arch/Default/GenericPacketMathFunctions.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/arch/Default/Settings.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/arch/GPU/Half.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/arch/GPU/MathFunctions.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/arch/GPU/PacketMath.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/arch/GPU/PacketMathHalf.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/arch/GPU/TypeCasting.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/arch/HIP/hcc/math_constants.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/arch/MSA/Complex.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/arch/MSA/MathFunctions.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/arch/MSA/PacketMath.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/arch/NEON/Complex.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/arch/NEON/MathFunctions.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/arch/NEON/PacketMath.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/arch/NEON/TypeCasting.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/arch/SSE/Complex.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/arch/SSE/MathFunctions.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/arch/SSE/PacketMath.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/arch/SSE/TypeCasting.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/arch/SYCL/InteropHeaders.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/arch/SYCL/MathFunctions.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/arch/SYCL/PacketMath.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/arch/SYCL/SyclMemoryModel.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/arch/SYCL/TypeCasting.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/arch/ZVector/Complex.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/arch/ZVector/MathFunctions.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/arch/ZVector/PacketMath.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/functors/AssignmentFunctors.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/functors/BinaryFunctors.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/functors/NullaryFunctors.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/functors/StlFunctors.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/functors/TernaryFunctors.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/functors/UnaryFunctors.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/products/GeneralBlockPanelKernel.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/products/GeneralMatrixMatrix.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/products/GeneralMatrixMatrixTriangular.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/products/GeneralMatrixMatrixTriangular_BLAS.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/products/GeneralMatrixMatrix_BLAS.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/products/GeneralMatrixVector.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/products/GeneralMatrixVector_BLAS.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/products/Parallelizer.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/products/SelfadjointMatrixMatrix.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/products/SelfadjointMatrixMatrix_BLAS.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/products/SelfadjointMatrixVector.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/products/SelfadjointMatrixVector_BLAS.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/products/SelfadjointProduct.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/products/SelfadjointRank2Update.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/products/TriangularMatrixMatrix.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/products/TriangularMatrixMatrix_BLAS.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/products/TriangularMatrixVector.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/products/TriangularMatrixVector_BLAS.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/products/TriangularSolverMatrix.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/products/TriangularSolverMatrix_BLAS.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/products/TriangularSolverVector.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/util/BlasUtil.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/util/ConfigureVectorization.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/util/Constants.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/util/DisableStupidWarnings.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/util/ForwardDeclarations.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/util/IndexedViewHelper.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/util/IntegralConstant.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/util/MKL_support.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/util/Macros.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/util/Memory.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/util/Meta.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/util/NonMPL2.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/util/ReenableStupidWarnings.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/util/ReshapedHelper.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/util/StaticAssert.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/util/SymbolicIndex.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Core/util/XprHelper.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Eigenvalues/ComplexEigenSolver.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Eigenvalues/ComplexSchur.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Eigenvalues/ComplexSchur_LAPACKE.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Eigenvalues/EigenSolver.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Eigenvalues/GeneralizedEigenSolver.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Eigenvalues/HessenbergDecomposition.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Eigenvalues/MatrixBaseEigenvalues.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Eigenvalues/RealQZ.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Eigenvalues/RealSchur.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Eigenvalues/RealSchur_LAPACKE.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Eigenvalues/SelfAdjointEigenSolver.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Eigenvalues/Tridiagonalization.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Geometry/AlignedBox.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Geometry/AngleAxis.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Geometry/EulerAngles.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Geometry/Homogeneous.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Geometry/Hyperplane.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Geometry/OrthoMethods.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Geometry/ParametrizedLine.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Geometry/Quaternion.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Geometry/Rotation2D.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Geometry/RotationBase.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Geometry/Scaling.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Geometry/Transform.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Geometry/Translation.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Geometry/Umeyama.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Geometry/arch/Geometry_SSE.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Householder/BlockHouseholder.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Householder/Householder.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Householder/HouseholderSequence.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/IterativeLinearSolvers/BasicPreconditioners.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/IterativeLinearSolvers/BiCGSTAB.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/IterativeLinearSolvers/ConjugateGradient.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/IterativeLinearSolvers/IncompleteCholesky.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/IterativeLinearSolvers/IncompleteLUT.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/IterativeLinearSolvers/IterativeSolverBase.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/IterativeLinearSolvers/LeastSquareConjugateGradient.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/IterativeLinearSolvers/SolveWithGuess.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/Jacobi/Jacobi.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/KLUSupport/KLUSupport.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/LU/Determinant.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/LU/FullPivLU.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/LU/InverseImpl.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/LU/PartialPivLU.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/LU/PartialPivLU_LAPACKE.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/LU/arch/Inverse_SSE.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/MetisSupport/MetisSupport.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/OrderingMethods/Amd.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/OrderingMethods/Eigen_Colamd.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/OrderingMethods/Ordering.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/PaStiXSupport/PaStiXSupport.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/PardisoSupport/PardisoSupport.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/QR/ColPivHouseholderQR.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/QR/ColPivHouseholderQR_LAPACKE.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/QR/CompleteOrthogonalDecomposition.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/QR/FullPivHouseholderQR.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/QR/HouseholderQR.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/QR/HouseholderQR_LAPACKE.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SPQRSupport/SuiteSparseQRSupport.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SVD/BDCSVD.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SVD/JacobiSVD.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SVD/JacobiSVD_LAPACKE.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SVD/SVDBase.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SVD/UpperBidiagonalization.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseCholesky/SimplicialCholesky.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseCholesky/SimplicialCholesky_impl.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseCore/AmbiVector.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseCore/CompressedStorage.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseCore/ConservativeSparseSparseProduct.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseCore/MappedSparseMatrix.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseCore/SparseAssign.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseCore/SparseBlock.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseCore/SparseColEtree.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseCore/SparseCompressedBase.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseCore/SparseCwiseBinaryOp.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseCore/SparseCwiseUnaryOp.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseCore/SparseDenseProduct.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseCore/SparseDiagonalProduct.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseCore/SparseDot.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseCore/SparseFuzzy.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseCore/SparseMap.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseCore/SparseMatrix.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseCore/SparseMatrixBase.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseCore/SparsePermutation.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseCore/SparseProduct.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseCore/SparseRedux.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseCore/SparseRef.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseCore/SparseSelfAdjointView.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseCore/SparseSolverBase.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseCore/SparseSparseProductWithPruning.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseCore/SparseTranspose.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseCore/SparseTriangularView.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseCore/SparseUtil.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseCore/SparseVector.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseCore/SparseView.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseCore/TriangularSolver.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseLU/SparseLU.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseLU/SparseLUImpl.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseLU/SparseLU_Memory.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseLU/SparseLU_Structs.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseLU/SparseLU_SupernodalMatrix.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseLU/SparseLU_Utils.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseLU/SparseLU_column_bmod.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseLU/SparseLU_column_dfs.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseLU/SparseLU_copy_to_ucol.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseLU/SparseLU_gemm_kernel.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseLU/SparseLU_heap_relax_snode.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseLU/SparseLU_kernel_bmod.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseLU/SparseLU_panel_bmod.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseLU/SparseLU_panel_dfs.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseLU/SparseLU_pivotL.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseLU/SparseLU_pruneL.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseLU/SparseLU_relax_snode.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SparseQR/SparseQR.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/StlSupport/StdDeque.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/StlSupport/StdList.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/StlSupport/StdVector.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/StlSupport/details.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/SuperLUSupport/SuperLUSupport.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/UmfPackSupport/UmfPackSupport.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/misc/Image.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/misc/Kernel.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/misc/RealSvd2x2.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/misc/blas.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/misc/lapack.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/misc/lapacke.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/misc/lapacke_mangling.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/plugins/ArrayCwiseBinaryOps.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/plugins/ArrayCwiseUnaryOps.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/plugins/BlockMethods.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/plugins/CommonCwiseBinaryOps.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/plugins/CommonCwiseUnaryOps.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/plugins/IndexedViewMethods.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/plugins/MatrixCwiseBinaryOps.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/plugins/MatrixCwiseUnaryOps.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/math/eigen/plugins/ReshapedMethods.h" beforeDir="false" />
</list>
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<option name="SHOW_DIALOG" value="false" />
@ -110,6 +398,7 @@
<workItem from="1580474352803" duration="77000" />
<workItem from="1580647916171" duration="1188000" />
<workItem from="1580657914602" duration="599000" />
<workItem from="1581305036574" duration="7128000" />
</task>
<servers />
</component>

View File

@ -21,11 +21,21 @@ message(status ${INCLUDES})
file(GLOB PatternINCLUDES ${PROJECT_SOURCE_DIR}/src/pattern/*.h)
file(COPY ${PatternINCLUDES} DESTINATION ${LIBRARY_OUTPUT_PATH}/inc
FILE_PERMISSIONS OWNER_READ OWNER_WRITE GROUP_WRITE GROUP_READ WORLD_READ)
message( "copy pattern library" ${PatternINCLUDES})
file(GLOB EncryptINCLUDES ${PROJECT_SOURCE_DIR}/src/encrypt/*.h)
file(COPY ${EncryptINCLUDES} DESTINATION ${LIBRARY_OUTPUT_PATH}/inc
FILE_PERMISSIONS OWNER_READ OWNER_WRITE GROUP_WRITE GROUP_READ WORLD_READ)
file(GLOB MathINCLUDES ${PROJECT_SOURCE_DIR}/src/math/*.hpp)
file(COPY ${MathINCLUDES} DESTINATION ${LIBRARY_OUTPUT_PATH}/inc
message( "copy math library" ${MathINCLUDES})
file(COPY ${MathINCLUDES} DESTINATION ${LIBRARY_OUTPUT_PATH}/inc/
FILE_PERMISSIONS OWNER_READ OWNER_WRITE GROUP_WRITE GROUP_READ WORLD_READ)
file(GLOB EIGENLIBS ${PROJECT_SOURCE_DIR}/src/math/eigin/*)
message( "copy eigen library" ${EIGENLIBS})
add_custom_command(
TARGET General PRE_BUILD
COMMAND cp -r
${CMAKE_CURRENT_SOURCE_DIR}/src/math/Eigen
${CMAKE_CURRENT_SOURCE_DIR}/obj/inc/
)

View File

@ -0,0 +1,122 @@
#IncludeRegexLine: ^[ ]*[#%][ ]*(include|import)[ ]*[<"]([^">]+)([">])
#IncludeRegexScan: ^.*$
#IncludeRegexComplain: ^$
#IncludeRegexTransform:
../inc/debug.h
stdio.h
-
string.h
-
string
-
iostream
-
../inc/loger.h
stdio.h
-
string
-
time.h
-
fstream
-
iostream
-
../inc/utils.h
utils.h
../inc/utils.h
string
-
debug.h
../inc/debug.h
sys/types.h
-
unistd.h
-
../src/math/BigInt.hpp
iostream
-
tuple
-
string
-
climits
-
cmath
-
string
-
D:/project/c++/generallib/src/debug.cpp
debug.h
D:/project/c++/generallib/src/debug.h
D:/project/c++/generallib/src/encrypt/aes.cpp
aes.h
D:/project/c++/generallib/src/encrypt/aes.h
cstring
-
exception
-
iostream
-
D:/project/c++/generallib/src/encrypt/aes.h
exception
-
cstring
-
string
-
D:/project/c++/generallib/src/encrypt/base64.cpp
base64.h
D:/project/c++/generallib/src/encrypt/base64.h
base64.h
D:/project/c++/generallib/src/encrypt/base64.h
iostream
-
ctype.h
-
D:/project/c++/generallib/src/encrypt/base64.h
string
-
D:/project/c++/generallib/src/encrypt/rsa.cpp
rsa.h
D:/project/c++/generallib/src/encrypt/rsa.h
iostream
-
stdlib.h
-
time.h
-
math.h
-
D:/project/c++/generallib/src/encrypt/rsa.h
memory.h
-
stdint.h
-
string
-
src/math/BigInt.hpp
D:/project/c++/generallib/src/encrypt/src/math/BigInt.hpp
D:/project/c++/generallib/src/loger.cpp
loger.h
D:/project/c++/generallib/src/loger.h
D:/project/c++/generallib/src/utils.cpp
utils.h
D:/project/c++/generallib/src/utils.h

View File

@ -0,0 +1,29 @@
# The set of languages for which implicit dependencies are needed:
set(CMAKE_DEPENDS_LANGUAGES
"CXX"
)
# The set of files for implicit dependencies of each language:
set(CMAKE_DEPENDS_CHECK_CXX
"D:/project/c++/generallib/src/debug.cpp" "D:/project/c++/generallib/cmake-build-debug/CMakeFiles/General.dir/src/debug.cpp.obj"
"D:/project/c++/generallib/src/encrypt/aes.cpp" "D:/project/c++/generallib/cmake-build-debug/CMakeFiles/General.dir/src/encrypt/aes.cpp.obj"
"D:/project/c++/generallib/src/encrypt/base64.cpp" "D:/project/c++/generallib/cmake-build-debug/CMakeFiles/General.dir/src/encrypt/base64.cpp.obj"
"D:/project/c++/generallib/src/encrypt/rsa.cpp" "D:/project/c++/generallib/cmake-build-debug/CMakeFiles/General.dir/src/encrypt/rsa.cpp.obj"
"D:/project/c++/generallib/src/loger.cpp" "D:/project/c++/generallib/cmake-build-debug/CMakeFiles/General.dir/src/loger.cpp.obj"
"D:/project/c++/generallib/src/utils.cpp" "D:/project/c++/generallib/cmake-build-debug/CMakeFiles/General.dir/src/utils.cpp.obj"
)
set(CMAKE_CXX_COMPILER_ID "GNU")
# The include file search paths:
set(CMAKE_CXX_TARGET_INCLUDE_PATH
"../."
"../inc"
"../encrypt"
"../pattern"
)
# Targets to which this target links.
set(CMAKE_TARGET_LINKED_INFO_FILES
)
# Fortran module output directory.
set(CMAKE_Fortran_TARGET_MODULE_DIR "")

View File

@ -0,0 +1,180 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "MinGW Makefiles" Generator, CMake Version 3.15
# Delete rule output on recipe failure.
.DELETE_ON_ERROR:
#=============================================================================
# Special targets provided by cmake.
# Disable implicit rules so canonical targets will work.
.SUFFIXES:
# Remove some rules from gmake that .SUFFIXES does not remove.
SUFFIXES =
.SUFFIXES: .hpux_make_needs_suffix_list
# Suppress display of executed commands.
$(VERBOSE).SILENT:
# A target that is always out of date.
cmake_force:
.PHONY : cmake_force
#=============================================================================
# Set environment variables for the build.
SHELL = cmd.exe
# The CMake executable.
CMAKE_COMMAND = "C:\Program Files\JetBrains\CLion\bin\cmake\win\bin\cmake.exe"
# The command to remove a file.
RM = "C:\Program Files\JetBrains\CLion\bin\cmake\win\bin\cmake.exe" -E remove -f
# Escaping for special characters.
EQUALS = =
# The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = D:\project\c++\generallib
# The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = D:\project\c++\generallib\cmake-build-debug
# Include any dependencies generated for this target.
include CMakeFiles/General.dir/depend.make
# Include the progress variables for this target.
include CMakeFiles/General.dir/progress.make
# Include the compile flags for this target's objects.
include CMakeFiles/General.dir/flags.make
CMakeFiles/General.dir/src/debug.cpp.obj: CMakeFiles/General.dir/flags.make
CMakeFiles/General.dir/src/debug.cpp.obj: CMakeFiles/General.dir/includes_CXX.rsp
CMakeFiles/General.dir/src/debug.cpp.obj: ../src/debug.cpp
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=D:\project\c++\generallib\cmake-build-debug\CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object CMakeFiles/General.dir/src/debug.cpp.obj"
C:\msys64\mingw64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles\General.dir\src\debug.cpp.obj -c D:\project\c++\generallib\src\debug.cpp
CMakeFiles/General.dir/src/debug.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/General.dir/src/debug.cpp.i"
C:\msys64\mingw64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E D:\project\c++\generallib\src\debug.cpp > CMakeFiles\General.dir\src\debug.cpp.i
CMakeFiles/General.dir/src/debug.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/General.dir/src/debug.cpp.s"
C:\msys64\mingw64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S D:\project\c++\generallib\src\debug.cpp -o CMakeFiles\General.dir\src\debug.cpp.s
CMakeFiles/General.dir/src/loger.cpp.obj: CMakeFiles/General.dir/flags.make
CMakeFiles/General.dir/src/loger.cpp.obj: CMakeFiles/General.dir/includes_CXX.rsp
CMakeFiles/General.dir/src/loger.cpp.obj: ../src/loger.cpp
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=D:\project\c++\generallib\cmake-build-debug\CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building CXX object CMakeFiles/General.dir/src/loger.cpp.obj"
C:\msys64\mingw64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles\General.dir\src\loger.cpp.obj -c D:\project\c++\generallib\src\loger.cpp
CMakeFiles/General.dir/src/loger.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/General.dir/src/loger.cpp.i"
C:\msys64\mingw64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E D:\project\c++\generallib\src\loger.cpp > CMakeFiles\General.dir\src\loger.cpp.i
CMakeFiles/General.dir/src/loger.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/General.dir/src/loger.cpp.s"
C:\msys64\mingw64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S D:\project\c++\generallib\src\loger.cpp -o CMakeFiles\General.dir\src\loger.cpp.s
CMakeFiles/General.dir/src/utils.cpp.obj: CMakeFiles/General.dir/flags.make
CMakeFiles/General.dir/src/utils.cpp.obj: CMakeFiles/General.dir/includes_CXX.rsp
CMakeFiles/General.dir/src/utils.cpp.obj: ../src/utils.cpp
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=D:\project\c++\generallib\cmake-build-debug\CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building CXX object CMakeFiles/General.dir/src/utils.cpp.obj"
C:\msys64\mingw64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles\General.dir\src\utils.cpp.obj -c D:\project\c++\generallib\src\utils.cpp
CMakeFiles/General.dir/src/utils.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/General.dir/src/utils.cpp.i"
C:\msys64\mingw64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E D:\project\c++\generallib\src\utils.cpp > CMakeFiles\General.dir\src\utils.cpp.i
CMakeFiles/General.dir/src/utils.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/General.dir/src/utils.cpp.s"
C:\msys64\mingw64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S D:\project\c++\generallib\src\utils.cpp -o CMakeFiles\General.dir\src\utils.cpp.s
CMakeFiles/General.dir/src/encrypt/base64.cpp.obj: CMakeFiles/General.dir/flags.make
CMakeFiles/General.dir/src/encrypt/base64.cpp.obj: CMakeFiles/General.dir/includes_CXX.rsp
CMakeFiles/General.dir/src/encrypt/base64.cpp.obj: ../src/encrypt/base64.cpp
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=D:\project\c++\generallib\cmake-build-debug\CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building CXX object CMakeFiles/General.dir/src/encrypt/base64.cpp.obj"
C:\msys64\mingw64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles\General.dir\src\encrypt\base64.cpp.obj -c D:\project\c++\generallib\src\encrypt\base64.cpp
CMakeFiles/General.dir/src/encrypt/base64.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/General.dir/src/encrypt/base64.cpp.i"
C:\msys64\mingw64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E D:\project\c++\generallib\src\encrypt\base64.cpp > CMakeFiles\General.dir\src\encrypt\base64.cpp.i
CMakeFiles/General.dir/src/encrypt/base64.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/General.dir/src/encrypt/base64.cpp.s"
C:\msys64\mingw64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S D:\project\c++\generallib\src\encrypt\base64.cpp -o CMakeFiles\General.dir\src\encrypt\base64.cpp.s
CMakeFiles/General.dir/src/encrypt/aes.cpp.obj: CMakeFiles/General.dir/flags.make
CMakeFiles/General.dir/src/encrypt/aes.cpp.obj: CMakeFiles/General.dir/includes_CXX.rsp
CMakeFiles/General.dir/src/encrypt/aes.cpp.obj: ../src/encrypt/aes.cpp
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=D:\project\c++\generallib\cmake-build-debug\CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Building CXX object CMakeFiles/General.dir/src/encrypt/aes.cpp.obj"
C:\msys64\mingw64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles\General.dir\src\encrypt\aes.cpp.obj -c D:\project\c++\generallib\src\encrypt\aes.cpp
CMakeFiles/General.dir/src/encrypt/aes.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/General.dir/src/encrypt/aes.cpp.i"
C:\msys64\mingw64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E D:\project\c++\generallib\src\encrypt\aes.cpp > CMakeFiles\General.dir\src\encrypt\aes.cpp.i
CMakeFiles/General.dir/src/encrypt/aes.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/General.dir/src/encrypt/aes.cpp.s"
C:\msys64\mingw64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S D:\project\c++\generallib\src\encrypt\aes.cpp -o CMakeFiles\General.dir\src\encrypt\aes.cpp.s
CMakeFiles/General.dir/src/encrypt/rsa.cpp.obj: CMakeFiles/General.dir/flags.make
CMakeFiles/General.dir/src/encrypt/rsa.cpp.obj: CMakeFiles/General.dir/includes_CXX.rsp
CMakeFiles/General.dir/src/encrypt/rsa.cpp.obj: ../src/encrypt/rsa.cpp
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=D:\project\c++\generallib\cmake-build-debug\CMakeFiles --progress-num=$(CMAKE_PROGRESS_6) "Building CXX object CMakeFiles/General.dir/src/encrypt/rsa.cpp.obj"
C:\msys64\mingw64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles\General.dir\src\encrypt\rsa.cpp.obj -c D:\project\c++\generallib\src\encrypt\rsa.cpp
CMakeFiles/General.dir/src/encrypt/rsa.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/General.dir/src/encrypt/rsa.cpp.i"
C:\msys64\mingw64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E D:\project\c++\generallib\src\encrypt\rsa.cpp > CMakeFiles\General.dir\src\encrypt\rsa.cpp.i
CMakeFiles/General.dir/src/encrypt/rsa.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/General.dir/src/encrypt/rsa.cpp.s"
C:\msys64\mingw64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S D:\project\c++\generallib\src\encrypt\rsa.cpp -o CMakeFiles\General.dir\src\encrypt\rsa.cpp.s
# Object files for target General
General_OBJECTS = \
"CMakeFiles/General.dir/src/debug.cpp.obj" \
"CMakeFiles/General.dir/src/loger.cpp.obj" \
"CMakeFiles/General.dir/src/utils.cpp.obj" \
"CMakeFiles/General.dir/src/encrypt/base64.cpp.obj" \
"CMakeFiles/General.dir/src/encrypt/aes.cpp.obj" \
"CMakeFiles/General.dir/src/encrypt/rsa.cpp.obj"
# External object files for target General
General_EXTERNAL_OBJECTS =
../obj/libGeneral.a: CMakeFiles/General.dir/src/debug.cpp.obj
../obj/libGeneral.a: CMakeFiles/General.dir/src/loger.cpp.obj
../obj/libGeneral.a: CMakeFiles/General.dir/src/utils.cpp.obj
../obj/libGeneral.a: CMakeFiles/General.dir/src/encrypt/base64.cpp.obj
../obj/libGeneral.a: CMakeFiles/General.dir/src/encrypt/aes.cpp.obj
../obj/libGeneral.a: CMakeFiles/General.dir/src/encrypt/rsa.cpp.obj
../obj/libGeneral.a: CMakeFiles/General.dir/build.make
../obj/libGeneral.a: CMakeFiles/General.dir/link.txt
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=D:\project\c++\generallib\cmake-build-debug\CMakeFiles --progress-num=$(CMAKE_PROGRESS_7) "Linking CXX static library ..\obj\libGeneral.a"
$(CMAKE_COMMAND) -P CMakeFiles\General.dir\cmake_clean_target.cmake
cp -r D:/project/c++/generallib/src/math/Eigen D:/project/c++/generallib/obj/inc/
$(CMAKE_COMMAND) -E cmake_link_script CMakeFiles\General.dir\link.txt --verbose=$(VERBOSE)
# Rule to build all files generated by this target.
CMakeFiles/General.dir/build: ../obj/libGeneral.a
.PHONY : CMakeFiles/General.dir/build
CMakeFiles/General.dir/clean:
$(CMAKE_COMMAND) -P CMakeFiles\General.dir\cmake_clean.cmake
.PHONY : CMakeFiles/General.dir/clean
CMakeFiles/General.dir/depend:
$(CMAKE_COMMAND) -E cmake_depends "MinGW Makefiles" D:\project\c++\generallib D:\project\c++\generallib D:\project\c++\generallib\cmake-build-debug D:\project\c++\generallib\cmake-build-debug D:\project\c++\generallib\cmake-build-debug\CMakeFiles\General.dir\DependInfo.cmake --color=$(COLOR)
.PHONY : CMakeFiles/General.dir/depend

View File

@ -0,0 +1,15 @@
file(REMOVE_RECURSE
"../obj/libGeneral.a"
"../obj/libGeneral.pdb"
"CMakeFiles/General.dir/src/debug.cpp.obj"
"CMakeFiles/General.dir/src/encrypt/aes.cpp.obj"
"CMakeFiles/General.dir/src/encrypt/base64.cpp.obj"
"CMakeFiles/General.dir/src/encrypt/rsa.cpp.obj"
"CMakeFiles/General.dir/src/loger.cpp.obj"
"CMakeFiles/General.dir/src/utils.cpp.obj"
)
# Per-language clean rules from dependency scanning.
foreach(lang CXX)
include(CMakeFiles/General.dir/cmake_clean_${lang}.cmake OPTIONAL)
endforeach()

View File

@ -0,0 +1,23 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "MinGW Makefiles" Generator, CMake Version 3.15
CMakeFiles/General.dir/src/debug.cpp.obj
../inc/debug.h
D:/project/c++/generallib/src/debug.cpp
CMakeFiles/General.dir/src/encrypt/aes.cpp.obj
D:/project/c++/generallib/src/encrypt/aes.cpp
D:/project/c++/generallib/src/encrypt/aes.h
CMakeFiles/General.dir/src/encrypt/base64.cpp.obj
D:/project/c++/generallib/src/encrypt/base64.cpp
D:/project/c++/generallib/src/encrypt/base64.h
CMakeFiles/General.dir/src/encrypt/rsa.cpp.obj
../src/math/BigInt.hpp
D:/project/c++/generallib/src/encrypt/rsa.cpp
D:/project/c++/generallib/src/encrypt/rsa.h
CMakeFiles/General.dir/src/loger.cpp.obj
../inc/loger.h
D:/project/c++/generallib/src/loger.cpp
CMakeFiles/General.dir/src/utils.cpp.obj
../inc/debug.h
../inc/utils.h
D:/project/c++/generallib/src/utils.cpp

View File

@ -0,0 +1,23 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "MinGW Makefiles" Generator, CMake Version 3.15
CMakeFiles/General.dir/src/debug.cpp.obj: ../inc/debug.h
CMakeFiles/General.dir/src/debug.cpp.obj: ../src/debug.cpp
CMakeFiles/General.dir/src/encrypt/aes.cpp.obj: ../src/encrypt/aes.cpp
CMakeFiles/General.dir/src/encrypt/aes.cpp.obj: ../src/encrypt/aes.h
CMakeFiles/General.dir/src/encrypt/base64.cpp.obj: ../src/encrypt/base64.cpp
CMakeFiles/General.dir/src/encrypt/base64.cpp.obj: ../src/encrypt/base64.h
CMakeFiles/General.dir/src/encrypt/rsa.cpp.obj: ../src/math/BigInt.hpp
CMakeFiles/General.dir/src/encrypt/rsa.cpp.obj: ../src/encrypt/rsa.cpp
CMakeFiles/General.dir/src/encrypt/rsa.cpp.obj: ../src/encrypt/rsa.h
CMakeFiles/General.dir/src/loger.cpp.obj: ../inc/loger.h
CMakeFiles/General.dir/src/loger.cpp.obj: ../src/loger.cpp
CMakeFiles/General.dir/src/utils.cpp.obj: ../inc/debug.h
CMakeFiles/General.dir/src/utils.cpp.obj: ../inc/utils.h
CMakeFiles/General.dir/src/utils.cpp.obj: ../src/utils.cpp

View File

@ -0,0 +1 @@
-ID:/project/c++/generallib/. -ID:/project/c++/generallib/inc -ID:/project/c++/generallib/encrypt -ID:/project/c++/generallib/pattern

View File

@ -0,0 +1,2 @@
C:\msys64\mingw64\bin\ar.exe qc ..\obj\libGeneral.a CMakeFiles/General.dir/src/debug.cpp.obj CMakeFiles/General.dir/src/loger.cpp.obj CMakeFiles/General.dir/src/utils.cpp.obj CMakeFiles/General.dir/src/encrypt/base64.cpp.obj CMakeFiles/General.dir/src/encrypt/aes.cpp.obj CMakeFiles/General.dir/src/encrypt/rsa.cpp.obj
C:\msys64\mingw64\bin\ranlib.exe ..\obj\libGeneral.a

View File

@ -1 +0,0 @@
empty

View File

@ -1,5 +1,8 @@
"C:\Program Files\JetBrains\CLion\bin\cmake\win\bin\cmake.exe" -DCMAKE_BUILD_TYPE=Debug -DCMAKE_MAKE_PROGRAM=C:/msys64/mingw64/bin/mingw32-make.exe -G "CodeBlocks - MinGW Makefiles" D:\project\c++\generallib
statusD:/project/c++/generallib/inc/debug.hD:/project/c++/generallib/inc/loger.hD:/project/c++/generallib/inc/utils.h
copy pattern libraryD:/project/c++/generallib/src/pattern/Observer.hD:/project/c++/generallib/src/pattern/adapter.hD:/project/c++/generallib/src/pattern/signleton.hD:/project/c++/generallib/src/pattern/stratergy.h
copy math libraryD:/project/c++/generallib/src/math/BigInt.hpp
copy eigen library
-- Configuring done
-- Generating done
-- Build files have been written to: D:/project/c++/generallib/cmake-build-debug

View File

@ -0,0 +1,139 @@
<?xml version="1.0" encoding="UTF-8"?>
<CodeBlocks_project_file>
<FileVersion major="1" minor="6"/>
<Project>
<Option title="General"/>
<Option makefile_is_custom="1"/>
<Option compiler="gcc"/>
<Option virtualFolders="CMake Files\;"/>
<Build>
<Target title="all">
<Option working_dir="D:/project/c++/generallib/cmake-build-debug"/>
<Option type="4"/>
<MakeCommands>
<Build command="C:/msys64/mingw64/bin/mingw32-make.exe -f &quot;D:/project/c++/generallib/cmake-build-debug/Makefile&quot; VERBOSE=1 all"/>
<CompileFile command="C:/msys64/mingw64/bin/mingw32-make.exe -f &quot;D:/project/c++/generallib/cmake-build-debug/Makefile&quot; VERBOSE=1 &quot;$file&quot;"/>
<Clean command="C:/msys64/mingw64/bin/mingw32-make.exe -f &quot;D:/project/c++/generallib/cmake-build-debug/Makefile&quot; VERBOSE=1 clean"/>
<DistClean command="C:/msys64/mingw64/bin/mingw32-make.exe -f &quot;D:/project/c++/generallib/cmake-build-debug/Makefile&quot; VERBOSE=1 clean"/>
</MakeCommands>
</Target>
<Target title="General">
<Option output="D:/project/c++/generallib/obj/libGeneral.a" prefix_auto="0" extension_auto="0"/>
<Option working_dir="D:/project/c++/generallib/cmake-build-debug"/>
<Option object_output="./"/>
<Option type="2"/>
<Option compiler="gcc"/>
<Compiler>
<Add directory="D:/project/c++/generallib/."/>
<Add directory="D:/project/c++/generallib/inc"/>
<Add directory="D:/project/c++/generallib/encrypt"/>
<Add directory="D:/project/c++/generallib/pattern"/>
<Add directory="C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../include/c++/7.3.0"/>
<Add directory="C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../include/c++/7.3.0/x86_64-w64-mingw32"/>
<Add directory="C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../include/c++/7.3.0/backward"/>
<Add directory="C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.3.0/include"/>
<Add directory="C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../include"/>
<Add directory="C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.3.0/include-fixed"/>
<Add directory="C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../x86_64-w64-mingw32/include"/>
</Compiler>
<MakeCommands>
<Build command="C:/msys64/mingw64/bin/mingw32-make.exe -f &quot;D:/project/c++/generallib/cmake-build-debug/Makefile&quot; VERBOSE=1 General"/>
<CompileFile command="C:/msys64/mingw64/bin/mingw32-make.exe -f &quot;D:/project/c++/generallib/cmake-build-debug/Makefile&quot; VERBOSE=1 &quot;$file&quot;"/>
<Clean command="C:/msys64/mingw64/bin/mingw32-make.exe -f &quot;D:/project/c++/generallib/cmake-build-debug/Makefile&quot; VERBOSE=1 clean"/>
<DistClean command="C:/msys64/mingw64/bin/mingw32-make.exe -f &quot;D:/project/c++/generallib/cmake-build-debug/Makefile&quot; VERBOSE=1 clean"/>
</MakeCommands>
</Target>
<Target title="General/fast">
<Option output="D:/project/c++/generallib/obj/libGeneral.a" prefix_auto="0" extension_auto="0"/>
<Option working_dir="D:/project/c++/generallib/cmake-build-debug"/>
<Option object_output="./"/>
<Option type="2"/>
<Option compiler="gcc"/>
<Compiler>
<Add directory="D:/project/c++/generallib/."/>
<Add directory="D:/project/c++/generallib/inc"/>
<Add directory="D:/project/c++/generallib/encrypt"/>
<Add directory="D:/project/c++/generallib/pattern"/>
<Add directory="C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../include/c++/7.3.0"/>
<Add directory="C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../include/c++/7.3.0/x86_64-w64-mingw32"/>
<Add directory="C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../include/c++/7.3.0/backward"/>
<Add directory="C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.3.0/include"/>
<Add directory="C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../include"/>
<Add directory="C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.3.0/include-fixed"/>
<Add directory="C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../x86_64-w64-mingw32/include"/>
</Compiler>
<MakeCommands>
<Build command="C:/msys64/mingw64/bin/mingw32-make.exe -f &quot;D:/project/c++/generallib/cmake-build-debug/Makefile&quot; VERBOSE=1 General/fast"/>
<CompileFile command="C:/msys64/mingw64/bin/mingw32-make.exe -f &quot;D:/project/c++/generallib/cmake-build-debug/Makefile&quot; VERBOSE=1 &quot;$file&quot;"/>
<Clean command="C:/msys64/mingw64/bin/mingw32-make.exe -f &quot;D:/project/c++/generallib/cmake-build-debug/Makefile&quot; VERBOSE=1 clean"/>
<DistClean command="C:/msys64/mingw64/bin/mingw32-make.exe -f &quot;D:/project/c++/generallib/cmake-build-debug/Makefile&quot; VERBOSE=1 clean"/>
</MakeCommands>
</Target>
<Target title="edit_cache">
<Option working_dir="D:/project/c++/generallib/cmake-build-debug"/>
<Option type="4"/>
<MakeCommands>
<Build command="C:/msys64/mingw64/bin/mingw32-make.exe -f &quot;D:/project/c++/generallib/cmake-build-debug/Makefile&quot; VERBOSE=1 edit_cache"/>
<CompileFile command="C:/msys64/mingw64/bin/mingw32-make.exe -f &quot;D:/project/c++/generallib/cmake-build-debug/Makefile&quot; VERBOSE=1 &quot;$file&quot;"/>
<Clean command="C:/msys64/mingw64/bin/mingw32-make.exe -f &quot;D:/project/c++/generallib/cmake-build-debug/Makefile&quot; VERBOSE=1 clean"/>
<DistClean command="C:/msys64/mingw64/bin/mingw32-make.exe -f &quot;D:/project/c++/generallib/cmake-build-debug/Makefile&quot; VERBOSE=1 clean"/>
</MakeCommands>
</Target>
<Target title="rebuild_cache">
<Option working_dir="D:/project/c++/generallib/cmake-build-debug"/>
<Option type="4"/>
<MakeCommands>
<Build command="C:/msys64/mingw64/bin/mingw32-make.exe -f &quot;D:/project/c++/generallib/cmake-build-debug/Makefile&quot; VERBOSE=1 rebuild_cache"/>
<CompileFile command="C:/msys64/mingw64/bin/mingw32-make.exe -f &quot;D:/project/c++/generallib/cmake-build-debug/Makefile&quot; VERBOSE=1 &quot;$file&quot;"/>
<Clean command="C:/msys64/mingw64/bin/mingw32-make.exe -f &quot;D:/project/c++/generallib/cmake-build-debug/Makefile&quot; VERBOSE=1 clean"/>
<DistClean command="C:/msys64/mingw64/bin/mingw32-make.exe -f &quot;D:/project/c++/generallib/cmake-build-debug/Makefile&quot; VERBOSE=1 clean"/>
</MakeCommands>
</Target>
</Build>
<Unit filename="D:/project/c++/generallib/src/debug.cpp">
<Option target="General"/>
</Unit>
<Unit filename="D:/project/c++/generallib/src/encrypt/aes.cpp">
<Option target="General"/>
</Unit>
<Unit filename="D:/project/c++/generallib/src/encrypt/aes.h">
<Option target="General"/>
</Unit>
<Unit filename="D:/project/c++/generallib/src/encrypt/base64.cpp">
<Option target="General"/>
</Unit>
<Unit filename="D:/project/c++/generallib/src/encrypt/base64.h">
<Option target="General"/>
</Unit>
<Unit filename="D:/project/c++/generallib/src/encrypt/rsa.cpp">
<Option target="General"/>
</Unit>
<Unit filename="D:/project/c++/generallib/src/encrypt/rsa.h">
<Option target="General"/>
</Unit>
<Unit filename="D:/project/c++/generallib/src/loger.cpp">
<Option target="General"/>
</Unit>
<Unit filename="D:/project/c++/generallib/src/math/BigInt.hpp">
<Option target="General"/>
</Unit>
<Unit filename="D:/project/c++/generallib/src/pattern/Observer.h">
<Option target="General"/>
</Unit>
<Unit filename="D:/project/c++/generallib/src/pattern/adapter.h">
<Option target="General"/>
</Unit>
<Unit filename="D:/project/c++/generallib/src/pattern/signleton.h">
<Option target="General"/>
</Unit>
<Unit filename="D:/project/c++/generallib/src/pattern/stratergy.h">
<Option target="General"/>
</Unit>
<Unit filename="D:/project/c++/generallib/src/utils.cpp">
<Option target="General"/>
</Unit>
<Unit filename="D:/project/c++/generallib/CMakeLists.txt">
<Option virtualFolder="CMake Files\"/>
</Unit>
</Project>
</CodeBlocks_project_file>

327
cmake-build-debug/Makefile Normal file
View File

@ -0,0 +1,327 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "MinGW Makefiles" Generator, CMake Version 3.15
# Default target executed when no arguments are given to make.
default_target: all
.PHONY : default_target
# Allow only one "make -f Makefile2" at a time, but pass parallelism.
.NOTPARALLEL:
#=============================================================================
# Special targets provided by cmake.
# Disable implicit rules so canonical targets will work.
.SUFFIXES:
# Remove some rules from gmake that .SUFFIXES does not remove.
SUFFIXES =
.SUFFIXES: .hpux_make_needs_suffix_list
# Suppress display of executed commands.
$(VERBOSE).SILENT:
# A target that is always out of date.
cmake_force:
.PHONY : cmake_force
#=============================================================================
# Set environment variables for the build.
SHELL = cmd.exe
# The CMake executable.
CMAKE_COMMAND = "C:\Program Files\JetBrains\CLion\bin\cmake\win\bin\cmake.exe"
# The command to remove a file.
RM = "C:\Program Files\JetBrains\CLion\bin\cmake\win\bin\cmake.exe" -E remove -f
# Escaping for special characters.
EQUALS = =
# The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = D:\project\c++\generallib
# The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = D:\project\c++\generallib\cmake-build-debug
#=============================================================================
# Targets provided globally by CMake.
# Special rule for the target edit_cache
edit_cache:
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..."
"C:\Program Files\JetBrains\CLion\bin\cmake\win\bin\cmake.exe" -E echo "No interactive CMake dialog available."
.PHONY : edit_cache
# Special rule for the target edit_cache
edit_cache/fast: edit_cache
.PHONY : edit_cache/fast
# Special rule for the target rebuild_cache
rebuild_cache:
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
"C:\Program Files\JetBrains\CLion\bin\cmake\win\bin\cmake.exe" -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
.PHONY : rebuild_cache
# Special rule for the target rebuild_cache
rebuild_cache/fast: rebuild_cache
.PHONY : rebuild_cache/fast
# The main all target
all: cmake_check_build_system
$(CMAKE_COMMAND) -E cmake_progress_start D:\project\c++\generallib\cmake-build-debug\CMakeFiles D:\project\c++\generallib\cmake-build-debug\CMakeFiles\progress.marks
$(MAKE) -f CMakeFiles\Makefile2 all
$(CMAKE_COMMAND) -E cmake_progress_start D:\project\c++\generallib\cmake-build-debug\CMakeFiles 0
.PHONY : all
# The main clean target
clean:
$(MAKE) -f CMakeFiles\Makefile2 clean
.PHONY : clean
# The main clean target
clean/fast: clean
.PHONY : clean/fast
# Prepare targets for installation.
preinstall: all
$(MAKE) -f CMakeFiles\Makefile2 preinstall
.PHONY : preinstall
# Prepare targets for installation.
preinstall/fast:
$(MAKE) -f CMakeFiles\Makefile2 preinstall
.PHONY : preinstall/fast
# clear depends
depend:
$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles\Makefile.cmake 1
.PHONY : depend
#=============================================================================
# Target rules for targets named General
# Build rule for target.
General: cmake_check_build_system
$(MAKE) -f CMakeFiles\Makefile2 General
.PHONY : General
# fast build rule for target.
General/fast:
$(MAKE) -f CMakeFiles\General.dir\build.make CMakeFiles/General.dir/build
.PHONY : General/fast
src/debug.obj: src/debug.cpp.obj
.PHONY : src/debug.obj
# target to build an object file
src/debug.cpp.obj:
$(MAKE) -f CMakeFiles\General.dir\build.make CMakeFiles/General.dir/src/debug.cpp.obj
.PHONY : src/debug.cpp.obj
src/debug.i: src/debug.cpp.i
.PHONY : src/debug.i
# target to preprocess a source file
src/debug.cpp.i:
$(MAKE) -f CMakeFiles\General.dir\build.make CMakeFiles/General.dir/src/debug.cpp.i
.PHONY : src/debug.cpp.i
src/debug.s: src/debug.cpp.s
.PHONY : src/debug.s
# target to generate assembly for a file
src/debug.cpp.s:
$(MAKE) -f CMakeFiles\General.dir\build.make CMakeFiles/General.dir/src/debug.cpp.s
.PHONY : src/debug.cpp.s
src/encrypt/aes.obj: src/encrypt/aes.cpp.obj
.PHONY : src/encrypt/aes.obj
# target to build an object file
src/encrypt/aes.cpp.obj:
$(MAKE) -f CMakeFiles\General.dir\build.make CMakeFiles/General.dir/src/encrypt/aes.cpp.obj
.PHONY : src/encrypt/aes.cpp.obj
src/encrypt/aes.i: src/encrypt/aes.cpp.i
.PHONY : src/encrypt/aes.i
# target to preprocess a source file
src/encrypt/aes.cpp.i:
$(MAKE) -f CMakeFiles\General.dir\build.make CMakeFiles/General.dir/src/encrypt/aes.cpp.i
.PHONY : src/encrypt/aes.cpp.i
src/encrypt/aes.s: src/encrypt/aes.cpp.s
.PHONY : src/encrypt/aes.s
# target to generate assembly for a file
src/encrypt/aes.cpp.s:
$(MAKE) -f CMakeFiles\General.dir\build.make CMakeFiles/General.dir/src/encrypt/aes.cpp.s
.PHONY : src/encrypt/aes.cpp.s
src/encrypt/base64.obj: src/encrypt/base64.cpp.obj
.PHONY : src/encrypt/base64.obj
# target to build an object file
src/encrypt/base64.cpp.obj:
$(MAKE) -f CMakeFiles\General.dir\build.make CMakeFiles/General.dir/src/encrypt/base64.cpp.obj
.PHONY : src/encrypt/base64.cpp.obj
src/encrypt/base64.i: src/encrypt/base64.cpp.i
.PHONY : src/encrypt/base64.i
# target to preprocess a source file
src/encrypt/base64.cpp.i:
$(MAKE) -f CMakeFiles\General.dir\build.make CMakeFiles/General.dir/src/encrypt/base64.cpp.i
.PHONY : src/encrypt/base64.cpp.i
src/encrypt/base64.s: src/encrypt/base64.cpp.s
.PHONY : src/encrypt/base64.s
# target to generate assembly for a file
src/encrypt/base64.cpp.s:
$(MAKE) -f CMakeFiles\General.dir\build.make CMakeFiles/General.dir/src/encrypt/base64.cpp.s
.PHONY : src/encrypt/base64.cpp.s
src/encrypt/rsa.obj: src/encrypt/rsa.cpp.obj
.PHONY : src/encrypt/rsa.obj
# target to build an object file
src/encrypt/rsa.cpp.obj:
$(MAKE) -f CMakeFiles\General.dir\build.make CMakeFiles/General.dir/src/encrypt/rsa.cpp.obj
.PHONY : src/encrypt/rsa.cpp.obj
src/encrypt/rsa.i: src/encrypt/rsa.cpp.i
.PHONY : src/encrypt/rsa.i
# target to preprocess a source file
src/encrypt/rsa.cpp.i:
$(MAKE) -f CMakeFiles\General.dir\build.make CMakeFiles/General.dir/src/encrypt/rsa.cpp.i
.PHONY : src/encrypt/rsa.cpp.i
src/encrypt/rsa.s: src/encrypt/rsa.cpp.s
.PHONY : src/encrypt/rsa.s
# target to generate assembly for a file
src/encrypt/rsa.cpp.s:
$(MAKE) -f CMakeFiles\General.dir\build.make CMakeFiles/General.dir/src/encrypt/rsa.cpp.s
.PHONY : src/encrypt/rsa.cpp.s
src/loger.obj: src/loger.cpp.obj
.PHONY : src/loger.obj
# target to build an object file
src/loger.cpp.obj:
$(MAKE) -f CMakeFiles\General.dir\build.make CMakeFiles/General.dir/src/loger.cpp.obj
.PHONY : src/loger.cpp.obj
src/loger.i: src/loger.cpp.i
.PHONY : src/loger.i
# target to preprocess a source file
src/loger.cpp.i:
$(MAKE) -f CMakeFiles\General.dir\build.make CMakeFiles/General.dir/src/loger.cpp.i
.PHONY : src/loger.cpp.i
src/loger.s: src/loger.cpp.s
.PHONY : src/loger.s
# target to generate assembly for a file
src/loger.cpp.s:
$(MAKE) -f CMakeFiles\General.dir\build.make CMakeFiles/General.dir/src/loger.cpp.s
.PHONY : src/loger.cpp.s
src/utils.obj: src/utils.cpp.obj
.PHONY : src/utils.obj
# target to build an object file
src/utils.cpp.obj:
$(MAKE) -f CMakeFiles\General.dir\build.make CMakeFiles/General.dir/src/utils.cpp.obj
.PHONY : src/utils.cpp.obj
src/utils.i: src/utils.cpp.i
.PHONY : src/utils.i
# target to preprocess a source file
src/utils.cpp.i:
$(MAKE) -f CMakeFiles\General.dir\build.make CMakeFiles/General.dir/src/utils.cpp.i
.PHONY : src/utils.cpp.i
src/utils.s: src/utils.cpp.s
.PHONY : src/utils.s
# target to generate assembly for a file
src/utils.cpp.s:
$(MAKE) -f CMakeFiles\General.dir\build.make CMakeFiles/General.dir/src/utils.cpp.s
.PHONY : src/utils.cpp.s
# Help Target
help:
@echo The following are some of the valid targets for this Makefile:
@echo ... all (the default if no target is provided)
@echo ... clean
@echo ... depend
@echo ... General
@echo ... edit_cache
@echo ... rebuild_cache
@echo ... src/debug.obj
@echo ... src/debug.i
@echo ... src/debug.s
@echo ... src/encrypt/aes.obj
@echo ... src/encrypt/aes.i
@echo ... src/encrypt/aes.s
@echo ... src/encrypt/base64.obj
@echo ... src/encrypt/base64.i
@echo ... src/encrypt/base64.s
@echo ... src/encrypt/rsa.obj
@echo ... src/encrypt/rsa.i
@echo ... src/encrypt/rsa.s
@echo ... src/loger.obj
@echo ... src/loger.i
@echo ... src/loger.s
@echo ... src/utils.obj
@echo ... src/utils.i
@echo ... src/utils.s
.PHONY : help
#=============================================================================
# Special targets to cleanup operation of make.
# Special rule to run CMake to check the build system integrity.
# No rule that depends on this can have commands that come from listfiles
# because they might be regenerated.
cmake_check_build_system:
$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles\Makefile.cmake 0
.PHONY : cmake_check_build_system

Binary file not shown.

View File

@ -0,0 +1,19 @@
include(RegexUtils)
test_escape_string_as_regex()
file(GLOB Eigen_directory_files "*")
escape_string_as_regex(ESCAPED_CMAKE_CURRENT_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
foreach(f ${Eigen_directory_files})
if(NOT f MATCHES "\\.txt" AND NOT f MATCHES "${ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/[.].+" AND NOT f MATCHES "${ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/src")
list(APPEND Eigen_directory_files_to_install ${f})
endif()
endforeach(f ${Eigen_directory_files})
install(FILES
${Eigen_directory_files_to_install}
DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen COMPONENT Devel
)
install(DIRECTORY src DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen COMPONENT Devel FILES_MATCHING PATTERN "*.h")

46
src/math/eigen/Cholesky Normal file
View File

@ -0,0 +1,46 @@
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
#ifndef EIGEN_CHOLESKY_MODULE_H
#define EIGEN_CHOLESKY_MODULE_H
#include "Core"
#include "Jacobi"
#include "src/Core/util/DisableStupidWarnings.h"
/** \defgroup Cholesky_Module Cholesky module
*
*
*
* This module provides two variants of the Cholesky decomposition for selfadjoint (hermitian) matrices.
* Those decompositions are also accessible via the following methods:
* - MatrixBase::llt()
* - MatrixBase::ldlt()
* - SelfAdjointView::llt()
* - SelfAdjointView::ldlt()
*
* \code
* #include <Eigen/Cholesky>
* \endcode
*/
#include "src/Cholesky/LLT.h"
#include "src/Cholesky/LDLT.h"
#ifdef EIGEN_USE_LAPACKE
#ifdef EIGEN_USE_MKL
#include "mkl_lapacke.h"
#else
#include "src/misc/lapacke.h"
#endif
#include "src/Cholesky/LLT_LAPACKE.h"
#endif
#include "src/Core/util/ReenableStupidWarnings.h"
#endif // EIGEN_CHOLESKY_MODULE_H
/* vim: set filetype=cpp et sw=2 ts=2 ai: */

View File

@ -0,0 +1,48 @@
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
#ifndef EIGEN_CHOLMODSUPPORT_MODULE_H
#define EIGEN_CHOLMODSUPPORT_MODULE_H
#include "SparseCore"
#include "src/Core/util/DisableStupidWarnings.h"
extern "C" {
#include <cholmod.h>
}
/** \ingroup Support_modules
* \defgroup CholmodSupport_Module CholmodSupport module
*
* This module provides an interface to the Cholmod library which is part of the <a href="http://www.suitesparse.com">suitesparse</a> package.
* It provides the two following main factorization classes:
* - class CholmodSupernodalLLT: a supernodal LLT Cholesky factorization.
* - class CholmodDecomposiiton: a general L(D)LT Cholesky factorization with automatic or explicit runtime selection of the underlying factorization method (supernodal or simplicial).
*
* For the sake of completeness, this module also propose the two following classes:
* - class CholmodSimplicialLLT
* - class CholmodSimplicialLDLT
* Note that these classes does not bring any particular advantage compared to the built-in
* SimplicialLLT and SimplicialLDLT factorization classes.
*
* \code
* #include <Eigen/CholmodSupport>
* \endcode
*
* In order to use this module, the cholmod headers must be accessible from the include paths, and your binary must be linked to the cholmod library and its dependencies.
* The dependencies depend on how cholmod has been compiled.
* For a cmake based project, you can use our FindCholmod.cmake module to help you in this task.
*
*/
#include "src/CholmodSupport/CholmodSupport.h"
#include "src/Core/util/ReenableStupidWarnings.h"
#endif // EIGEN_CHOLMODSUPPORT_MODULE_H

357
src/math/eigen/Core Normal file
View File

@ -0,0 +1,357 @@
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2007-2011 Benoit Jacob <jacob.benoit.1@gmail.com>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
#ifndef EIGEN_CORE_H
#define EIGEN_CORE_H
// first thing Eigen does: stop the compiler from committing suicide
#include "src/Core/util/DisableStupidWarnings.h"
// then include this file where all our macros are defined. It's really important to do it first because
// it's where we do all the compiler/OS/arch detections and define most defaults.
#include "src/Core/util/Macros.h"
// This detects SSE/AVX/NEON/etc. and configure alignment settings
#include "src/Core/util/ConfigureVectorization.h"
// We need cuda_runtime.h/hip_runtime.h to ensure that
// the EIGEN_USING_STD_MATH macro works properly on the device side
#if defined(EIGEN_CUDACC)
#include <cuda_runtime.h>
#elif defined(EIGEN_HIPCC)
#include <hip/hip_runtime.h>
#endif
#ifdef EIGEN_EXCEPTIONS
#include <new>
#endif
// Disable the ipa-cp-clone optimization flag with MinGW 6.x or newer (enabled by default with -O3)
// See http://eigen.tuxfamily.org/bz/show_bug.cgi?id=556 for details.
#if EIGEN_COMP_MINGW && EIGEN_GNUC_AT_LEAST(4,6)
#pragma GCC optimize ("-fno-ipa-cp-clone")
#endif
#include <complex>
// this include file manages BLAS and MKL related macros
// and inclusion of their respective header files
#include "src/Core/util/MKL_support.h"
#if defined(EIGEN_HAS_CUDA_FP16) || defined(EIGEN_HAS_HIP_FP16)
#define EIGEN_HAS_GPU_FP16
#endif
#if (defined _OPENMP) && (!defined EIGEN_DONT_PARALLELIZE)
#define EIGEN_HAS_OPENMP
#endif
#ifdef EIGEN_HAS_OPENMP
#include <omp.h>
#endif
// MSVC for windows mobile does not have the errno.h file
#if !(EIGEN_COMP_MSVC && EIGEN_OS_WINCE) && !EIGEN_COMP_ARM
#define EIGEN_HAS_ERRNO
#endif
#ifdef EIGEN_HAS_ERRNO
#include <cerrno>
#endif
#include <cstddef>
#include <cstdlib>
#include <cmath>
#include <cassert>
#include <functional>
#ifndef EIGEN_NO_IO
#include <iosfwd>
#endif
#include <cstring>
#include <string>
#include <limits>
#include <climits> // for CHAR_BIT
// for min/max:
#include <algorithm>
#if EIGEN_HAS_CXX11
#include <array>
#endif
// for std::is_nothrow_move_assignable
#ifdef EIGEN_INCLUDE_TYPE_TRAITS
#include <type_traits>
#endif
// for outputting debug info
#ifdef EIGEN_DEBUG_ASSIGN
#include <iostream>
#endif
// required for __cpuid, needs to be included after cmath
#if EIGEN_COMP_MSVC && EIGEN_ARCH_i386_OR_x86_64 && !EIGEN_OS_WINCE
#include <intrin.h>
#endif
#if defined(EIGEN_USE_SYCL)
#undef min
#undef max
#undef isnan
#undef isinf
#undef isfinite
#include <SYCL/sycl.hpp>
#include <map>
#include <memory>
#include <utility>
#include <thread>
#ifndef EIGEN_SYCL_LOCAL_THREAD_DIM0
#define EIGEN_SYCL_LOCAL_THREAD_DIM0 16
#endif
#ifndef EIGEN_SYCL_LOCAL_THREAD_DIM1
#define EIGEN_SYCL_LOCAL_THREAD_DIM1 16
#endif
#endif
#if defined EIGEN2_SUPPORT_STAGE40_FULL_EIGEN3_STRICTNESS || defined EIGEN2_SUPPORT_STAGE30_FULL_EIGEN3_API || defined EIGEN2_SUPPORT_STAGE20_RESOLVE_API_CONFLICTS || defined EIGEN2_SUPPORT_STAGE10_FULL_EIGEN2_API || defined EIGEN2_SUPPORT
// This will generate an error message:
#error Eigen2-support is only available up to version 3.2. Please go to "http://eigen.tuxfamily.org/index.php?title=Eigen2" for further information
#endif
namespace Eigen {
// we use size_t frequently and we'll never remember to prepend it with std:: every time just to
// ensure QNX/QCC support
using std::size_t;
// gcc 4.6.0 wants std:: for ptrdiff_t
using std::ptrdiff_t;
}
/** \defgroup Core_Module Core module
* This is the main module of Eigen providing dense matrix and vector support
* (both fixed and dynamic size) with all the features corresponding to a BLAS library
* and much more...
*
* \code
* #include <Eigen/Core>
* \endcode
*/
#include "src/Core/util/Constants.h"
#include "src/Core/util/Meta.h"
#include "src/Core/util/ForwardDeclarations.h"
#include "src/Core/util/StaticAssert.h"
#include "src/Core/util/XprHelper.h"
#include "src/Core/util/Memory.h"
#include "src/Core/util/IntegralConstant.h"
#include "src/Core/util/SymbolicIndex.h"
#include "src/Core/NumTraits.h"
#include "src/Core/MathFunctions.h"
#include "src/Core/GenericPacketMath.h"
#include "src/Core/MathFunctionsImpl.h"
#include "src/Core/arch/Default/ConjHelper.h"
#if defined EIGEN_VECTORIZE_AVX512
#include "src/Core/arch/SSE/PacketMath.h"
#include "src/Core/arch/SSE/TypeCasting.h"
#include "src/Core/arch/SSE/Complex.h"
#include "src/Core/arch/AVX/PacketMath.h"
#include "src/Core/arch/AVX/TypeCasting.h"
#include "src/Core/arch/AVX/Complex.h"
#include "src/Core/arch/AVX512/PacketMath.h"
#include "src/Core/arch/AVX512/Complex.h"
#include "src/Core/arch/SSE/MathFunctions.h"
#include "src/Core/arch/AVX/MathFunctions.h"
#include "src/Core/arch/AVX512/MathFunctions.h"
#elif defined EIGEN_VECTORIZE_AVX
// Use AVX for floats and doubles, SSE for integers
#include "src/Core/arch/SSE/PacketMath.h"
#include "src/Core/arch/SSE/TypeCasting.h"
#include "src/Core/arch/SSE/Complex.h"
#include "src/Core/arch/AVX/PacketMath.h"
#include "src/Core/arch/AVX/TypeCasting.h"
#include "src/Core/arch/AVX/Complex.h"
#include "src/Core/arch/SSE/MathFunctions.h"
#include "src/Core/arch/AVX/MathFunctions.h"
#elif defined EIGEN_VECTORIZE_SSE
#include "src/Core/arch/SSE/PacketMath.h"
#include "src/Core/arch/SSE/TypeCasting.h"
#include "src/Core/arch/SSE/MathFunctions.h"
#include "src/Core/arch/SSE/Complex.h"
#elif defined(EIGEN_VECTORIZE_ALTIVEC) || defined(EIGEN_VECTORIZE_VSX)
#include "src/Core/arch/AltiVec/PacketMath.h"
#include "src/Core/arch/AltiVec/MathFunctions.h"
#include "src/Core/arch/AltiVec/Complex.h"
#elif defined EIGEN_VECTORIZE_NEON
#include "src/Core/arch/NEON/PacketMath.h"
#include "src/Core/arch/NEON/TypeCasting.h"
#include "src/Core/arch/NEON/MathFunctions.h"
#include "src/Core/arch/NEON/Complex.h"
#elif defined EIGEN_VECTORIZE_ZVECTOR
#include "src/Core/arch/ZVector/PacketMath.h"
#include "src/Core/arch/ZVector/MathFunctions.h"
#include "src/Core/arch/ZVector/Complex.h"
#elif defined EIGEN_VECTORIZE_MSA
#include "src/Core/arch/MSA/PacketMath.h"
#include "src/Core/arch/MSA/MathFunctions.h"
#include "src/Core/arch/MSA/Complex.h"
#endif
// Half float support
#include "src/Core/arch/GPU/Half.h"
#include "src/Core/arch/GPU/PacketMathHalf.h"
#include "src/Core/arch/GPU/TypeCasting.h"
#if defined EIGEN_VECTORIZE_GPU
#include "src/Core/arch/GPU/PacketMath.h"
#include "src/Core/arch/GPU/MathFunctions.h"
#endif
#if defined(EIGEN_USE_SYCL)
#include "src/Core/arch/SYCL/SyclMemoryModel.h"
#include "src/Core/arch/SYCL/InteropHeaders.h"
#if !defined(EIGEN_DONT_VECTORIZE_SYCL)
#include "src/Core/arch/SYCL/PacketMath.h"
#include "src/Core/arch/SYCL/MathFunctions.h"
#include "src/Core/arch/SYCL/TypeCasting.h"
#endif
#endif
#include "src/Core/arch/Default/Settings.h"
#include "src/Core/functors/TernaryFunctors.h"
#include "src/Core/functors/BinaryFunctors.h"
#include "src/Core/functors/UnaryFunctors.h"
#include "src/Core/functors/NullaryFunctors.h"
#include "src/Core/functors/StlFunctors.h"
#include "src/Core/functors/AssignmentFunctors.h"
// Specialized functors to enable the processing of complex numbers
// on CUDA devices
#ifdef EIGEN_CUDACC
#include "src/Core/arch/CUDA/Complex.h"
#endif
#include "src/Core/util/IndexedViewHelper.h"
#include "src/Core/util/ReshapedHelper.h"
#include "src/Core/ArithmeticSequence.h"
#ifndef EIGEN_NO_IO
#include "src/Core/IO.h"
#endif
#include "src/Core/DenseCoeffsBase.h"
#include "src/Core/DenseBase.h"
#include "src/Core/MatrixBase.h"
#include "src/Core/EigenBase.h"
#include "src/Core/Product.h"
#include "src/Core/CoreEvaluators.h"
#include "src/Core/AssignEvaluator.h"
#ifndef EIGEN_PARSED_BY_DOXYGEN // work around Doxygen bug triggered by Assign.h r814874
// at least confirmed with Doxygen 1.5.5 and 1.5.6
#include "src/Core/Assign.h"
#endif
#include "src/Core/ArrayBase.h"
#include "src/Core/util/BlasUtil.h"
#include "src/Core/DenseStorage.h"
#include "src/Core/NestByValue.h"
// #include "src/Core/ForceAlignedAccess.h"
#include "src/Core/ReturnByValue.h"
#include "src/Core/NoAlias.h"
#include "src/Core/PlainObjectBase.h"
#include "src/Core/Matrix.h"
#include "src/Core/Array.h"
#include "src/Core/CwiseTernaryOp.h"
#include "src/Core/CwiseBinaryOp.h"
#include "src/Core/CwiseUnaryOp.h"
#include "src/Core/CwiseNullaryOp.h"
#include "src/Core/CwiseUnaryView.h"
#include "src/Core/SelfCwiseBinaryOp.h"
#include "src/Core/Dot.h"
#include "src/Core/StableNorm.h"
#include "src/Core/Stride.h"
#include "src/Core/MapBase.h"
#include "src/Core/Map.h"
#include "src/Core/Ref.h"
#include "src/Core/Block.h"
#include "src/Core/VectorBlock.h"
#include "src/Core/IndexedView.h"
#include "src/Core/Reshaped.h"
#include "src/Core/Transpose.h"
#include "src/Core/DiagonalMatrix.h"
#include "src/Core/Diagonal.h"
#include "src/Core/DiagonalProduct.h"
#include "src/Core/Redux.h"
#include "src/Core/Visitor.h"
#include "src/Core/Fuzzy.h"
#include "src/Core/Swap.h"
#include "src/Core/CommaInitializer.h"
#include "src/Core/GeneralProduct.h"
#include "src/Core/Solve.h"
#include "src/Core/Inverse.h"
#include "src/Core/SolverBase.h"
#include "src/Core/PermutationMatrix.h"
#include "src/Core/Transpositions.h"
#include "src/Core/TriangularMatrix.h"
#include "src/Core/SelfAdjointView.h"
#include "src/Core/products/GeneralBlockPanelKernel.h"
#include "src/Core/products/Parallelizer.h"
#include "src/Core/ProductEvaluators.h"
#include "src/Core/products/GeneralMatrixVector.h"
#include "src/Core/products/GeneralMatrixMatrix.h"
#include "src/Core/SolveTriangular.h"
#include "src/Core/products/GeneralMatrixMatrixTriangular.h"
#include "src/Core/products/SelfadjointMatrixVector.h"
#include "src/Core/products/SelfadjointMatrixMatrix.h"
#include "src/Core/products/SelfadjointProduct.h"
#include "src/Core/products/SelfadjointRank2Update.h"
#include "src/Core/products/TriangularMatrixVector.h"
#include "src/Core/products/TriangularMatrixMatrix.h"
#include "src/Core/products/TriangularSolverMatrix.h"
#include "src/Core/products/TriangularSolverVector.h"
#include "src/Core/BandMatrix.h"
#include "src/Core/CoreIterators.h"
#include "src/Core/ConditionEstimator.h"
#include "src/Core/BooleanRedux.h"
#include "src/Core/Select.h"
#include "src/Core/VectorwiseOp.h"
#include "src/Core/PartialReduxEvaluator.h"
#include "src/Core/Random.h"
#include "src/Core/Replicate.h"
#include "src/Core/Reverse.h"
#include "src/Core/ArrayWrapper.h"
#include "src/Core/StlIterators.h"
#ifdef EIGEN_USE_BLAS
#include "src/Core/products/GeneralMatrixMatrix_BLAS.h"
#include "src/Core/products/GeneralMatrixVector_BLAS.h"
#include "src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h"
#include "src/Core/products/SelfadjointMatrixMatrix_BLAS.h"
#include "src/Core/products/SelfadjointMatrixVector_BLAS.h"
#include "src/Core/products/TriangularMatrixMatrix_BLAS.h"
#include "src/Core/products/TriangularMatrixVector_BLAS.h"
#include "src/Core/products/TriangularSolverMatrix_BLAS.h"
#endif // EIGEN_USE_BLAS
#ifdef EIGEN_USE_MKL_VML
#include "src/Core/Assign_MKL.h"
#endif
#include "src/Core/GlobalFunctions.h"
#include "src/Core/util/ReenableStupidWarnings.h"
#endif // EIGEN_CORE_H

7
src/math/eigen/Dense Normal file
View File

@ -0,0 +1,7 @@
#include "Core"
#include "LU"
#include "Cholesky"
#include "QR"
#include "SVD"
#include "Geometry"
#include "Eigenvalues"

2
src/math/eigen/Eigen Normal file
View File

@ -0,0 +1,2 @@
#include "Dense"
#include "Sparse"

View File

@ -0,0 +1,61 @@
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
#ifndef EIGEN_EIGENVALUES_MODULE_H
#define EIGEN_EIGENVALUES_MODULE_H
#include "Core"
#include "Cholesky"
#include "Jacobi"
#include "Householder"
#include "LU"
#include "Geometry"
#include "src/Core/util/DisableStupidWarnings.h"
/** \defgroup Eigenvalues_Module Eigenvalues module
*
*
*
* This module mainly provides various eigenvalue solvers.
* This module also provides some MatrixBase methods, including:
* - MatrixBase::eigenvalues(),
* - MatrixBase::operatorNorm()
*
* \code
* #include <Eigen/Eigenvalues>
* \endcode
*/
#include "src/misc/RealSvd2x2.h"
#include "src/Eigenvalues/Tridiagonalization.h"
#include "src/Eigenvalues/RealSchur.h"
#include "src/Eigenvalues/EigenSolver.h"
#include "src/Eigenvalues/SelfAdjointEigenSolver.h"
#include "src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h"
#include "src/Eigenvalues/HessenbergDecomposition.h"
#include "src/Eigenvalues/ComplexSchur.h"
#include "src/Eigenvalues/ComplexEigenSolver.h"
#include "src/Eigenvalues/RealQZ.h"
#include "src/Eigenvalues/GeneralizedEigenSolver.h"
#include "src/Eigenvalues/MatrixBaseEigenvalues.h"
#ifdef EIGEN_USE_LAPACKE
#ifdef EIGEN_USE_MKL
#include "mkl_lapacke.h"
#else
#include "src/misc/lapacke.h"
#endif
#include "src/Eigenvalues/RealSchur_LAPACKE.h"
#include "src/Eigenvalues/ComplexSchur_LAPACKE.h"
#include "src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h"
#endif
#include "src/Core/util/ReenableStupidWarnings.h"
#endif // EIGEN_EIGENVALUES_MODULE_H
/* vim: set filetype=cpp et sw=2 ts=2 ai: */

60
src/math/eigen/Geometry Normal file
View File

@ -0,0 +1,60 @@
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
#ifndef EIGEN_GEOMETRY_MODULE_H
#define EIGEN_GEOMETRY_MODULE_H
#include "Core"
#include "SVD"
#include "LU"
#include <limits>
#include "src/Core/util/DisableStupidWarnings.h"
/** \defgroup Geometry_Module Geometry module
*
* This module provides support for:
* - fixed-size homogeneous transformations
* - translation, scaling, 2D and 3D rotations
* - \link Quaternion quaternions \endlink
* - cross products (\ref MatrixBase::cross, \ref MatrixBase::cross3)
* - orthognal vector generation (\ref MatrixBase::unitOrthogonal)
* - some linear components: \link ParametrizedLine parametrized-lines \endlink and \link Hyperplane hyperplanes \endlink
* - \link AlignedBox axis aligned bounding boxes \endlink
* - \link umeyama least-square transformation fitting \endlink
*
* \code
* #include <Eigen/Geometry>
* \endcode
*/
#include "src/Geometry/OrthoMethods.h"
#include "src/Geometry/EulerAngles.h"
#include "src/Geometry/Homogeneous.h"
#include "src/Geometry/RotationBase.h"
#include "src/Geometry/Rotation2D.h"
#include "src/Geometry/Quaternion.h"
#include "src/Geometry/AngleAxis.h"
#include "src/Geometry/Transform.h"
#include "src/Geometry/Translation.h"
#include "src/Geometry/Scaling.h"
#include "src/Geometry/Hyperplane.h"
#include "src/Geometry/ParametrizedLine.h"
#include "src/Geometry/AlignedBox.h"
#include "src/Geometry/Umeyama.h"
// Use the SSE optimized version whenever possible.
#if defined EIGEN_VECTORIZE_SSE
#include "src/Geometry/arch/Geometry_SSE.h"
#endif
#include "src/Core/util/ReenableStupidWarnings.h"
#endif // EIGEN_GEOMETRY_MODULE_H
/* vim: set filetype=cpp et sw=2 ts=2 ai: */

View File

@ -0,0 +1,30 @@
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
#ifndef EIGEN_HOUSEHOLDER_MODULE_H
#define EIGEN_HOUSEHOLDER_MODULE_H
#include "Core"
#include "src/Core/util/DisableStupidWarnings.h"
/** \defgroup Householder_Module Householder module
* This module provides Householder transformations.
*
* \code
* #include <Eigen/Householder>
* \endcode
*/
#include "src/Householder/Householder.h"
#include "src/Householder/HouseholderSequence.h"
#include "src/Householder/BlockHouseholder.h"
#include "src/Core/util/ReenableStupidWarnings.h"
#endif // EIGEN_HOUSEHOLDER_MODULE_H
/* vim: set filetype=cpp et sw=2 ts=2 ai: */

View File

@ -0,0 +1,48 @@
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
#ifndef EIGEN_ITERATIVELINEARSOLVERS_MODULE_H
#define EIGEN_ITERATIVELINEARSOLVERS_MODULE_H
#include "SparseCore"
#include "OrderingMethods"
#include "src/Core/util/DisableStupidWarnings.h"
/**
* \defgroup IterativeLinearSolvers_Module IterativeLinearSolvers module
*
* This module currently provides iterative methods to solve problems of the form \c A \c x = \c b, where \c A is a squared matrix, usually very large and sparse.
* Those solvers are accessible via the following classes:
* - ConjugateGradient for selfadjoint (hermitian) matrices,
* - LeastSquaresConjugateGradient for rectangular least-square problems,
* - BiCGSTAB for general square matrices.
*
* These iterative solvers are associated with some preconditioners:
* - IdentityPreconditioner - not really useful
* - DiagonalPreconditioner - also called Jacobi preconditioner, work very well on diagonal dominant matrices.
* - IncompleteLUT - incomplete LU factorization with dual thresholding
*
* Such problems can also be solved using the direct sparse decomposition modules: SparseCholesky, CholmodSupport, UmfPackSupport, SuperLUSupport.
*
\code
#include <Eigen/IterativeLinearSolvers>
\endcode
*/
#include "src/IterativeLinearSolvers/SolveWithGuess.h"
#include "src/IterativeLinearSolvers/IterativeSolverBase.h"
#include "src/IterativeLinearSolvers/BasicPreconditioners.h"
#include "src/IterativeLinearSolvers/ConjugateGradient.h"
#include "src/IterativeLinearSolvers/LeastSquareConjugateGradient.h"
#include "src/IterativeLinearSolvers/BiCGSTAB.h"
#include "src/IterativeLinearSolvers/IncompleteLUT.h"
#include "src/IterativeLinearSolvers/IncompleteCholesky.h"
#include "src/Core/util/ReenableStupidWarnings.h"
#endif // EIGEN_ITERATIVELINEARSOLVERS_MODULE_H

33
src/math/eigen/Jacobi Normal file
View File

@ -0,0 +1,33 @@
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
#ifndef EIGEN_JACOBI_MODULE_H
#define EIGEN_JACOBI_MODULE_H
#include "Core"
#include "src/Core/util/DisableStupidWarnings.h"
/** \defgroup Jacobi_Module Jacobi module
* This module provides Jacobi and Givens rotations.
*
* \code
* #include <Eigen/Jacobi>
* \endcode
*
* In addition to listed classes, it defines the two following MatrixBase methods to apply a Jacobi or Givens rotation:
* - MatrixBase::applyOnTheLeft()
* - MatrixBase::applyOnTheRight().
*/
#include "src/Jacobi/Jacobi.h"
#include "src/Core/util/ReenableStupidWarnings.h"
#endif // EIGEN_JACOBI_MODULE_H
/* vim: set filetype=cpp et sw=2 ts=2 ai: */

41
src/math/eigen/KLUSupport Normal file
View File

@ -0,0 +1,41 @@
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
#ifndef EIGEN_KLUSUPPORT_MODULE_H
#define EIGEN_KLUSUPPORT_MODULE_H
#include <Eigen/SparseCore>
#include <Eigen/src/Core/util/DisableStupidWarnings.h>
extern "C" {
#include <btf.h>
#include <klu.h>
}
/** \ingroup Support_modules
* \defgroup KLUSupport_Module KLUSupport module
*
* This module provides an interface to the KLU library which is part of the <a href="http://www.suitesparse.com">suitesparse</a> package.
* It provides the following factorization class:
* - class KLU: a sparse LU factorization, well-suited for circuit simulation.
*
* \code
* #include <Eigen/KLUSupport>
* \endcode
*
* In order to use this module, the klu and btf headers must be accessible from the include paths, and your binary must be linked to the klu library and its dependencies.
* The dependencies depend on how umfpack has been compiled.
* For a cmake based project, you can use our FindKLU.cmake module to help you in this task.
*
*/
#include "src/KLUSupport/KLUSupport.h"
#include <Eigen/src/Core/util/ReenableStupidWarnings.h>
#endif // EIGEN_KLUSUPPORT_MODULE_H

50
src/math/eigen/LU Normal file
View File

@ -0,0 +1,50 @@
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
#ifndef EIGEN_LU_MODULE_H
#define EIGEN_LU_MODULE_H
#include "Core"
#include "src/Core/util/DisableStupidWarnings.h"
/** \defgroup LU_Module LU module
* This module includes %LU decomposition and related notions such as matrix inversion and determinant.
* This module defines the following MatrixBase methods:
* - MatrixBase::inverse()
* - MatrixBase::determinant()
*
* \code
* #include <Eigen/LU>
* \endcode
*/
#include "src/misc/Kernel.h"
#include "src/misc/Image.h"
#include "src/LU/FullPivLU.h"
#include "src/LU/PartialPivLU.h"
#ifdef EIGEN_USE_LAPACKE
#ifdef EIGEN_USE_MKL
#include "mkl_lapacke.h"
#else
#include "src/misc/lapacke.h"
#endif
#include "src/LU/PartialPivLU_LAPACKE.h"
#endif
#include "src/LU/Determinant.h"
#include "src/LU/InverseImpl.h"
// Use the SSE optimized version whenever possible. At the moment the
// SSE version doesn't compile when AVX is enabled
#if defined EIGEN_VECTORIZE_SSE && !defined EIGEN_VECTORIZE_AVX
#include "src/LU/arch/Inverse_SSE.h"
#endif
#include "src/Core/util/ReenableStupidWarnings.h"
#endif // EIGEN_LU_MODULE_H
/* vim: set filetype=cpp et sw=2 ts=2 ai: */

View File

@ -0,0 +1,35 @@
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
#ifndef EIGEN_METISSUPPORT_MODULE_H
#define EIGEN_METISSUPPORT_MODULE_H
#include "SparseCore"
#include "src/Core/util/DisableStupidWarnings.h"
extern "C" {
#include <metis.h>
}
/** \ingroup Support_modules
* \defgroup MetisSupport_Module MetisSupport module
*
* \code
* #include <Eigen/MetisSupport>
* \endcode
* This module defines an interface to the METIS reordering package (http://glaros.dtc.umn.edu/gkhome/views/metis).
* It can be used just as any other built-in method as explained in \link OrderingMethods_Module here. \endlink
*/
#include "src/MetisSupport/MetisSupport.h"
#include "src/Core/util/ReenableStupidWarnings.h"
#endif // EIGEN_METISSUPPORT_MODULE_H

View File

@ -0,0 +1,70 @@
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
#ifndef EIGEN_ORDERINGMETHODS_MODULE_H
#define EIGEN_ORDERINGMETHODS_MODULE_H
#include "SparseCore"
#include "src/Core/util/DisableStupidWarnings.h"
/**
* \defgroup OrderingMethods_Module OrderingMethods module
*
* This module is currently for internal use only
*
* It defines various built-in and external ordering methods for sparse matrices.
* They are typically used to reduce the number of elements during
* the sparse matrix decomposition (LLT, LU, QR).
* Precisely, in a preprocessing step, a permutation matrix P is computed using
* those ordering methods and applied to the columns of the matrix.
* Using for instance the sparse Cholesky decomposition, it is expected that
* the nonzeros elements in LLT(A*P) will be much smaller than that in LLT(A).
*
*
* Usage :
* \code
* #include <Eigen/OrderingMethods>
* \endcode
*
* A simple usage is as a template parameter in the sparse decomposition classes :
*
* \code
* SparseLU<MatrixType, COLAMDOrdering<int> > solver;
* \endcode
*
* \code
* SparseQR<MatrixType, COLAMDOrdering<int> > solver;
* \endcode
*
* It is possible as well to call directly a particular ordering method for your own purpose,
* \code
* AMDOrdering<int> ordering;
* PermutationMatrix<Dynamic, Dynamic, int> perm;
* SparseMatrix<double> A;
* //Fill the matrix ...
*
* ordering(A, perm); // Call AMD
* \endcode
*
* \note Some of these methods (like AMD or METIS), need the sparsity pattern
* of the input matrix to be symmetric. When the matrix is structurally unsymmetric,
* Eigen computes internally the pattern of \f$A^T*A\f$ before calling the method.
* If your matrix is already symmetric (at leat in structure), you can avoid that
* by calling the method with a SelfAdjointView type.
*
* \code
* // Call the ordering on the pattern of the lower triangular matrix A
* ordering(A.selfadjointView<Lower>(), perm);
* \endcode
*/
#include "src/OrderingMethods/Amd.h"
#include "src/OrderingMethods/Ordering.h"
#include "src/Core/util/ReenableStupidWarnings.h"
#endif // EIGEN_ORDERINGMETHODS_MODULE_H

View File

@ -0,0 +1,49 @@
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
#ifndef EIGEN_PASTIXSUPPORT_MODULE_H
#define EIGEN_PASTIXSUPPORT_MODULE_H
#include "SparseCore"
#include "src/Core/util/DisableStupidWarnings.h"
extern "C" {
#include <pastix_nompi.h>
#include <pastix.h>
}
#ifdef complex
#undef complex
#endif
/** \ingroup Support_modules
* \defgroup PaStiXSupport_Module PaStiXSupport module
*
* This module provides an interface to the <a href="http://pastix.gforge.inria.fr/">PaSTiX</a> library.
* PaSTiX is a general \b supernodal, \b parallel and \b opensource sparse solver.
* It provides the two following main factorization classes:
* - class PastixLLT : a supernodal, parallel LLt Cholesky factorization.
* - class PastixLDLT: a supernodal, parallel LDLt Cholesky factorization.
* - class PastixLU : a supernodal, parallel LU factorization (optimized for a symmetric pattern).
*
* \code
* #include <Eigen/PaStiXSupport>
* \endcode
*
* In order to use this module, the PaSTiX headers must be accessible from the include paths, and your binary must be linked to the PaSTiX library and its dependencies.
* This wrapper resuires PaStiX version 5.x compiled without MPI support.
* The dependencies depend on how PaSTiX has been compiled.
* For a cmake based project, you can use our FindPaSTiX.cmake module to help you in this task.
*
*/
#include "src/PaStiXSupport/PaStiXSupport.h"
#include "src/Core/util/ReenableStupidWarnings.h"
#endif // EIGEN_PASTIXSUPPORT_MODULE_H

View File

@ -0,0 +1,35 @@
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
#ifndef EIGEN_PARDISOSUPPORT_MODULE_H
#define EIGEN_PARDISOSUPPORT_MODULE_H
#include "SparseCore"
#include "src/Core/util/DisableStupidWarnings.h"
#include <mkl_pardiso.h>
/** \ingroup Support_modules
* \defgroup PardisoSupport_Module PardisoSupport module
*
* This module brings support for the Intel(R) MKL PARDISO direct sparse solvers.
*
* \code
* #include <Eigen/PardisoSupport>
* \endcode
*
* In order to use this module, the MKL headers must be accessible from the include paths, and your binary must be linked to the MKL library and its dependencies.
* See this \ref TopicUsingIntelMKL "page" for more information on MKL-Eigen integration.
*
*/
#include "src/PardisoSupport/PardisoSupport.h"
#include "src/Core/util/ReenableStupidWarnings.h"
#endif // EIGEN_PARDISOSUPPORT_MODULE_H

51
src/math/eigen/QR Normal file
View File

@ -0,0 +1,51 @@
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
#ifndef EIGEN_QR_MODULE_H
#define EIGEN_QR_MODULE_H
#include "Core"
#include "Cholesky"
#include "Jacobi"
#include "Householder"
#include "src/Core/util/DisableStupidWarnings.h"
/** \defgroup QR_Module QR module
*
*
*
* This module provides various QR decompositions
* This module also provides some MatrixBase methods, including:
* - MatrixBase::householderQr()
* - MatrixBase::colPivHouseholderQr()
* - MatrixBase::fullPivHouseholderQr()
*
* \code
* #include <Eigen/QR>
* \endcode
*/
#include "src/QR/HouseholderQR.h"
#include "src/QR/FullPivHouseholderQR.h"
#include "src/QR/ColPivHouseholderQR.h"
#include "src/QR/CompleteOrthogonalDecomposition.h"
#ifdef EIGEN_USE_LAPACKE
#ifdef EIGEN_USE_MKL
#include "mkl_lapacke.h"
#else
#include "src/misc/lapacke.h"
#endif
#include "src/QR/HouseholderQR_LAPACKE.h"
#include "src/QR/ColPivHouseholderQR_LAPACKE.h"
#endif
#include "src/Core/util/ReenableStupidWarnings.h"
#endif // EIGEN_QR_MODULE_H
/* vim: set filetype=cpp et sw=2 ts=2 ai: */

View File

@ -0,0 +1,40 @@
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
#ifndef EIGEN_QTMALLOC_MODULE_H
#define EIGEN_QTMALLOC_MODULE_H
#include "Core"
#if (!EIGEN_MALLOC_ALREADY_ALIGNED)
#include "src/Core/util/DisableStupidWarnings.h"
void *qMalloc(std::size_t size)
{
return Eigen::internal::aligned_malloc(size);
}
void qFree(void *ptr)
{
Eigen::internal::aligned_free(ptr);
}
void *qRealloc(void *ptr, std::size_t size)
{
void* newPtr = Eigen::internal::aligned_malloc(size);
std::memcpy(newPtr, ptr, size);
Eigen::internal::aligned_free(ptr);
return newPtr;
}
#include "src/Core/util/ReenableStupidWarnings.h"
#endif
#endif // EIGEN_QTMALLOC_MODULE_H
/* vim: set filetype=cpp et sw=2 ts=2 ai: */

View File

@ -0,0 +1,34 @@
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
#ifndef EIGEN_SPQRSUPPORT_MODULE_H
#define EIGEN_SPQRSUPPORT_MODULE_H
#include "SparseCore"
#include "src/Core/util/DisableStupidWarnings.h"
#include "SuiteSparseQR.hpp"
/** \ingroup Support_modules
* \defgroup SPQRSupport_Module SuiteSparseQR module
*
* This module provides an interface to the SPQR library, which is part of the <a href="http://www.suitesparse.com">suitesparse</a> package.
*
* \code
* #include <Eigen/SPQRSupport>
* \endcode
*
* In order to use this module, the SPQR headers must be accessible from the include paths, and your binary must be linked to the SPQR library and its dependencies (Cholmod, AMD, COLAMD,...).
* For a cmake based project, you can use our FindSPQR.cmake and FindCholmod.Cmake modules
*
*/
#include "src/CholmodSupport/CholmodSupport.h"
#include "src/SPQRSupport/SuiteSparseQRSupport.h"
#endif

51
src/math/eigen/SVD Normal file
View File

@ -0,0 +1,51 @@
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
#ifndef EIGEN_SVD_MODULE_H
#define EIGEN_SVD_MODULE_H
#include "QR"
#include "Householder"
#include "Jacobi"
#include "src/Core/util/DisableStupidWarnings.h"
/** \defgroup SVD_Module SVD module
*
*
*
* This module provides SVD decomposition for matrices (both real and complex).
* Two decomposition algorithms are provided:
* - JacobiSVD implementing two-sided Jacobi iterations is numerically very accurate, fast for small matrices, but very slow for larger ones.
* - BDCSVD implementing a recursive divide & conquer strategy on top of an upper-bidiagonalization which remains fast for large problems.
* These decompositions are accessible via the respective classes and following MatrixBase methods:
* - MatrixBase::jacobiSvd()
* - MatrixBase::bdcSvd()
*
* \code
* #include <Eigen/SVD>
* \endcode
*/
#include "src/misc/RealSvd2x2.h"
#include "src/SVD/UpperBidiagonalization.h"
#include "src/SVD/SVDBase.h"
#include "src/SVD/JacobiSVD.h"
#include "src/SVD/BDCSVD.h"
#if defined(EIGEN_USE_LAPACKE) && !defined(EIGEN_USE_LAPACKE_STRICT)
#ifdef EIGEN_USE_MKL
#include "mkl_lapacke.h"
#else
#include "src/misc/lapacke.h"
#endif
#include "src/SVD/JacobiSVD_LAPACKE.h"
#endif
#include "src/Core/util/ReenableStupidWarnings.h"
#endif // EIGEN_SVD_MODULE_H
/* vim: set filetype=cpp et sw=2 ts=2 ai: */

34
src/math/eigen/Sparse Normal file
View File

@ -0,0 +1,34 @@
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
#ifndef EIGEN_SPARSE_MODULE_H
#define EIGEN_SPARSE_MODULE_H
/** \defgroup Sparse_Module Sparse meta-module
*
* Meta-module including all related modules:
* - \ref SparseCore_Module
* - \ref OrderingMethods_Module
* - \ref SparseCholesky_Module
* - \ref SparseLU_Module
* - \ref SparseQR_Module
* - \ref IterativeLinearSolvers_Module
*
\code
#include <Eigen/Sparse>
\endcode
*/
#include "SparseCore"
#include "OrderingMethods"
#include "SparseCholesky"
#include "SparseLU"
#include "SparseQR"
#include "IterativeLinearSolvers"
#endif // EIGEN_SPARSE_MODULE_H

View File

@ -0,0 +1,37 @@
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2013 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
#ifndef EIGEN_SPARSECHOLESKY_MODULE_H
#define EIGEN_SPARSECHOLESKY_MODULE_H
#include "SparseCore"
#include "OrderingMethods"
#include "src/Core/util/DisableStupidWarnings.h"
/**
* \defgroup SparseCholesky_Module SparseCholesky module
*
* This module currently provides two variants of the direct sparse Cholesky decomposition for selfadjoint (hermitian) matrices.
* Those decompositions are accessible via the following classes:
* - SimplicialLLt,
* - SimplicialLDLt
*
* Such problems can also be solved using the ConjugateGradient solver from the IterativeLinearSolvers module.
*
* \code
* #include <Eigen/SparseCholesky>
* \endcode
*/
#include "src/SparseCholesky/SimplicialCholesky.h"
#include "src/SparseCholesky/SimplicialCholesky_impl.h"
#include "src/Core/util/ReenableStupidWarnings.h"
#endif // EIGEN_SPARSECHOLESKY_MODULE_H

69
src/math/eigen/SparseCore Normal file
View File

@ -0,0 +1,69 @@
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
#ifndef EIGEN_SPARSECORE_MODULE_H
#define EIGEN_SPARSECORE_MODULE_H
#include "Core"
#include "src/Core/util/DisableStupidWarnings.h"
#include <vector>
#include <map>
#include <cstdlib>
#include <cstring>
#include <algorithm>
/**
* \defgroup SparseCore_Module SparseCore module
*
* This module provides a sparse matrix representation, and basic associated matrix manipulations
* and operations.
*
* See the \ref TutorialSparse "Sparse tutorial"
*
* \code
* #include <Eigen/SparseCore>
* \endcode
*
* This module depends on: Core.
*/
#include "src/SparseCore/SparseUtil.h"
#include "src/SparseCore/SparseMatrixBase.h"
#include "src/SparseCore/SparseAssign.h"
#include "src/SparseCore/CompressedStorage.h"
#include "src/SparseCore/AmbiVector.h"
#include "src/SparseCore/SparseCompressedBase.h"
#include "src/SparseCore/SparseMatrix.h"
#include "src/SparseCore/SparseMap.h"
#include "src/SparseCore/MappedSparseMatrix.h"
#include "src/SparseCore/SparseVector.h"
#include "src/SparseCore/SparseRef.h"
#include "src/SparseCore/SparseCwiseUnaryOp.h"
#include "src/SparseCore/SparseCwiseBinaryOp.h"
#include "src/SparseCore/SparseTranspose.h"
#include "src/SparseCore/SparseBlock.h"
#include "src/SparseCore/SparseDot.h"
#include "src/SparseCore/SparseRedux.h"
#include "src/SparseCore/SparseView.h"
#include "src/SparseCore/SparseDiagonalProduct.h"
#include "src/SparseCore/ConservativeSparseSparseProduct.h"
#include "src/SparseCore/SparseSparseProductWithPruning.h"
#include "src/SparseCore/SparseProduct.h"
#include "src/SparseCore/SparseDenseProduct.h"
#include "src/SparseCore/SparseSelfAdjointView.h"
#include "src/SparseCore/SparseTriangularView.h"
#include "src/SparseCore/TriangularSolver.h"
#include "src/SparseCore/SparsePermutation.h"
#include "src/SparseCore/SparseFuzzy.h"
#include "src/SparseCore/SparseSolverBase.h"
#include "src/Core/util/ReenableStupidWarnings.h"
#endif // EIGEN_SPARSECORE_MODULE_H

50
src/math/eigen/SparseLU Normal file
View File

@ -0,0 +1,50 @@
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2012 Désiré Nuentsa-Wakam <desire.nuentsa_wakam@inria.fr>
// Copyright (C) 2012 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
#ifndef EIGEN_SPARSELU_MODULE_H
#define EIGEN_SPARSELU_MODULE_H
#include "SparseCore"
/**
* \defgroup SparseLU_Module SparseLU module
* This module defines a supernodal factorization of general sparse matrices.
* The code is fully optimized for supernode-panel updates with specialized kernels.
* Please, see the documentation of the SparseLU class for more details.
*/
// Ordering interface
#include "OrderingMethods"
#include "src/Core/util/DisableStupidWarnings.h"
#include "src/SparseLU/SparseLU_gemm_kernel.h"
#include "src/SparseLU/SparseLU_Structs.h"
#include "src/SparseLU/SparseLU_SupernodalMatrix.h"
#include "src/SparseLU/SparseLUImpl.h"
#include "src/SparseCore/SparseColEtree.h"
#include "src/SparseLU/SparseLU_Memory.h"
#include "src/SparseLU/SparseLU_heap_relax_snode.h"
#include "src/SparseLU/SparseLU_relax_snode.h"
#include "src/SparseLU/SparseLU_pivotL.h"
#include "src/SparseLU/SparseLU_panel_dfs.h"
#include "src/SparseLU/SparseLU_kernel_bmod.h"
#include "src/SparseLU/SparseLU_panel_bmod.h"
#include "src/SparseLU/SparseLU_column_dfs.h"
#include "src/SparseLU/SparseLU_column_bmod.h"
#include "src/SparseLU/SparseLU_copy_to_ucol.h"
#include "src/SparseLU/SparseLU_pruneL.h"
#include "src/SparseLU/SparseLU_Utils.h"
#include "src/SparseLU/SparseLU.h"
#include "src/Core/util/ReenableStupidWarnings.h"
#endif // EIGEN_SPARSELU_MODULE_H

36
src/math/eigen/SparseQR Normal file
View File

@ -0,0 +1,36 @@
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
#ifndef EIGEN_SPARSEQR_MODULE_H
#define EIGEN_SPARSEQR_MODULE_H
#include "SparseCore"
#include "OrderingMethods"
#include "src/Core/util/DisableStupidWarnings.h"
/** \defgroup SparseQR_Module SparseQR module
* \brief Provides QR decomposition for sparse matrices
*
* This module provides a simplicial version of the left-looking Sparse QR decomposition.
* The columns of the input matrix should be reordered to limit the fill-in during the
* decomposition. Built-in methods (COLAMD, AMD) or external methods (METIS) can be used to this end.
* See the \link OrderingMethods_Module OrderingMethods\endlink module for the list
* of built-in and external ordering methods.
*
* \code
* #include <Eigen/SparseQR>
* \endcode
*
*
*/
#include "src/SparseCore/SparseColEtree.h"
#include "src/SparseQR/SparseQR.h"
#include "src/Core/util/ReenableStupidWarnings.h"
#endif

27
src/math/eigen/StdDeque Normal file
View File

@ -0,0 +1,27 @@
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2009 Hauke Heibel <hauke.heibel@googlemail.com>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
#ifndef EIGEN_STDDEQUE_MODULE_H
#define EIGEN_STDDEQUE_MODULE_H
#include "Core"
#include <deque>
#if EIGEN_COMP_MSVC && EIGEN_OS_WIN64 && (EIGEN_MAX_STATIC_ALIGN_BYTES<=16) /* MSVC auto aligns up to 16 bytes in 64 bit builds */
#define EIGEN_DEFINE_STL_DEQUE_SPECIALIZATION(...)
#else
#include "src/StlSupport/StdDeque.h"
#endif
#endif // EIGEN_STDDEQUE_MODULE_H

26
src/math/eigen/StdList Normal file
View File

@ -0,0 +1,26 @@
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2009 Hauke Heibel <hauke.heibel@googlemail.com>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
#ifndef EIGEN_STDLIST_MODULE_H
#define EIGEN_STDLIST_MODULE_H
#include "Core"
#include <list>
#if EIGEN_COMP_MSVC && EIGEN_OS_WIN64 && (EIGEN_MAX_STATIC_ALIGN_BYTES<=16) /* MSVC auto aligns up to 16 bytes in 64 bit builds */
#define EIGEN_DEFINE_STL_LIST_SPECIALIZATION(...)
#else
#include "src/StlSupport/StdList.h"
#endif
#endif // EIGEN_STDLIST_MODULE_H

27
src/math/eigen/StdVector Normal file
View File

@ -0,0 +1,27 @@
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2009 Hauke Heibel <hauke.heibel@googlemail.com>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
#ifndef EIGEN_STDVECTOR_MODULE_H
#define EIGEN_STDVECTOR_MODULE_H
#include "Core"
#include <vector>
#if EIGEN_COMP_MSVC && EIGEN_OS_WIN64 && (EIGEN_MAX_STATIC_ALIGN_BYTES<=16) /* MSVC auto aligns up to 16 bytes in 64 bit builds */
#define EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION(...)
#else
#include "src/StlSupport/StdVector.h"
#endif
#endif // EIGEN_STDVECTOR_MODULE_H

View File

@ -0,0 +1,64 @@
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
#ifndef EIGEN_SUPERLUSUPPORT_MODULE_H
#define EIGEN_SUPERLUSUPPORT_MODULE_H
#include "SparseCore"
#include "src/Core/util/DisableStupidWarnings.h"
#ifdef EMPTY
#define EIGEN_EMPTY_WAS_ALREADY_DEFINED
#endif
typedef int int_t;
#include <slu_Cnames.h>
#include <supermatrix.h>
#include <slu_util.h>
// slu_util.h defines a preprocessor token named EMPTY which is really polluting,
// so we remove it in favor of a SUPERLU_EMPTY token.
// If EMPTY was already defined then we don't undef it.
#if defined(EIGEN_EMPTY_WAS_ALREADY_DEFINED)
# undef EIGEN_EMPTY_WAS_ALREADY_DEFINED
#elif defined(EMPTY)
# undef EMPTY
#endif
#define SUPERLU_EMPTY (-1)
namespace Eigen { struct SluMatrix; }
/** \ingroup Support_modules
* \defgroup SuperLUSupport_Module SuperLUSupport module
*
* This module provides an interface to the <a href="http://crd-legacy.lbl.gov/~xiaoye/SuperLU/">SuperLU</a> library.
* It provides the following factorization class:
* - class SuperLU: a supernodal sequential LU factorization.
* - class SuperILU: a supernodal sequential incomplete LU factorization (to be used as a preconditioner for iterative methods).
*
* \warning This wrapper requires at least versions 4.0 of SuperLU. The 3.x versions are not supported.
*
* \warning When including this module, you have to use SUPERLU_EMPTY instead of EMPTY which is no longer defined because it is too polluting.
*
* \code
* #include <Eigen/SuperLUSupport>
* \endcode
*
* In order to use this module, the superlu headers must be accessible from the include paths, and your binary must be linked to the superlu library and its dependencies.
* The dependencies depend on how superlu has been compiled.
* For a cmake based project, you can use our FindSuperLU.cmake module to help you in this task.
*
*/
#include "src/SuperLUSupport/SuperLUSupport.h"
#include "src/Core/util/ReenableStupidWarnings.h"
#endif // EIGEN_SUPERLUSUPPORT_MODULE_H

View File

@ -0,0 +1,40 @@
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
#ifndef EIGEN_UMFPACKSUPPORT_MODULE_H
#define EIGEN_UMFPACKSUPPORT_MODULE_H
#include "SparseCore"
#include "src/Core/util/DisableStupidWarnings.h"
extern "C" {
#include <umfpack.h>
}
/** \ingroup Support_modules
* \defgroup UmfPackSupport_Module UmfPackSupport module
*
* This module provides an interface to the UmfPack library which is part of the <a href="http://www.suitesparse.com">suitesparse</a> package.
* It provides the following factorization class:
* - class UmfPackLU: a multifrontal sequential LU factorization.
*
* \code
* #include <Eigen/UmfPackSupport>
* \endcode
*
* In order to use this module, the umfpack headers must be accessible from the include paths, and your binary must be linked to the umfpack library and its dependencies.
* The dependencies depend on how umfpack has been compiled.
* For a cmake based project, you can use our FindUmfPack.cmake module to help you in this task.
*
*/
#include "src/UmfPackSupport/UmfPackSupport.h"
#include "src/Core/util/ReenableStupidWarnings.h"
#endif // EIGEN_UMFPACKSUPPORT_MODULE_H

Some files were not shown because too many files have changed in this diff Show More