添加有限状态机实现

master
a7458969 2020-03-22 23:25:09 +08:00
parent 5be294e7fc
commit ce5a0b20e2
6 changed files with 1579 additions and 308 deletions

1
.gitignore vendored
View File

@ -1,2 +1,3 @@
.idea/
obj/
src/net/新建文本文档.txt

View File

@ -12,310 +12,10 @@
</component>
<component name="ChangeListManager">
<list default="true" id="0facce0d-c642-4d80-b2fb-daf5f3e68dff" name="Default Changelist" comment="">
<change beforePath="$PROJECT_DIR$/.gitignore" beforeDir="false" afterPath="$PROJECT_DIR$/.gitignore" afterDir="false" />
<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/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$/README.md" beforeDir="false" afterPath="$PROJECT_DIR$/README.md" 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" />
@ -338,7 +38,7 @@
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
<property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
<property name="nodejs_npm_path_reset_for_default_project" value="true" />
<property name="settings.editor.selected.configurable" value="CPPToolchains" />
<property name="settings.editor.selected.configurable" value="reference.settingsdialog.IDE.editor.colors.Color Scheme Font" />
</component>
<component name="RecentsManager">
<key name="CopyFile.RECENT_KEYS">
@ -399,6 +99,8 @@
<workItem from="1580647916171" duration="1188000" />
<workItem from="1580657914602" duration="599000" />
<workItem from="1581305036574" duration="7128000" />
<workItem from="1581558579086" duration="643000" />
<workItem from="1583501235151" duration="617000" />
</task>
<servers />
</component>

View File

@ -5,6 +5,8 @@
单例
观察者
适配器模式
有限状态机
3. 线程类。
4. 调试工具如打印内存为asii。
5. 网络工具包含了http客户端tcp客户端。

1545
inc/glad/src/glad.c Normal file

File diff suppressed because it is too large Load Diff

View File

@ -7,18 +7,15 @@
#include <memory>
#include <vector>
#include <QMutex>
using namespace std;
template <typename T> class Singletone
{
public:
static T* Instance(){
mMux.lock();
if(mInstance.get() == nullptr){
mInstance = std::unique_ptr<T>(new T);
}
mMux.unlock();
return mInstance.get();
}
private:
@ -26,12 +23,10 @@ private:
~Singletone<T>(){};
Singletone &operator=(const Singletone&){};
static unique_ptr<T> mInstance;
static QMutex mMux;
};
template <typename T>
unique_ptr<T> Singletone<T>::mInstance;
template <typename T>
QMutex Singletone<T>:: mMux;
#define DECLARE_SINGLETON(type) \
friend class unique_ptr<type> ; \

26
src/pattern/fsm.h Normal file
View File

@ -0,0 +1,26 @@
#ifndef __FSM__
#define __FSM__
#include <iostream>
using namespace std;
// This is a state machine implement in cpp template
template <typename T1,typename T2>
class StateMachine{
public:
StateMachine(){
std::cout<<"call first";
}
virtual void SetStateLink(){
return;
}
virtual int UpdateState(T2){
return -100;
}; //update a state
T1 CurrentState(){
return -100;
}
protected:
T1 mState;
};
#endif