@smake/eigen 1.0.2 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (287) hide show
  1. package/README.md +1 -1
  2. package/eigen/COPYING.APACHE +203 -0
  3. package/eigen/COPYING.BSD +26 -0
  4. package/eigen/COPYING.GPL +674 -0
  5. package/eigen/COPYING.LGPL +502 -0
  6. package/eigen/COPYING.MINPACK +51 -0
  7. package/eigen/COPYING.MPL2 +373 -0
  8. package/eigen/COPYING.README +18 -0
  9. package/eigen/Eigen/Cholesky +0 -1
  10. package/eigen/Eigen/Core +108 -266
  11. package/eigen/Eigen/Eigenvalues +0 -1
  12. package/eigen/Eigen/Geometry +3 -6
  13. package/eigen/Eigen/Householder +0 -1
  14. package/eigen/Eigen/Jacobi +0 -1
  15. package/eigen/Eigen/KLUSupport +41 -0
  16. package/eigen/Eigen/LU +2 -5
  17. package/eigen/Eigen/OrderingMethods +0 -3
  18. package/eigen/Eigen/PaStiXSupport +1 -0
  19. package/eigen/Eigen/PardisoSupport +0 -0
  20. package/eigen/Eigen/QR +0 -1
  21. package/eigen/Eigen/QtAlignedMalloc +0 -1
  22. package/eigen/Eigen/SVD +0 -1
  23. package/eigen/Eigen/Sparse +0 -2
  24. package/eigen/Eigen/SparseCholesky +0 -8
  25. package/eigen/Eigen/SparseLU +4 -0
  26. package/eigen/Eigen/src/Cholesky/LDLT.h +42 -27
  27. package/eigen/Eigen/src/Cholesky/LLT.h +39 -23
  28. package/eigen/Eigen/src/CholmodSupport/CholmodSupport.h +90 -47
  29. package/eigen/Eigen/src/Core/ArithmeticSequence.h +413 -0
  30. package/eigen/Eigen/src/Core/Array.h +99 -11
  31. package/eigen/Eigen/src/Core/ArrayBase.h +1 -1
  32. package/eigen/Eigen/src/Core/ArrayWrapper.h +21 -21
  33. package/eigen/Eigen/src/Core/Assign.h +1 -1
  34. package/eigen/Eigen/src/Core/AssignEvaluator.h +125 -50
  35. package/eigen/Eigen/src/Core/Assign_MKL.h +10 -10
  36. package/eigen/Eigen/src/Core/BandMatrix.h +16 -16
  37. package/eigen/Eigen/src/Core/Block.h +56 -60
  38. package/eigen/Eigen/src/Core/BooleanRedux.h +29 -31
  39. package/eigen/Eigen/src/Core/CommaInitializer.h +7 -3
  40. package/eigen/Eigen/src/Core/CoreEvaluators.h +325 -272
  41. package/eigen/Eigen/src/Core/CoreIterators.h +5 -0
  42. package/eigen/Eigen/src/Core/CwiseBinaryOp.h +21 -22
  43. package/eigen/Eigen/src/Core/CwiseNullaryOp.h +153 -18
  44. package/eigen/Eigen/src/Core/CwiseUnaryOp.h +6 -6
  45. package/eigen/Eigen/src/Core/CwiseUnaryView.h +12 -10
  46. package/eigen/Eigen/src/Core/DenseBase.h +128 -39
  47. package/eigen/Eigen/src/Core/DenseCoeffsBase.h +25 -21
  48. package/eigen/Eigen/src/Core/DenseStorage.h +150 -68
  49. package/eigen/Eigen/src/Core/Diagonal.h +21 -23
  50. package/eigen/Eigen/src/Core/DiagonalMatrix.h +50 -2
  51. package/eigen/Eigen/src/Core/DiagonalProduct.h +1 -1
  52. package/eigen/Eigen/src/Core/Dot.h +10 -10
  53. package/eigen/Eigen/src/Core/EigenBase.h +10 -9
  54. package/eigen/Eigen/src/Core/ForceAlignedAccess.h +8 -4
  55. package/eigen/Eigen/src/Core/Fuzzy.h +3 -3
  56. package/eigen/Eigen/src/Core/GeneralProduct.h +20 -10
  57. package/eigen/Eigen/src/Core/GenericPacketMath.h +597 -147
  58. package/eigen/Eigen/src/Core/GlobalFunctions.h +40 -33
  59. package/eigen/Eigen/src/Core/IO.h +40 -7
  60. package/eigen/Eigen/src/Core/IndexedView.h +237 -0
  61. package/eigen/Eigen/src/Core/Inverse.h +9 -10
  62. package/eigen/Eigen/src/Core/Map.h +7 -7
  63. package/eigen/Eigen/src/Core/MapBase.h +5 -3
  64. package/eigen/Eigen/src/Core/MathFunctions.h +756 -120
  65. package/eigen/Eigen/src/Core/MathFunctionsImpl.h +118 -19
  66. package/eigen/Eigen/src/Core/Matrix.h +131 -25
  67. package/eigen/Eigen/src/Core/MatrixBase.h +19 -2
  68. package/eigen/Eigen/src/Core/NestByValue.h +25 -50
  69. package/eigen/Eigen/src/Core/NoAlias.h +4 -3
  70. package/eigen/Eigen/src/Core/NumTraits.h +107 -20
  71. package/eigen/Eigen/src/Core/PartialReduxEvaluator.h +232 -0
  72. package/eigen/Eigen/src/Core/PermutationMatrix.h +3 -3
  73. package/eigen/Eigen/src/Core/PlainObjectBase.h +145 -54
  74. package/eigen/Eigen/src/Core/Product.h +30 -25
  75. package/eigen/Eigen/src/Core/ProductEvaluators.h +183 -142
  76. package/eigen/Eigen/src/Core/Random.h +37 -1
  77. package/eigen/Eigen/src/Core/Redux.h +180 -170
  78. package/eigen/Eigen/src/Core/Ref.h +118 -21
  79. package/eigen/Eigen/src/Core/Replicate.h +8 -8
  80. package/eigen/Eigen/src/Core/Reshaped.h +454 -0
  81. package/eigen/Eigen/src/Core/ReturnByValue.h +7 -5
  82. package/eigen/Eigen/src/Core/Reverse.h +18 -12
  83. package/eigen/Eigen/src/Core/Select.h +8 -6
  84. package/eigen/Eigen/src/Core/SelfAdjointView.h +33 -20
  85. package/eigen/Eigen/src/Core/Solve.h +14 -14
  86. package/eigen/Eigen/src/Core/SolveTriangular.h +13 -13
  87. package/eigen/Eigen/src/Core/SolverBase.h +41 -3
  88. package/eigen/Eigen/src/Core/StableNorm.h +100 -70
  89. package/eigen/Eigen/src/Core/StlIterators.h +463 -0
  90. package/eigen/Eigen/src/Core/Stride.h +9 -4
  91. package/eigen/Eigen/src/Core/Swap.h +5 -4
  92. package/eigen/Eigen/src/Core/Transpose.h +86 -27
  93. package/eigen/Eigen/src/Core/Transpositions.h +26 -8
  94. package/eigen/Eigen/src/Core/TriangularMatrix.h +88 -72
  95. package/eigen/Eigen/src/Core/VectorBlock.h +5 -5
  96. package/eigen/Eigen/src/Core/VectorwiseOp.h +159 -70
  97. package/eigen/Eigen/src/Core/Visitor.h +137 -29
  98. package/eigen/Eigen/src/Core/arch/AVX/Complex.h +50 -129
  99. package/eigen/Eigen/src/Core/arch/AVX/MathFunctions.h +126 -337
  100. package/eigen/Eigen/src/Core/arch/AVX/PacketMath.h +1092 -155
  101. package/eigen/Eigen/src/Core/arch/AVX/TypeCasting.h +65 -1
  102. package/eigen/Eigen/src/Core/arch/AVX512/Complex.h +422 -0
  103. package/eigen/Eigen/src/Core/arch/AVX512/MathFunctions.h +186 -213
  104. package/eigen/Eigen/src/Core/arch/AVX512/PacketMath.h +1250 -252
  105. package/eigen/Eigen/src/Core/arch/AVX512/TypeCasting.h +89 -0
  106. package/eigen/Eigen/src/Core/arch/AltiVec/Complex.h +152 -165
  107. package/eigen/Eigen/src/Core/arch/AltiVec/MathFunctions.h +19 -251
  108. package/eigen/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +2937 -0
  109. package/eigen/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +221 -0
  110. package/eigen/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +629 -0
  111. package/eigen/Eigen/src/Core/arch/AltiVec/PacketMath.h +2042 -392
  112. package/eigen/Eigen/src/Core/arch/CUDA/Complex.h +235 -80
  113. package/eigen/Eigen/src/Core/arch/Default/BFloat16.h +700 -0
  114. package/eigen/Eigen/src/Core/arch/Default/ConjHelper.h +102 -14
  115. package/eigen/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +1649 -0
  116. package/eigen/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +110 -0
  117. package/eigen/Eigen/src/Core/arch/Default/Half.h +942 -0
  118. package/eigen/Eigen/src/Core/arch/Default/Settings.h +1 -1
  119. package/eigen/Eigen/src/Core/arch/Default/TypeCasting.h +120 -0
  120. package/eigen/Eigen/src/Core/arch/{CUDA → GPU}/MathFunctions.h +16 -4
  121. package/eigen/Eigen/src/Core/arch/GPU/PacketMath.h +1685 -0
  122. package/eigen/Eigen/src/Core/arch/GPU/TypeCasting.h +80 -0
  123. package/eigen/Eigen/src/Core/arch/HIP/hcc/math_constants.h +23 -0
  124. package/eigen/Eigen/src/Core/arch/MSA/Complex.h +648 -0
  125. package/eigen/Eigen/src/Core/arch/MSA/MathFunctions.h +387 -0
  126. package/eigen/Eigen/src/Core/arch/MSA/PacketMath.h +1233 -0
  127. package/eigen/Eigen/src/Core/arch/NEON/Complex.h +313 -219
  128. package/eigen/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +183 -0
  129. package/eigen/Eigen/src/Core/arch/NEON/MathFunctions.h +54 -70
  130. package/eigen/Eigen/src/Core/arch/NEON/PacketMath.h +4376 -549
  131. package/eigen/Eigen/src/Core/arch/NEON/TypeCasting.h +1419 -0
  132. package/eigen/Eigen/src/Core/arch/SSE/Complex.h +59 -179
  133. package/eigen/Eigen/src/Core/arch/SSE/MathFunctions.h +65 -428
  134. package/eigen/Eigen/src/Core/arch/SSE/PacketMath.h +893 -283
  135. package/eigen/Eigen/src/Core/arch/SSE/TypeCasting.h +65 -0
  136. package/eigen/Eigen/src/Core/arch/SVE/MathFunctions.h +44 -0
  137. package/eigen/Eigen/src/Core/arch/SVE/PacketMath.h +752 -0
  138. package/eigen/Eigen/src/Core/arch/SVE/TypeCasting.h +49 -0
  139. package/eigen/Eigen/src/Core/arch/SYCL/InteropHeaders.h +232 -0
  140. package/eigen/Eigen/src/Core/arch/SYCL/MathFunctions.h +301 -0
  141. package/eigen/Eigen/src/Core/arch/SYCL/PacketMath.h +670 -0
  142. package/eigen/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h +694 -0
  143. package/eigen/Eigen/src/Core/arch/SYCL/TypeCasting.h +85 -0
  144. package/eigen/Eigen/src/Core/arch/ZVector/Complex.h +212 -183
  145. package/eigen/Eigen/src/Core/arch/ZVector/MathFunctions.h +101 -5
  146. package/eigen/Eigen/src/Core/arch/ZVector/PacketMath.h +510 -395
  147. package/eigen/Eigen/src/Core/functors/AssignmentFunctors.h +11 -2
  148. package/eigen/Eigen/src/Core/functors/BinaryFunctors.h +112 -46
  149. package/eigen/Eigen/src/Core/functors/NullaryFunctors.h +31 -30
  150. package/eigen/Eigen/src/Core/functors/StlFunctors.h +32 -2
  151. package/eigen/Eigen/src/Core/functors/UnaryFunctors.h +354 -15
  152. package/eigen/Eigen/src/Core/products/GeneralBlockPanelKernel.h +1073 -585
  153. package/eigen/Eigen/src/Core/products/GeneralMatrixMatrix.h +29 -7
  154. package/eigen/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +4 -4
  155. package/eigen/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +1 -1
  156. package/eigen/Eigen/src/Core/products/GeneralMatrixVector.h +382 -483
  157. package/eigen/Eigen/src/Core/products/Parallelizer.h +23 -9
  158. package/eigen/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +23 -6
  159. package/eigen/Eigen/src/Core/products/SelfadjointMatrixVector.h +8 -6
  160. package/eigen/Eigen/src/Core/products/SelfadjointProduct.h +2 -2
  161. package/eigen/Eigen/src/Core/products/SelfadjointRank2Update.h +5 -4
  162. package/eigen/Eigen/src/Core/products/TriangularMatrixMatrix.h +3 -3
  163. package/eigen/Eigen/src/Core/products/TriangularSolverMatrix.h +5 -3
  164. package/eigen/Eigen/src/Core/products/TriangularSolverVector.h +13 -10
  165. package/eigen/Eigen/src/Core/util/BlasUtil.h +208 -124
  166. package/eigen/Eigen/src/Core/util/ConfigureVectorization.h +512 -0
  167. package/eigen/Eigen/src/Core/util/Constants.h +25 -9
  168. package/eigen/Eigen/src/Core/util/DisableStupidWarnings.h +14 -2
  169. package/eigen/Eigen/src/Core/util/ForwardDeclarations.h +28 -4
  170. package/eigen/Eigen/src/Core/util/IndexedViewHelper.h +186 -0
  171. package/eigen/Eigen/src/Core/util/IntegralConstant.h +272 -0
  172. package/eigen/Eigen/src/Core/util/MKL_support.h +8 -1
  173. package/eigen/Eigen/src/Core/util/Macros.h +661 -250
  174. package/eigen/Eigen/src/Core/util/Memory.h +222 -52
  175. package/eigen/Eigen/src/Core/util/Meta.h +349 -105
  176. package/eigen/Eigen/src/Core/util/ReshapedHelper.h +51 -0
  177. package/eigen/Eigen/src/Core/util/StaticAssert.h +8 -5
  178. package/eigen/Eigen/src/Core/util/SymbolicIndex.h +293 -0
  179. package/eigen/Eigen/src/Core/util/XprHelper.h +48 -30
  180. package/eigen/Eigen/src/Eigenvalues/ComplexEigenSolver.h +1 -1
  181. package/eigen/Eigen/src/Eigenvalues/ComplexSchur.h +1 -1
  182. package/eigen/Eigen/src/Eigenvalues/EigenSolver.h +2 -2
  183. package/eigen/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +1 -1
  184. package/eigen/Eigen/src/Eigenvalues/HessenbergDecomposition.h +2 -2
  185. package/eigen/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +2 -2
  186. package/eigen/Eigen/src/Eigenvalues/RealQZ.h +9 -6
  187. package/eigen/Eigen/src/Eigenvalues/RealSchur.h +10 -5
  188. package/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +75 -42
  189. package/eigen/Eigen/src/Eigenvalues/Tridiagonalization.h +20 -15
  190. package/eigen/Eigen/src/Geometry/AlignedBox.h +99 -5
  191. package/eigen/Eigen/src/Geometry/AngleAxis.h +4 -4
  192. package/eigen/Eigen/src/Geometry/EulerAngles.h +3 -3
  193. package/eigen/Eigen/src/Geometry/Homogeneous.h +15 -11
  194. package/eigen/Eigen/src/Geometry/Hyperplane.h +1 -1
  195. package/eigen/Eigen/src/Geometry/OrthoMethods.h +3 -2
  196. package/eigen/Eigen/src/Geometry/ParametrizedLine.h +39 -2
  197. package/eigen/Eigen/src/Geometry/Quaternion.h +52 -14
  198. package/eigen/Eigen/src/Geometry/Rotation2D.h +3 -3
  199. package/eigen/Eigen/src/Geometry/Scaling.h +22 -4
  200. package/eigen/Eigen/src/Geometry/Transform.h +86 -65
  201. package/eigen/Eigen/src/Geometry/Translation.h +6 -6
  202. package/eigen/Eigen/src/Geometry/arch/Geometry_SIMD.h +168 -0
  203. package/eigen/Eigen/src/Householder/BlockHouseholder.h +9 -2
  204. package/eigen/Eigen/src/Householder/Householder.h +8 -4
  205. package/eigen/Eigen/src/Householder/HouseholderSequence.h +123 -48
  206. package/eigen/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +15 -15
  207. package/eigen/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +7 -23
  208. package/eigen/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +5 -22
  209. package/eigen/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +41 -47
  210. package/eigen/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +51 -60
  211. package/eigen/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +70 -20
  212. package/eigen/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +2 -20
  213. package/eigen/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +11 -9
  214. package/eigen/Eigen/src/Jacobi/Jacobi.h +31 -10
  215. package/eigen/Eigen/src/KLUSupport/KLUSupport.h +358 -0
  216. package/eigen/Eigen/src/LU/Determinant.h +35 -19
  217. package/eigen/Eigen/src/LU/FullPivLU.h +29 -43
  218. package/eigen/Eigen/src/LU/InverseImpl.h +25 -8
  219. package/eigen/Eigen/src/LU/PartialPivLU.h +67 -57
  220. package/eigen/Eigen/src/LU/arch/InverseSize4.h +351 -0
  221. package/eigen/Eigen/src/OrderingMethods/Amd.h +7 -17
  222. package/eigen/Eigen/src/OrderingMethods/Eigen_Colamd.h +297 -277
  223. package/eigen/Eigen/src/OrderingMethods/Ordering.h +6 -10
  224. package/eigen/Eigen/src/PaStiXSupport/PaStiXSupport.h +1 -1
  225. package/eigen/Eigen/src/PardisoSupport/PardisoSupport.h +10 -9
  226. package/eigen/Eigen/src/QR/ColPivHouseholderQR.h +41 -20
  227. package/eigen/Eigen/src/QR/CompleteOrthogonalDecomposition.h +100 -27
  228. package/eigen/Eigen/src/QR/FullPivHouseholderQR.h +59 -22
  229. package/eigen/Eigen/src/QR/HouseholderQR.h +48 -23
  230. package/eigen/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +25 -3
  231. package/eigen/Eigen/src/SVD/BDCSVD.h +137 -48
  232. package/eigen/Eigen/src/SVD/JacobiSVD.h +22 -14
  233. package/eigen/Eigen/src/SVD/SVDBase.h +82 -21
  234. package/eigen/Eigen/src/SVD/UpperBidiagonalization.h +3 -3
  235. package/eigen/Eigen/src/SparseCholesky/SimplicialCholesky.h +16 -8
  236. package/eigen/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +11 -36
  237. package/eigen/Eigen/src/SparseCore/CompressedStorage.h +16 -0
  238. package/eigen/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +6 -6
  239. package/eigen/Eigen/src/SparseCore/SparseAssign.h +81 -27
  240. package/eigen/Eigen/src/SparseCore/SparseBlock.h +25 -57
  241. package/eigen/Eigen/src/SparseCore/SparseCompressedBase.h +40 -11
  242. package/eigen/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +11 -15
  243. package/eigen/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +2 -2
  244. package/eigen/Eigen/src/SparseCore/SparseDenseProduct.h +30 -8
  245. package/eigen/Eigen/src/SparseCore/SparseMatrix.h +124 -10
  246. package/eigen/Eigen/src/SparseCore/SparseMatrixBase.h +5 -12
  247. package/eigen/Eigen/src/SparseCore/SparseProduct.h +13 -1
  248. package/eigen/Eigen/src/SparseCore/SparseRef.h +7 -7
  249. package/eigen/Eigen/src/SparseCore/SparseSelfAdjointView.h +3 -0
  250. package/eigen/Eigen/src/SparseCore/SparseUtil.h +8 -0
  251. package/eigen/Eigen/src/SparseCore/SparseVector.h +1 -1
  252. package/eigen/Eigen/src/SparseLU/SparseLU.h +160 -10
  253. package/eigen/Eigen/src/SparseLU/SparseLU_Memory.h +1 -1
  254. package/eigen/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +76 -2
  255. package/eigen/Eigen/src/SparseLU/SparseLU_column_dfs.h +2 -2
  256. package/eigen/Eigen/src/SparseLU/SparseLU_gemm_kernel.h +1 -1
  257. package/eigen/Eigen/src/SparseLU/SparseLU_panel_bmod.h +1 -1
  258. package/eigen/Eigen/src/SparseQR/SparseQR.h +19 -6
  259. package/eigen/Eigen/src/StlSupport/StdDeque.h +2 -14
  260. package/eigen/Eigen/src/StlSupport/StdList.h +2 -2
  261. package/eigen/Eigen/src/StlSupport/StdVector.h +2 -2
  262. package/eigen/Eigen/src/SuperLUSupport/SuperLUSupport.h +6 -8
  263. package/eigen/Eigen/src/UmfPackSupport/UmfPackSupport.h +175 -39
  264. package/eigen/Eigen/src/misc/lapacke.h +5 -4
  265. package/eigen/Eigen/src/plugins/ArrayCwiseBinaryOps.h +27 -1
  266. package/eigen/Eigen/src/plugins/ArrayCwiseUnaryOps.h +155 -11
  267. package/eigen/Eigen/src/plugins/BlockMethods.h +626 -242
  268. package/eigen/Eigen/src/plugins/CommonCwiseUnaryOps.h +14 -0
  269. package/eigen/Eigen/src/plugins/IndexedViewMethods.h +262 -0
  270. package/eigen/Eigen/src/plugins/MatrixCwiseBinaryOps.h +4 -4
  271. package/eigen/Eigen/src/plugins/MatrixCwiseUnaryOps.h +10 -0
  272. package/eigen/Eigen/src/plugins/ReshapedMethods.h +149 -0
  273. package/eigen/README.md +5 -0
  274. package/lib/LibEigen.d.ts +4 -0
  275. package/lib/LibEigen.js +14 -0
  276. package/lib/index.d.ts +1 -1
  277. package/lib/index.js +7 -3
  278. package/package.json +2 -10
  279. package/eigen/Eigen/CMakeLists.txt +0 -19
  280. package/eigen/Eigen/src/Core/arch/CUDA/Half.h +0 -675
  281. package/eigen/Eigen/src/Core/arch/CUDA/PacketMath.h +0 -333
  282. package/eigen/Eigen/src/Core/arch/CUDA/PacketMathHalf.h +0 -1124
  283. package/eigen/Eigen/src/Core/arch/CUDA/TypeCasting.h +0 -212
  284. package/eigen/Eigen/src/Geometry/arch/Geometry_SSE.h +0 -161
  285. package/eigen/Eigen/src/LU/arch/Inverse_SSE.h +0 -338
  286. package/lib/eigen.d.ts +0 -2
  287. package/lib/eigen.js +0 -15
@@ -76,6 +76,20 @@ conjugate() const
76
76
  return ConjugateReturnType(derived());
77
77
  }
78
78
 
79
+ /// \returns an expression of the complex conjugate of \c *this if Cond==true, returns derived() otherwise.
80
+ ///
81
+ EIGEN_DOC_UNARY_ADDONS(conjugate,complex conjugate)
82
+ ///
83
+ /// \sa conjugate()
84
+ template<bool Cond>
85
+ EIGEN_DEVICE_FUNC
86
+ inline typename internal::conditional<Cond,ConjugateReturnType,const Derived&>::type
87
+ conjugateIf() const
88
+ {
89
+ typedef typename internal::conditional<Cond,ConjugateReturnType,const Derived&>::type ReturnType;
90
+ return ReturnType(derived());
91
+ }
92
+
79
93
  /// \returns a read-only expression of the real part of \c *this.
80
94
  ///
81
95
  EIGEN_DOC_UNARY_ADDONS(real,real part function)
@@ -0,0 +1,262 @@
1
+ // This file is part of Eigen, a lightweight C++ template library
2
+ // for linear algebra.
3
+ //
4
+ // Copyright (C) 2017 Gael Guennebaud <gael.guennebaud@inria.fr>
5
+ //
6
+ // This Source Code Form is subject to the terms of the Mozilla
7
+ // Public License v. 2.0. If a copy of the MPL was not distributed
8
+ // with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
9
+
10
+ #if !defined(EIGEN_PARSED_BY_DOXYGEN)
11
+
12
+ // This file is automatically included twice to generate const and non-const versions
13
+
14
+ #ifndef EIGEN_INDEXED_VIEW_METHOD_2ND_PASS
15
+ #define EIGEN_INDEXED_VIEW_METHOD_CONST const
16
+ #define EIGEN_INDEXED_VIEW_METHOD_TYPE ConstIndexedViewType
17
+ #else
18
+ #define EIGEN_INDEXED_VIEW_METHOD_CONST
19
+ #define EIGEN_INDEXED_VIEW_METHOD_TYPE IndexedViewType
20
+ #endif
21
+
22
+ #ifndef EIGEN_INDEXED_VIEW_METHOD_2ND_PASS
23
+ protected:
24
+
25
+ // define some aliases to ease readability
26
+
27
+ template<typename Indices>
28
+ struct IvcRowType : public internal::IndexedViewCompatibleType<Indices,RowsAtCompileTime> {};
29
+
30
+ template<typename Indices>
31
+ struct IvcColType : public internal::IndexedViewCompatibleType<Indices,ColsAtCompileTime> {};
32
+
33
+ template<typename Indices>
34
+ struct IvcType : public internal::IndexedViewCompatibleType<Indices,SizeAtCompileTime> {};
35
+
36
+ typedef typename internal::IndexedViewCompatibleType<Index,1>::type IvcIndex;
37
+
38
+ template<typename Indices>
39
+ typename IvcRowType<Indices>::type
40
+ ivcRow(const Indices& indices) const {
41
+ return internal::makeIndexedViewCompatible(indices, internal::variable_if_dynamic<Index,RowsAtCompileTime>(derived().rows()),Specialized);
42
+ }
43
+
44
+ template<typename Indices>
45
+ typename IvcColType<Indices>::type
46
+ ivcCol(const Indices& indices) const {
47
+ return internal::makeIndexedViewCompatible(indices, internal::variable_if_dynamic<Index,ColsAtCompileTime>(derived().cols()),Specialized);
48
+ }
49
+
50
+ template<typename Indices>
51
+ typename IvcColType<Indices>::type
52
+ ivcSize(const Indices& indices) const {
53
+ return internal::makeIndexedViewCompatible(indices, internal::variable_if_dynamic<Index,SizeAtCompileTime>(derived().size()),Specialized);
54
+ }
55
+
56
+ public:
57
+
58
+ #endif
59
+
60
+ template<typename RowIndices, typename ColIndices>
61
+ struct EIGEN_INDEXED_VIEW_METHOD_TYPE {
62
+ typedef IndexedView<EIGEN_INDEXED_VIEW_METHOD_CONST Derived,
63
+ typename IvcRowType<RowIndices>::type,
64
+ typename IvcColType<ColIndices>::type> type;
65
+ };
66
+
67
+ // This is the generic version
68
+
69
+ template<typename RowIndices, typename ColIndices>
70
+ typename internal::enable_if<internal::valid_indexed_view_overload<RowIndices,ColIndices>::value
71
+ && internal::traits<typename EIGEN_INDEXED_VIEW_METHOD_TYPE<RowIndices,ColIndices>::type>::ReturnAsIndexedView,
72
+ typename EIGEN_INDEXED_VIEW_METHOD_TYPE<RowIndices,ColIndices>::type >::type
73
+ operator()(const RowIndices& rowIndices, const ColIndices& colIndices) EIGEN_INDEXED_VIEW_METHOD_CONST
74
+ {
75
+ return typename EIGEN_INDEXED_VIEW_METHOD_TYPE<RowIndices,ColIndices>::type
76
+ (derived(), ivcRow(rowIndices), ivcCol(colIndices));
77
+ }
78
+
79
+ // The following overload returns a Block<> object
80
+
81
+ template<typename RowIndices, typename ColIndices>
82
+ typename internal::enable_if<internal::valid_indexed_view_overload<RowIndices,ColIndices>::value
83
+ && internal::traits<typename EIGEN_INDEXED_VIEW_METHOD_TYPE<RowIndices,ColIndices>::type>::ReturnAsBlock,
84
+ typename internal::traits<typename EIGEN_INDEXED_VIEW_METHOD_TYPE<RowIndices,ColIndices>::type>::BlockType>::type
85
+ operator()(const RowIndices& rowIndices, const ColIndices& colIndices) EIGEN_INDEXED_VIEW_METHOD_CONST
86
+ {
87
+ typedef typename internal::traits<typename EIGEN_INDEXED_VIEW_METHOD_TYPE<RowIndices,ColIndices>::type>::BlockType BlockType;
88
+ typename IvcRowType<RowIndices>::type actualRowIndices = ivcRow(rowIndices);
89
+ typename IvcColType<ColIndices>::type actualColIndices = ivcCol(colIndices);
90
+ return BlockType(derived(),
91
+ internal::first(actualRowIndices),
92
+ internal::first(actualColIndices),
93
+ internal::size(actualRowIndices),
94
+ internal::size(actualColIndices));
95
+ }
96
+
97
+ // The following overload returns a Scalar
98
+
99
+ template<typename RowIndices, typename ColIndices>
100
+ typename internal::enable_if<internal::valid_indexed_view_overload<RowIndices,ColIndices>::value
101
+ && internal::traits<typename EIGEN_INDEXED_VIEW_METHOD_TYPE<RowIndices,ColIndices>::type>::ReturnAsScalar,
102
+ CoeffReturnType >::type
103
+ operator()(const RowIndices& rowIndices, const ColIndices& colIndices) EIGEN_INDEXED_VIEW_METHOD_CONST
104
+ {
105
+ return Base::operator()(internal::eval_expr_given_size(rowIndices,rows()),internal::eval_expr_given_size(colIndices,cols()));
106
+ }
107
+
108
+ #if EIGEN_HAS_STATIC_ARRAY_TEMPLATE
109
+
110
+ // The following three overloads are needed to handle raw Index[N] arrays.
111
+
112
+ template<typename RowIndicesT, std::size_t RowIndicesN, typename ColIndices>
113
+ IndexedView<EIGEN_INDEXED_VIEW_METHOD_CONST Derived,const RowIndicesT (&)[RowIndicesN],typename IvcColType<ColIndices>::type>
114
+ operator()(const RowIndicesT (&rowIndices)[RowIndicesN], const ColIndices& colIndices) EIGEN_INDEXED_VIEW_METHOD_CONST
115
+ {
116
+ return IndexedView<EIGEN_INDEXED_VIEW_METHOD_CONST Derived,const RowIndicesT (&)[RowIndicesN],typename IvcColType<ColIndices>::type>
117
+ (derived(), rowIndices, ivcCol(colIndices));
118
+ }
119
+
120
+ template<typename RowIndices, typename ColIndicesT, std::size_t ColIndicesN>
121
+ IndexedView<EIGEN_INDEXED_VIEW_METHOD_CONST Derived,typename IvcRowType<RowIndices>::type, const ColIndicesT (&)[ColIndicesN]>
122
+ operator()(const RowIndices& rowIndices, const ColIndicesT (&colIndices)[ColIndicesN]) EIGEN_INDEXED_VIEW_METHOD_CONST
123
+ {
124
+ return IndexedView<EIGEN_INDEXED_VIEW_METHOD_CONST Derived,typename IvcRowType<RowIndices>::type,const ColIndicesT (&)[ColIndicesN]>
125
+ (derived(), ivcRow(rowIndices), colIndices);
126
+ }
127
+
128
+ template<typename RowIndicesT, std::size_t RowIndicesN, typename ColIndicesT, std::size_t ColIndicesN>
129
+ IndexedView<EIGEN_INDEXED_VIEW_METHOD_CONST Derived,const RowIndicesT (&)[RowIndicesN], const ColIndicesT (&)[ColIndicesN]>
130
+ operator()(const RowIndicesT (&rowIndices)[RowIndicesN], const ColIndicesT (&colIndices)[ColIndicesN]) EIGEN_INDEXED_VIEW_METHOD_CONST
131
+ {
132
+ return IndexedView<EIGEN_INDEXED_VIEW_METHOD_CONST Derived,const RowIndicesT (&)[RowIndicesN],const ColIndicesT (&)[ColIndicesN]>
133
+ (derived(), rowIndices, colIndices);
134
+ }
135
+
136
+ #endif // EIGEN_HAS_STATIC_ARRAY_TEMPLATE
137
+
138
+ // Overloads for 1D vectors/arrays
139
+
140
+ template<typename Indices>
141
+ typename internal::enable_if<
142
+ IsRowMajor && (!(internal::get_compile_time_incr<typename IvcType<Indices>::type>::value==1 || internal::is_valid_index_type<Indices>::value)),
143
+ IndexedView<EIGEN_INDEXED_VIEW_METHOD_CONST Derived,IvcIndex,typename IvcType<Indices>::type> >::type
144
+ operator()(const Indices& indices) EIGEN_INDEXED_VIEW_METHOD_CONST
145
+ {
146
+ EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
147
+ return IndexedView<EIGEN_INDEXED_VIEW_METHOD_CONST Derived,IvcIndex,typename IvcType<Indices>::type>
148
+ (derived(), IvcIndex(0), ivcCol(indices));
149
+ }
150
+
151
+ template<typename Indices>
152
+ typename internal::enable_if<
153
+ (!IsRowMajor) && (!(internal::get_compile_time_incr<typename IvcType<Indices>::type>::value==1 || internal::is_valid_index_type<Indices>::value)),
154
+ IndexedView<EIGEN_INDEXED_VIEW_METHOD_CONST Derived,typename IvcType<Indices>::type,IvcIndex> >::type
155
+ operator()(const Indices& indices) EIGEN_INDEXED_VIEW_METHOD_CONST
156
+ {
157
+ EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
158
+ return IndexedView<EIGEN_INDEXED_VIEW_METHOD_CONST Derived,typename IvcType<Indices>::type,IvcIndex>
159
+ (derived(), ivcRow(indices), IvcIndex(0));
160
+ }
161
+
162
+ template<typename Indices>
163
+ typename internal::enable_if<
164
+ (internal::get_compile_time_incr<typename IvcType<Indices>::type>::value==1) && (!internal::is_valid_index_type<Indices>::value) && (!symbolic::is_symbolic<Indices>::value),
165
+ VectorBlock<EIGEN_INDEXED_VIEW_METHOD_CONST Derived,internal::array_size<Indices>::value> >::type
166
+ operator()(const Indices& indices) EIGEN_INDEXED_VIEW_METHOD_CONST
167
+ {
168
+ EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
169
+ typename IvcType<Indices>::type actualIndices = ivcSize(indices);
170
+ return VectorBlock<EIGEN_INDEXED_VIEW_METHOD_CONST Derived,internal::array_size<Indices>::value>
171
+ (derived(), internal::first(actualIndices), internal::size(actualIndices));
172
+ }
173
+
174
+ template<typename IndexType>
175
+ typename internal::enable_if<symbolic::is_symbolic<IndexType>::value, CoeffReturnType >::type
176
+ operator()(const IndexType& id) EIGEN_INDEXED_VIEW_METHOD_CONST
177
+ {
178
+ return Base::operator()(internal::eval_expr_given_size(id,size()));
179
+ }
180
+
181
+ #if EIGEN_HAS_STATIC_ARRAY_TEMPLATE
182
+
183
+ template<typename IndicesT, std::size_t IndicesN>
184
+ typename internal::enable_if<IsRowMajor,
185
+ IndexedView<EIGEN_INDEXED_VIEW_METHOD_CONST Derived,IvcIndex,const IndicesT (&)[IndicesN]> >::type
186
+ operator()(const IndicesT (&indices)[IndicesN]) EIGEN_INDEXED_VIEW_METHOD_CONST
187
+ {
188
+ EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
189
+ return IndexedView<EIGEN_INDEXED_VIEW_METHOD_CONST Derived,IvcIndex,const IndicesT (&)[IndicesN]>
190
+ (derived(), IvcIndex(0), indices);
191
+ }
192
+
193
+ template<typename IndicesT, std::size_t IndicesN>
194
+ typename internal::enable_if<!IsRowMajor,
195
+ IndexedView<EIGEN_INDEXED_VIEW_METHOD_CONST Derived,const IndicesT (&)[IndicesN],IvcIndex> >::type
196
+ operator()(const IndicesT (&indices)[IndicesN]) EIGEN_INDEXED_VIEW_METHOD_CONST
197
+ {
198
+ EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
199
+ return IndexedView<EIGEN_INDEXED_VIEW_METHOD_CONST Derived,const IndicesT (&)[IndicesN],IvcIndex>
200
+ (derived(), indices, IvcIndex(0));
201
+ }
202
+
203
+ #endif // EIGEN_HAS_STATIC_ARRAY_TEMPLATE
204
+
205
+ #undef EIGEN_INDEXED_VIEW_METHOD_CONST
206
+ #undef EIGEN_INDEXED_VIEW_METHOD_TYPE
207
+
208
+ #ifndef EIGEN_INDEXED_VIEW_METHOD_2ND_PASS
209
+ #define EIGEN_INDEXED_VIEW_METHOD_2ND_PASS
210
+ #include "IndexedViewMethods.h"
211
+ #undef EIGEN_INDEXED_VIEW_METHOD_2ND_PASS
212
+ #endif
213
+
214
+ #else // EIGEN_PARSED_BY_DOXYGEN
215
+
216
+ /**
217
+ * \returns a generic submatrix view defined by the rows and columns indexed \a rowIndices and \a colIndices respectively.
218
+ *
219
+ * Each parameter must either be:
220
+ * - An integer indexing a single row or column
221
+ * - Eigen::all indexing the full set of respective rows or columns in increasing order
222
+ * - An ArithmeticSequence as returned by the Eigen::seq and Eigen::seqN functions
223
+ * - Any %Eigen's vector/array of integers or expressions
224
+ * - Plain C arrays: \c int[N]
225
+ * - And more generally any type exposing the following two member functions:
226
+ * \code
227
+ * <integral type> operator[](<integral type>) const;
228
+ * <integral type> size() const;
229
+ * \endcode
230
+ * where \c <integral \c type> stands for any integer type compatible with Eigen::Index (i.e. \c std::ptrdiff_t).
231
+ *
232
+ * The last statement implies compatibility with \c std::vector, \c std::valarray, \c std::array, many of the Range-v3's ranges, etc.
233
+ *
234
+ * If the submatrix can be represented using a starting position \c (i,j) and positive sizes \c (rows,columns), then this
235
+ * method will returns a Block object after extraction of the relevant information from the passed arguments. This is the case
236
+ * when all arguments are either:
237
+ * - An integer
238
+ * - Eigen::all
239
+ * - An ArithmeticSequence with compile-time increment strictly equal to 1, as returned by Eigen::seq(a,b), and Eigen::seqN(a,N).
240
+ *
241
+ * Otherwise a more general IndexedView<Derived,RowIndices',ColIndices'> object will be returned, after conversion of the inputs
242
+ * to more suitable types \c RowIndices' and \c ColIndices'.
243
+ *
244
+ * For 1D vectors and arrays, you better use the operator()(const Indices&) overload, which behave the same way but taking a single parameter.
245
+ *
246
+ * See also this <a href="https://stackoverflow.com/questions/46110917/eigen-replicate-items-along-one-dimension-without-useless-allocations">question</a> and its answer for an example of how to duplicate coefficients.
247
+ *
248
+ * \sa operator()(const Indices&), class Block, class IndexedView, DenseBase::block(Index,Index,Index,Index)
249
+ */
250
+ template<typename RowIndices, typename ColIndices>
251
+ IndexedView_or_Block
252
+ operator()(const RowIndices& rowIndices, const ColIndices& colIndices);
253
+
254
+ /** This is an overload of operator()(const RowIndices&, const ColIndices&) for 1D vectors or arrays
255
+ *
256
+ * \only_for_vectors
257
+ */
258
+ template<typename Indices>
259
+ IndexedView_or_VectorBlock
260
+ operator()(const Indices& indices);
261
+
262
+ #endif // EIGEN_PARSED_BY_DOXYGEN
@@ -39,10 +39,10 @@ cwiseProduct(const EIGEN_CURRENT_STORAGE_BASE_CLASS<OtherDerived> &other) const
39
39
  */
40
40
  template<typename OtherDerived>
41
41
  EIGEN_DEVICE_FUNC
42
- inline const CwiseBinaryOp<std::equal_to<Scalar>, const Derived, const OtherDerived>
42
+ inline const CwiseBinaryOp<numext::equal_to<Scalar>, const Derived, const OtherDerived>
43
43
  cwiseEqual(const EIGEN_CURRENT_STORAGE_BASE_CLASS<OtherDerived> &other) const
44
44
  {
45
- return CwiseBinaryOp<std::equal_to<Scalar>, const Derived, const OtherDerived>(derived(), other.derived());
45
+ return CwiseBinaryOp<numext::equal_to<Scalar>, const Derived, const OtherDerived>(derived(), other.derived());
46
46
  }
47
47
 
48
48
  /** \returns an expression of the coefficient-wise != operator of *this and \a other
@@ -59,10 +59,10 @@ cwiseEqual(const EIGEN_CURRENT_STORAGE_BASE_CLASS<OtherDerived> &other) const
59
59
  */
60
60
  template<typename OtherDerived>
61
61
  EIGEN_DEVICE_FUNC
62
- inline const CwiseBinaryOp<std::not_equal_to<Scalar>, const Derived, const OtherDerived>
62
+ inline const CwiseBinaryOp<numext::not_equal_to<Scalar>, const Derived, const OtherDerived>
63
63
  cwiseNotEqual(const EIGEN_CURRENT_STORAGE_BASE_CLASS<OtherDerived> &other) const
64
64
  {
65
- return CwiseBinaryOp<std::not_equal_to<Scalar>, const Derived, const OtherDerived>(derived(), other.derived());
65
+ return CwiseBinaryOp<numext::not_equal_to<Scalar>, const Derived, const OtherDerived>(derived(), other.derived());
66
66
  }
67
67
 
68
68
  /** \returns an expression of the coefficient-wise min of *this and \a other
@@ -14,6 +14,7 @@
14
14
 
15
15
  typedef CwiseUnaryOp<internal::scalar_abs_op<Scalar>, const Derived> CwiseAbsReturnType;
16
16
  typedef CwiseUnaryOp<internal::scalar_abs2_op<Scalar>, const Derived> CwiseAbs2ReturnType;
17
+ typedef CwiseUnaryOp<internal::scalar_arg_op<Scalar>, const Derived> CwiseArgReturnType;
17
18
  typedef CwiseUnaryOp<internal::scalar_sqrt_op<Scalar>, const Derived> CwiseSqrtReturnType;
18
19
  typedef CwiseUnaryOp<internal::scalar_sign_op<Scalar>, const Derived> CwiseSignReturnType;
19
20
  typedef CwiseUnaryOp<internal::scalar_inverse_op<Scalar>, const Derived> CwiseInverseReturnType;
@@ -82,4 +83,13 @@ EIGEN_DEVICE_FUNC
82
83
  inline const CwiseInverseReturnType
83
84
  cwiseInverse() const { return CwiseInverseReturnType(derived()); }
84
85
 
86
+ /// \returns an expression of the coefficient-wise phase angle of \c *this
87
+ ///
88
+ /// Example: \include MatrixBase_cwiseArg.cpp
89
+ /// Output: \verbinclude MatrixBase_cwiseArg.out
90
+ ///
91
+ EIGEN_DOC_UNARY_ADDONS(cwiseArg,arg)
85
92
 
93
+ EIGEN_DEVICE_FUNC
94
+ inline const CwiseArgReturnType
95
+ cwiseArg() const { return CwiseArgReturnType(derived()); }
@@ -0,0 +1,149 @@
1
+
2
+ #ifdef EIGEN_PARSED_BY_DOXYGEN
3
+
4
+ /// \returns an expression of \c *this with reshaped sizes.
5
+ ///
6
+ /// \param nRows the number of rows in the reshaped expression, specified at either run-time or compile-time, or AutoSize
7
+ /// \param nCols the number of columns in the reshaped expression, specified at either run-time or compile-time, or AutoSize
8
+ /// \tparam Order specifies whether the coefficients should be processed in column-major-order (ColMajor), in row-major-order (RowMajor),
9
+ /// or follows the \em natural order of the nested expression (AutoOrder). The default is ColMajor.
10
+ /// \tparam NRowsType the type of the value handling the number of rows, typically Index.
11
+ /// \tparam NColsType the type of the value handling the number of columns, typically Index.
12
+ ///
13
+ /// Dynamic size example: \include MatrixBase_reshaped_int_int.cpp
14
+ /// Output: \verbinclude MatrixBase_reshaped_int_int.out
15
+ ///
16
+ /// The number of rows \a nRows and columns \a nCols can also be specified at compile-time by passing Eigen::fix<N>,
17
+ /// or Eigen::fix<N>(n) as arguments. In the later case, \c n plays the role of a runtime fallback value in case \c N equals Eigen::Dynamic.
18
+ /// Here is an example with a fixed number of rows and columns:
19
+ /// \include MatrixBase_reshaped_fixed.cpp
20
+ /// Output: \verbinclude MatrixBase_reshaped_fixed.out
21
+ ///
22
+ /// Finally, one of the sizes parameter can be automatically deduced from the other one by passing AutoSize as in the following example:
23
+ /// \include MatrixBase_reshaped_auto.cpp
24
+ /// Output: \verbinclude MatrixBase_reshaped_auto.out
25
+ /// AutoSize does preserve compile-time sizes when possible, i.e., when the sizes of the input are known at compile time \b and
26
+ /// that the other size is passed at compile-time using Eigen::fix<N> as above.
27
+ ///
28
+ /// \sa class Reshaped, fix, fix<N>(int)
29
+ ///
30
+ template<int Order = ColMajor, typename NRowsType, typename NColsType>
31
+ EIGEN_DEVICE_FUNC
32
+ inline Reshaped<Derived,...>
33
+ reshaped(NRowsType nRows, NColsType nCols);
34
+
35
+ /// This is the const version of reshaped(NRowsType,NColsType).
36
+ template<int Order = ColMajor, typename NRowsType, typename NColsType>
37
+ EIGEN_DEVICE_FUNC
38
+ inline const Reshaped<const Derived,...>
39
+ reshaped(NRowsType nRows, NColsType nCols) const;
40
+
41
+ /// \returns an expression of \c *this with columns (or rows) stacked to a linear column vector
42
+ ///
43
+ /// \tparam Order specifies whether the coefficients should be processed in column-major-order (ColMajor), in row-major-order (RowMajor),
44
+ /// or follows the \em natural order of the nested expression (AutoOrder). The default is ColMajor.
45
+ ///
46
+ /// This overloads is essentially a shortcut for `A.reshaped<Order>(AutoSize,fix<1>)`.
47
+ ///
48
+ /// - If `Order==ColMajor` (the default), then it returns a column-vector from the stacked columns of \c *this.
49
+ /// - If `Order==RowMajor`, then it returns a column-vector from the stacked rows of \c *this.
50
+ /// - If `Order==AutoOrder`, then it returns a column-vector with elements stacked following the storage order of \c *this.
51
+ /// This mode is the recommended one when the particular ordering of the element is not relevant.
52
+ ///
53
+ /// Example:
54
+ /// \include MatrixBase_reshaped_to_vector.cpp
55
+ /// Output: \verbinclude MatrixBase_reshaped_to_vector.out
56
+ ///
57
+ /// If you want more control, you can still fall back to reshaped(NRowsType,NColsType).
58
+ ///
59
+ /// \sa reshaped(NRowsType,NColsType), class Reshaped
60
+ ///
61
+ template<int Order = ColMajor>
62
+ EIGEN_DEVICE_FUNC
63
+ inline Reshaped<Derived,...>
64
+ reshaped();
65
+
66
+ /// This is the const version of reshaped().
67
+ template<int Order = ColMajor>
68
+ EIGEN_DEVICE_FUNC
69
+ inline const Reshaped<const Derived,...>
70
+ reshaped() const;
71
+
72
+ #else
73
+
74
+ // This file is automatically included twice to generate const and non-const versions
75
+
76
+ #ifndef EIGEN_RESHAPED_METHOD_2ND_PASS
77
+ #define EIGEN_RESHAPED_METHOD_CONST const
78
+ #else
79
+ #define EIGEN_RESHAPED_METHOD_CONST
80
+ #endif
81
+
82
+ #ifndef EIGEN_RESHAPED_METHOD_2ND_PASS
83
+
84
+ // This part is included once
85
+
86
+ #endif
87
+
88
+ template<typename NRowsType, typename NColsType>
89
+ EIGEN_DEVICE_FUNC
90
+ inline Reshaped<EIGEN_RESHAPED_METHOD_CONST Derived,
91
+ internal::get_compiletime_reshape_size<NRowsType,NColsType,SizeAtCompileTime>::value,
92
+ internal::get_compiletime_reshape_size<NColsType,NRowsType,SizeAtCompileTime>::value>
93
+ reshaped(NRowsType nRows, NColsType nCols) EIGEN_RESHAPED_METHOD_CONST
94
+ {
95
+ return Reshaped<EIGEN_RESHAPED_METHOD_CONST Derived,
96
+ internal::get_compiletime_reshape_size<NRowsType,NColsType,SizeAtCompileTime>::value,
97
+ internal::get_compiletime_reshape_size<NColsType,NRowsType,SizeAtCompileTime>::value>
98
+ (derived(),
99
+ internal::get_runtime_reshape_size(nRows,internal::get_runtime_value(nCols),size()),
100
+ internal::get_runtime_reshape_size(nCols,internal::get_runtime_value(nRows),size()));
101
+ }
102
+
103
+ template<int Order, typename NRowsType, typename NColsType>
104
+ EIGEN_DEVICE_FUNC
105
+ inline Reshaped<EIGEN_RESHAPED_METHOD_CONST Derived,
106
+ internal::get_compiletime_reshape_size<NRowsType,NColsType,SizeAtCompileTime>::value,
107
+ internal::get_compiletime_reshape_size<NColsType,NRowsType,SizeAtCompileTime>::value,
108
+ internal::get_compiletime_reshape_order<Flags,Order>::value>
109
+ reshaped(NRowsType nRows, NColsType nCols) EIGEN_RESHAPED_METHOD_CONST
110
+ {
111
+ return Reshaped<EIGEN_RESHAPED_METHOD_CONST Derived,
112
+ internal::get_compiletime_reshape_size<NRowsType,NColsType,SizeAtCompileTime>::value,
113
+ internal::get_compiletime_reshape_size<NColsType,NRowsType,SizeAtCompileTime>::value,
114
+ internal::get_compiletime_reshape_order<Flags,Order>::value>
115
+ (derived(),
116
+ internal::get_runtime_reshape_size(nRows,internal::get_runtime_value(nCols),size()),
117
+ internal::get_runtime_reshape_size(nCols,internal::get_runtime_value(nRows),size()));
118
+ }
119
+
120
+ // Views as linear vectors
121
+
122
+ EIGEN_DEVICE_FUNC
123
+ inline Reshaped<EIGEN_RESHAPED_METHOD_CONST Derived,SizeAtCompileTime,1>
124
+ reshaped() EIGEN_RESHAPED_METHOD_CONST
125
+ {
126
+ return Reshaped<EIGEN_RESHAPED_METHOD_CONST Derived,SizeAtCompileTime,1>(derived(),size(),1);
127
+ }
128
+
129
+ template<int Order>
130
+ EIGEN_DEVICE_FUNC
131
+ inline Reshaped<EIGEN_RESHAPED_METHOD_CONST Derived, SizeAtCompileTime, 1,
132
+ internal::get_compiletime_reshape_order<Flags,Order>::value>
133
+ reshaped() EIGEN_RESHAPED_METHOD_CONST
134
+ {
135
+ EIGEN_STATIC_ASSERT(Order==RowMajor || Order==ColMajor || Order==AutoOrder, INVALID_TEMPLATE_PARAMETER);
136
+ return Reshaped<EIGEN_RESHAPED_METHOD_CONST Derived, SizeAtCompileTime, 1,
137
+ internal::get_compiletime_reshape_order<Flags,Order>::value>
138
+ (derived(), size(), 1);
139
+ }
140
+
141
+ #undef EIGEN_RESHAPED_METHOD_CONST
142
+
143
+ #ifndef EIGEN_RESHAPED_METHOD_2ND_PASS
144
+ #define EIGEN_RESHAPED_METHOD_2ND_PASS
145
+ #include "ReshapedMethods.h"
146
+ #undef EIGEN_RESHAPED_METHOD_2ND_PASS
147
+ #endif
148
+
149
+ #endif // EIGEN_PARSED_BY_DOXYGEN
@@ -0,0 +1,5 @@
1
+ **Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.**
2
+
3
+ For more information go to http://eigen.tuxfamily.org/.
4
+
5
+ For ***pull request***, ***bug reports***, and ***feature requests***, go to https://gitlab.com/libeigen/eigen.
@@ -0,0 +1,4 @@
1
+ import { LLVM } from '@smake/llvm';
2
+ export declare abstract class LibEigen {
3
+ static config(llvm: LLVM): void;
4
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LibEigen = void 0;
4
+ const path_1 = require("path");
5
+ class LibEigen {
6
+ static config(llvm) {
7
+ llvm.includedirs = [
8
+ ...llvm.includedirs,
9
+ (0, path_1.resolve)(__dirname, '..', 'eigen').replace(/\\/g, '/'),
10
+ ];
11
+ }
12
+ }
13
+ exports.LibEigen = LibEigen;
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGliRWlnZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvTGliRWlnZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0JBQStCO0FBRy9CLE1BQXNCLFFBQVE7SUFDNUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFVO1FBQ3RCLElBQUksQ0FBQyxXQUFXLEdBQUc7WUFDakIsR0FBRyxJQUFJLENBQUMsV0FBVztZQUNuQixJQUFBLGNBQU8sRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDO1NBQ3RELENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFQRCw0QkFPQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlc29sdmUgfSBmcm9tICdwYXRoJztcbmltcG9ydCB7IExMVk0gfSBmcm9tICdAc21ha2UvbGx2bSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBMaWJFaWdlbiB7XG4gIHN0YXRpYyBjb25maWcobGx2bTogTExWTSkge1xuICAgIGxsdm0uaW5jbHVkZWRpcnMgPSBbXG4gICAgICAuLi5sbHZtLmluY2x1ZGVkaXJzLFxuICAgICAgcmVzb2x2ZShfX2Rpcm5hbWUsICcuLicsICdlaWdlbicpLnJlcGxhY2UoL1xcXFwvZywgJy8nKSxcbiAgICBdO1xuICB9XG59XG4iXX0=
package/lib/index.d.ts CHANGED
@@ -1 +1 @@
1
- export * from './eigen';
1
+ export * from './LibEigen';
package/lib/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -10,5 +14,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
15
  };
12
16
  Object.defineProperty(exports, "__esModule", { value: true });
13
- __exportStar(require("./eigen"), exports);
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsMENBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9laWdlbic7XG4iXX0=
17
+ __exportStar(require("./LibEigen"), exports);
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZDQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vTGliRWlnZW4nO1xuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smake/eigen",
3
- "version": "1.0.2",
3
+ "version": "1.1.0",
4
4
  "description": "Typescript Module Template",
5
5
  "license": "MIT",
6
6
  "repository": "https://github.com/kuyoonjo/smake-lib-eigen.git",
@@ -36,19 +36,11 @@
36
36
  "watch": "npm run build -- --watch",
37
37
  "watch:test": "jest --watch"
38
38
  },
39
- "dependencies": {
40
- "@smake/libs": "^1.0.2",
41
- "smake": "^0.3.12"
42
- },
43
39
  "devDependencies": {
44
- "@types/jest": "^26.0.24",
40
+ "@smake/llvm": "^1.2.0",
45
41
  "@types/node": "^16.4.7",
46
- "coveralls": "^3.1.1",
47
- "jest": "^27.0.6",
48
42
  "prettier": "^2.3.2",
49
43
  "rimraf": "^3.0.2",
50
- "ts-jest": "^27.0.4",
51
- "ts-node": "^10.1.0",
52
44
  "tslint": "^6.1.3",
53
45
  "tslint-config-prettier": "^1.18.0",
54
46
  "typescript": "^4.3.5"
@@ -1,19 +0,0 @@
1
- include(RegexUtils)
2
- test_escape_string_as_regex()
3
-
4
- file(GLOB Eigen_directory_files "*")
5
-
6
- escape_string_as_regex(ESCAPED_CMAKE_CURRENT_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
7
-
8
- foreach(f ${Eigen_directory_files})
9
- if(NOT f MATCHES "\\.txt" AND NOT f MATCHES "${ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/[.].+" AND NOT f MATCHES "${ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/src")
10
- list(APPEND Eigen_directory_files_to_install ${f})
11
- endif()
12
- endforeach(f ${Eigen_directory_files})
13
-
14
- install(FILES
15
- ${Eigen_directory_files_to_install}
16
- DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen COMPONENT Devel
17
- )
18
-
19
- install(DIRECTORY src DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen COMPONENT Devel FILES_MATCHING PATTERN "*.h")