@smake/eigen 1.1.0 → 1.1.1

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 (431) hide show
  1. package/README.md +1 -1
  2. package/eigen/Eigen/AccelerateSupport +52 -0
  3. package/eigen/Eigen/Cholesky +18 -20
  4. package/eigen/Eigen/CholmodSupport +28 -28
  5. package/eigen/Eigen/Core +187 -120
  6. package/eigen/Eigen/Eigenvalues +16 -13
  7. package/eigen/Eigen/Geometry +18 -18
  8. package/eigen/Eigen/Householder +9 -7
  9. package/eigen/Eigen/IterativeLinearSolvers +8 -4
  10. package/eigen/Eigen/Jacobi +14 -13
  11. package/eigen/Eigen/KLUSupport +23 -21
  12. package/eigen/Eigen/LU +15 -16
  13. package/eigen/Eigen/MetisSupport +12 -12
  14. package/eigen/Eigen/OrderingMethods +54 -51
  15. package/eigen/Eigen/PaStiXSupport +23 -21
  16. package/eigen/Eigen/PardisoSupport +17 -14
  17. package/eigen/Eigen/QR +18 -20
  18. package/eigen/Eigen/QtAlignedMalloc +5 -12
  19. package/eigen/Eigen/SPQRSupport +21 -14
  20. package/eigen/Eigen/SVD +23 -17
  21. package/eigen/Eigen/Sparse +1 -2
  22. package/eigen/Eigen/SparseCholesky +18 -15
  23. package/eigen/Eigen/SparseCore +18 -17
  24. package/eigen/Eigen/SparseLU +9 -9
  25. package/eigen/Eigen/SparseQR +16 -14
  26. package/eigen/Eigen/StdDeque +5 -2
  27. package/eigen/Eigen/StdList +5 -2
  28. package/eigen/Eigen/StdVector +5 -2
  29. package/eigen/Eigen/SuperLUSupport +30 -24
  30. package/eigen/Eigen/ThreadPool +80 -0
  31. package/eigen/Eigen/UmfPackSupport +19 -17
  32. package/eigen/Eigen/Version +14 -0
  33. package/eigen/Eigen/src/AccelerateSupport/AccelerateSupport.h +423 -0
  34. package/eigen/Eigen/src/AccelerateSupport/InternalHeaderCheck.h +3 -0
  35. package/eigen/Eigen/src/Cholesky/InternalHeaderCheck.h +3 -0
  36. package/eigen/Eigen/src/Cholesky/LDLT.h +366 -405
  37. package/eigen/Eigen/src/Cholesky/LLT.h +323 -367
  38. package/eigen/Eigen/src/Cholesky/LLT_LAPACKE.h +81 -56
  39. package/eigen/Eigen/src/CholmodSupport/CholmodSupport.h +585 -529
  40. package/eigen/Eigen/src/CholmodSupport/InternalHeaderCheck.h +3 -0
  41. package/eigen/Eigen/src/Core/ArithmeticSequence.h +143 -317
  42. package/eigen/Eigen/src/Core/Array.h +329 -370
  43. package/eigen/Eigen/src/Core/ArrayBase.h +190 -203
  44. package/eigen/Eigen/src/Core/ArrayWrapper.h +126 -170
  45. package/eigen/Eigen/src/Core/Assign.h +30 -40
  46. package/eigen/Eigen/src/Core/AssignEvaluator.h +651 -604
  47. package/eigen/Eigen/src/Core/Assign_MKL.h +125 -120
  48. package/eigen/Eigen/src/Core/BandMatrix.h +267 -282
  49. package/eigen/Eigen/src/Core/Block.h +371 -390
  50. package/eigen/Eigen/src/Core/CommaInitializer.h +85 -100
  51. package/eigen/Eigen/src/Core/ConditionEstimator.h +51 -53
  52. package/eigen/Eigen/src/Core/CoreEvaluators.h +1214 -937
  53. package/eigen/Eigen/src/Core/CoreIterators.h +72 -63
  54. package/eigen/Eigen/src/Core/CwiseBinaryOp.h +112 -129
  55. package/eigen/Eigen/src/Core/CwiseNullaryOp.h +676 -702
  56. package/eigen/Eigen/src/Core/CwiseTernaryOp.h +77 -103
  57. package/eigen/Eigen/src/Core/CwiseUnaryOp.h +55 -67
  58. package/eigen/Eigen/src/Core/CwiseUnaryView.h +127 -92
  59. package/eigen/Eigen/src/Core/DenseBase.h +630 -658
  60. package/eigen/Eigen/src/Core/DenseCoeffsBase.h +511 -628
  61. package/eigen/Eigen/src/Core/DenseStorage.h +511 -590
  62. package/eigen/Eigen/src/Core/DeviceWrapper.h +153 -0
  63. package/eigen/Eigen/src/Core/Diagonal.h +168 -207
  64. package/eigen/Eigen/src/Core/DiagonalMatrix.h +346 -317
  65. package/eigen/Eigen/src/Core/DiagonalProduct.h +12 -10
  66. package/eigen/Eigen/src/Core/Dot.h +167 -217
  67. package/eigen/Eigen/src/Core/EigenBase.h +74 -85
  68. package/eigen/Eigen/src/Core/Fill.h +138 -0
  69. package/eigen/Eigen/src/Core/FindCoeff.h +464 -0
  70. package/eigen/Eigen/src/Core/ForceAlignedAccess.h +90 -113
  71. package/eigen/Eigen/src/Core/Fuzzy.h +82 -105
  72. package/eigen/Eigen/src/Core/GeneralProduct.h +315 -261
  73. package/eigen/Eigen/src/Core/GenericPacketMath.h +1182 -520
  74. package/eigen/Eigen/src/Core/GlobalFunctions.h +193 -157
  75. package/eigen/Eigen/src/Core/IO.h +131 -156
  76. package/eigen/Eigen/src/Core/IndexedView.h +209 -125
  77. package/eigen/Eigen/src/Core/InnerProduct.h +260 -0
  78. package/eigen/Eigen/src/Core/InternalHeaderCheck.h +3 -0
  79. package/eigen/Eigen/src/Core/Inverse.h +50 -59
  80. package/eigen/Eigen/src/Core/Map.h +123 -141
  81. package/eigen/Eigen/src/Core/MapBase.h +255 -282
  82. package/eigen/Eigen/src/Core/MathFunctions.h +1247 -1201
  83. package/eigen/Eigen/src/Core/MathFunctionsImpl.h +162 -99
  84. package/eigen/Eigen/src/Core/Matrix.h +463 -494
  85. package/eigen/Eigen/src/Core/MatrixBase.h +468 -470
  86. package/eigen/Eigen/src/Core/NestByValue.h +58 -52
  87. package/eigen/Eigen/src/Core/NoAlias.h +79 -86
  88. package/eigen/Eigen/src/Core/NumTraits.h +206 -206
  89. package/eigen/Eigen/src/Core/PartialReduxEvaluator.h +163 -142
  90. package/eigen/Eigen/src/Core/PermutationMatrix.h +461 -511
  91. package/eigen/Eigen/src/Core/PlainObjectBase.h +858 -972
  92. package/eigen/Eigen/src/Core/Product.h +246 -130
  93. package/eigen/Eigen/src/Core/ProductEvaluators.h +779 -671
  94. package/eigen/Eigen/src/Core/Random.h +153 -164
  95. package/eigen/Eigen/src/Core/RandomImpl.h +262 -0
  96. package/eigen/Eigen/src/Core/RealView.h +250 -0
  97. package/eigen/Eigen/src/Core/Redux.h +334 -314
  98. package/eigen/Eigen/src/Core/Ref.h +259 -257
  99. package/eigen/Eigen/src/Core/Replicate.h +92 -104
  100. package/eigen/Eigen/src/Core/Reshaped.h +215 -271
  101. package/eigen/Eigen/src/Core/ReturnByValue.h +47 -55
  102. package/eigen/Eigen/src/Core/Reverse.h +133 -148
  103. package/eigen/Eigen/src/Core/Select.h +68 -140
  104. package/eigen/Eigen/src/Core/SelfAdjointView.h +254 -290
  105. package/eigen/Eigen/src/Core/SelfCwiseBinaryOp.h +23 -20
  106. package/eigen/Eigen/src/Core/SkewSymmetricMatrix3.h +382 -0
  107. package/eigen/Eigen/src/Core/Solve.h +88 -102
  108. package/eigen/Eigen/src/Core/SolveTriangular.h +126 -124
  109. package/eigen/Eigen/src/Core/SolverBase.h +132 -133
  110. package/eigen/Eigen/src/Core/StableNorm.h +113 -147
  111. package/eigen/Eigen/src/Core/StlIterators.h +404 -248
  112. package/eigen/Eigen/src/Core/Stride.h +90 -92
  113. package/eigen/Eigen/src/Core/Swap.h +70 -39
  114. package/eigen/Eigen/src/Core/Transpose.h +258 -295
  115. package/eigen/Eigen/src/Core/Transpositions.h +270 -333
  116. package/eigen/Eigen/src/Core/TriangularMatrix.h +642 -743
  117. package/eigen/Eigen/src/Core/VectorBlock.h +59 -72
  118. package/eigen/Eigen/src/Core/VectorwiseOp.h +653 -704
  119. package/eigen/Eigen/src/Core/Visitor.h +464 -308
  120. package/eigen/Eigen/src/Core/arch/AVX/Complex.h +380 -187
  121. package/eigen/Eigen/src/Core/arch/AVX/MathFunctions.h +65 -163
  122. package/eigen/Eigen/src/Core/arch/AVX/PacketMath.h +2145 -638
  123. package/eigen/Eigen/src/Core/arch/AVX/Reductions.h +353 -0
  124. package/eigen/Eigen/src/Core/arch/AVX/TypeCasting.h +253 -60
  125. package/eigen/Eigen/src/Core/arch/AVX512/Complex.h +278 -228
  126. package/eigen/Eigen/src/Core/arch/AVX512/GemmKernel.h +1245 -0
  127. package/eigen/Eigen/src/Core/arch/AVX512/MathFunctions.h +48 -269
  128. package/eigen/Eigen/src/Core/arch/AVX512/MathFunctionsFP16.h +75 -0
  129. package/eigen/Eigen/src/Core/arch/AVX512/PacketMath.h +1597 -754
  130. package/eigen/Eigen/src/Core/arch/AVX512/PacketMathFP16.h +1413 -0
  131. package/eigen/Eigen/src/Core/arch/AVX512/Reductions.h +297 -0
  132. package/eigen/Eigen/src/Core/arch/AVX512/TrsmKernel.h +1167 -0
  133. package/eigen/Eigen/src/Core/arch/AVX512/TrsmUnrolls.inc +1219 -0
  134. package/eigen/Eigen/src/Core/arch/AVX512/TypeCasting.h +229 -41
  135. package/eigen/Eigen/src/Core/arch/AVX512/TypeCastingFP16.h +130 -0
  136. package/eigen/Eigen/src/Core/arch/AltiVec/Complex.h +420 -184
  137. package/eigen/Eigen/src/Core/arch/AltiVec/MathFunctions.h +40 -49
  138. package/eigen/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +2962 -2213
  139. package/eigen/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +196 -212
  140. package/eigen/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +713 -441
  141. package/eigen/Eigen/src/Core/arch/AltiVec/MatrixProductMMAbfloat16.h +742 -0
  142. package/eigen/Eigen/src/Core/arch/AltiVec/MatrixVectorProduct.inc +2818 -0
  143. package/eigen/Eigen/src/Core/arch/AltiVec/PacketMath.h +2380 -1362
  144. package/eigen/Eigen/src/Core/arch/AltiVec/TypeCasting.h +153 -0
  145. package/eigen/Eigen/src/Core/arch/Default/BFloat16.h +390 -224
  146. package/eigen/Eigen/src/Core/arch/Default/ConjHelper.h +78 -67
  147. package/eigen/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +1784 -799
  148. package/eigen/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +167 -50
  149. package/eigen/Eigen/src/Core/arch/Default/Half.h +528 -379
  150. package/eigen/Eigen/src/Core/arch/Default/Settings.h +10 -12
  151. package/eigen/Eigen/src/Core/arch/GPU/Complex.h +244 -0
  152. package/eigen/Eigen/src/Core/arch/GPU/MathFunctions.h +41 -40
  153. package/eigen/Eigen/src/Core/arch/GPU/PacketMath.h +550 -523
  154. package/eigen/Eigen/src/Core/arch/GPU/Tuple.h +268 -0
  155. package/eigen/Eigen/src/Core/arch/GPU/TypeCasting.h +27 -30
  156. package/eigen/Eigen/src/Core/arch/HIP/hcc/math_constants.h +8 -8
  157. package/eigen/Eigen/src/Core/arch/HVX/PacketMath.h +1088 -0
  158. package/eigen/Eigen/src/Core/arch/LSX/Complex.h +520 -0
  159. package/eigen/Eigen/src/Core/arch/LSX/GeneralBlockPanelKernel.h +23 -0
  160. package/eigen/Eigen/src/Core/arch/LSX/MathFunctions.h +43 -0
  161. package/eigen/Eigen/src/Core/arch/LSX/PacketMath.h +2866 -0
  162. package/eigen/Eigen/src/Core/arch/LSX/TypeCasting.h +526 -0
  163. package/eigen/Eigen/src/Core/arch/MSA/Complex.h +54 -82
  164. package/eigen/Eigen/src/Core/arch/MSA/MathFunctions.h +84 -92
  165. package/eigen/Eigen/src/Core/arch/MSA/PacketMath.h +51 -47
  166. package/eigen/Eigen/src/Core/arch/NEON/Complex.h +454 -306
  167. package/eigen/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +175 -115
  168. package/eigen/Eigen/src/Core/arch/NEON/MathFunctions.h +23 -30
  169. package/eigen/Eigen/src/Core/arch/NEON/PacketMath.h +4366 -2857
  170. package/eigen/Eigen/src/Core/arch/NEON/TypeCasting.h +616 -393
  171. package/eigen/Eigen/src/Core/arch/NEON/UnaryFunctors.h +57 -0
  172. package/eigen/Eigen/src/Core/arch/SSE/Complex.h +350 -198
  173. package/eigen/Eigen/src/Core/arch/SSE/MathFunctions.h +38 -149
  174. package/eigen/Eigen/src/Core/arch/SSE/PacketMath.h +1791 -912
  175. package/eigen/Eigen/src/Core/arch/SSE/Reductions.h +324 -0
  176. package/eigen/Eigen/src/Core/arch/SSE/TypeCasting.h +128 -40
  177. package/eigen/Eigen/src/Core/arch/SVE/MathFunctions.h +10 -6
  178. package/eigen/Eigen/src/Core/arch/SVE/PacketMath.h +156 -234
  179. package/eigen/Eigen/src/Core/arch/SVE/TypeCasting.h +6 -3
  180. package/eigen/Eigen/src/Core/arch/SYCL/InteropHeaders.h +27 -32
  181. package/eigen/Eigen/src/Core/arch/SYCL/MathFunctions.h +119 -117
  182. package/eigen/Eigen/src/Core/arch/SYCL/PacketMath.h +325 -419
  183. package/eigen/Eigen/src/Core/arch/SYCL/TypeCasting.h +15 -17
  184. package/eigen/Eigen/src/Core/arch/ZVector/Complex.h +325 -181
  185. package/eigen/Eigen/src/Core/arch/ZVector/MathFunctions.h +94 -83
  186. package/eigen/Eigen/src/Core/arch/ZVector/PacketMath.h +811 -458
  187. package/eigen/Eigen/src/Core/functors/AssignmentFunctors.h +121 -124
  188. package/eigen/Eigen/src/Core/functors/BinaryFunctors.h +576 -370
  189. package/eigen/Eigen/src/Core/functors/NullaryFunctors.h +194 -109
  190. package/eigen/Eigen/src/Core/functors/StlFunctors.h +95 -112
  191. package/eigen/Eigen/src/Core/functors/TernaryFunctors.h +34 -7
  192. package/eigen/Eigen/src/Core/functors/UnaryFunctors.h +1038 -749
  193. package/eigen/Eigen/src/Core/products/GeneralBlockPanelKernel.h +1883 -1375
  194. package/eigen/Eigen/src/Core/products/GeneralMatrixMatrix.h +312 -370
  195. package/eigen/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +189 -176
  196. package/eigen/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +84 -81
  197. package/eigen/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +154 -73
  198. package/eigen/Eigen/src/Core/products/GeneralMatrixVector.h +292 -337
  199. package/eigen/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h +80 -77
  200. package/eigen/Eigen/src/Core/products/Parallelizer.h +207 -105
  201. package/eigen/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +327 -388
  202. package/eigen/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +206 -224
  203. package/eigen/Eigen/src/Core/products/SelfadjointMatrixVector.h +138 -147
  204. package/eigen/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h +58 -61
  205. package/eigen/Eigen/src/Core/products/SelfadjointProduct.h +71 -71
  206. package/eigen/Eigen/src/Core/products/SelfadjointRank2Update.h +48 -47
  207. package/eigen/Eigen/src/Core/products/TriangularMatrixMatrix.h +294 -369
  208. package/eigen/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h +246 -238
  209. package/eigen/Eigen/src/Core/products/TriangularMatrixVector.h +244 -247
  210. package/eigen/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h +212 -192
  211. package/eigen/Eigen/src/Core/products/TriangularSolverMatrix.h +328 -277
  212. package/eigen/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +108 -109
  213. package/eigen/Eigen/src/Core/products/TriangularSolverVector.h +68 -94
  214. package/eigen/Eigen/src/Core/util/Assert.h +158 -0
  215. package/eigen/Eigen/src/Core/util/BlasUtil.h +342 -303
  216. package/eigen/Eigen/src/Core/util/ConfigureVectorization.h +348 -317
  217. package/eigen/Eigen/src/Core/util/Constants.h +297 -262
  218. package/eigen/Eigen/src/Core/util/DisableStupidWarnings.h +130 -90
  219. package/eigen/Eigen/src/Core/util/EmulateArray.h +270 -0
  220. package/eigen/Eigen/src/Core/util/ForwardDeclarations.h +449 -247
  221. package/eigen/Eigen/src/Core/util/GpuHipCudaDefines.inc +101 -0
  222. package/eigen/Eigen/src/Core/util/GpuHipCudaUndefines.inc +45 -0
  223. package/eigen/Eigen/src/Core/util/IndexedViewHelper.h +417 -116
  224. package/eigen/Eigen/src/Core/util/IntegralConstant.h +211 -204
  225. package/eigen/Eigen/src/Core/util/MKL_support.h +39 -37
  226. package/eigen/Eigen/src/Core/util/Macros.h +655 -773
  227. package/eigen/Eigen/src/Core/util/MaxSizeVector.h +139 -0
  228. package/eigen/Eigen/src/Core/util/Memory.h +970 -748
  229. package/eigen/Eigen/src/Core/util/Meta.h +581 -633
  230. package/eigen/Eigen/src/Core/util/MoreMeta.h +638 -0
  231. package/eigen/Eigen/src/Core/util/ReenableStupidWarnings.h +32 -19
  232. package/eigen/Eigen/src/Core/util/ReshapedHelper.h +17 -17
  233. package/eigen/Eigen/src/Core/util/Serializer.h +209 -0
  234. package/eigen/Eigen/src/Core/util/StaticAssert.h +50 -166
  235. package/eigen/Eigen/src/Core/util/SymbolicIndex.h +377 -225
  236. package/eigen/Eigen/src/Core/util/XprHelper.h +784 -547
  237. package/eigen/Eigen/src/Eigenvalues/ComplexEigenSolver.h +246 -277
  238. package/eigen/Eigen/src/Eigenvalues/ComplexSchur.h +299 -319
  239. package/eigen/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +52 -48
  240. package/eigen/Eigen/src/Eigenvalues/EigenSolver.h +413 -456
  241. package/eigen/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +309 -325
  242. package/eigen/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +157 -171
  243. package/eigen/Eigen/src/Eigenvalues/HessenbergDecomposition.h +292 -310
  244. package/eigen/Eigen/src/Eigenvalues/InternalHeaderCheck.h +3 -0
  245. package/eigen/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +89 -105
  246. package/eigen/Eigen/src/Eigenvalues/RealQZ.h +537 -607
  247. package/eigen/Eigen/src/Eigenvalues/RealSchur.h +342 -381
  248. package/eigen/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +41 -35
  249. package/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +541 -595
  250. package/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +47 -44
  251. package/eigen/Eigen/src/Eigenvalues/Tridiagonalization.h +430 -462
  252. package/eigen/Eigen/src/Geometry/AlignedBox.h +226 -227
  253. package/eigen/Eigen/src/Geometry/AngleAxis.h +131 -133
  254. package/eigen/Eigen/src/Geometry/EulerAngles.h +163 -74
  255. package/eigen/Eigen/src/Geometry/Homogeneous.h +285 -333
  256. package/eigen/Eigen/src/Geometry/Hyperplane.h +151 -160
  257. package/eigen/Eigen/src/Geometry/InternalHeaderCheck.h +3 -0
  258. package/eigen/Eigen/src/Geometry/OrthoMethods.h +168 -146
  259. package/eigen/Eigen/src/Geometry/ParametrizedLine.h +127 -127
  260. package/eigen/Eigen/src/Geometry/Quaternion.h +566 -506
  261. package/eigen/Eigen/src/Geometry/Rotation2D.h +107 -105
  262. package/eigen/Eigen/src/Geometry/RotationBase.h +148 -145
  263. package/eigen/Eigen/src/Geometry/Scaling.h +113 -106
  264. package/eigen/Eigen/src/Geometry/Transform.h +858 -936
  265. package/eigen/Eigen/src/Geometry/Translation.h +94 -92
  266. package/eigen/Eigen/src/Geometry/Umeyama.h +79 -84
  267. package/eigen/Eigen/src/Geometry/arch/Geometry_SIMD.h +90 -104
  268. package/eigen/Eigen/src/Householder/BlockHouseholder.h +51 -46
  269. package/eigen/Eigen/src/Householder/Householder.h +102 -124
  270. package/eigen/Eigen/src/Householder/HouseholderSequence.h +412 -453
  271. package/eigen/Eigen/src/Householder/InternalHeaderCheck.h +3 -0
  272. package/eigen/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +149 -162
  273. package/eigen/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +124 -119
  274. package/eigen/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +92 -104
  275. package/eigen/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +251 -243
  276. package/eigen/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +224 -228
  277. package/eigen/Eigen/src/IterativeLinearSolvers/InternalHeaderCheck.h +3 -0
  278. package/eigen/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +178 -227
  279. package/eigen/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +79 -84
  280. package/eigen/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +54 -60
  281. package/eigen/Eigen/src/Jacobi/InternalHeaderCheck.h +3 -0
  282. package/eigen/Eigen/src/Jacobi/Jacobi.h +252 -308
  283. package/eigen/Eigen/src/KLUSupport/InternalHeaderCheck.h +3 -0
  284. package/eigen/Eigen/src/KLUSupport/KLUSupport.h +208 -227
  285. package/eigen/Eigen/src/LU/Determinant.h +50 -69
  286. package/eigen/Eigen/src/LU/FullPivLU.h +545 -596
  287. package/eigen/Eigen/src/LU/InternalHeaderCheck.h +3 -0
  288. package/eigen/Eigen/src/LU/InverseImpl.h +206 -285
  289. package/eigen/Eigen/src/LU/PartialPivLU.h +390 -428
  290. package/eigen/Eigen/src/LU/PartialPivLU_LAPACKE.h +54 -40
  291. package/eigen/Eigen/src/LU/arch/InverseSize4.h +72 -70
  292. package/eigen/Eigen/src/MetisSupport/InternalHeaderCheck.h +3 -0
  293. package/eigen/Eigen/src/MetisSupport/MetisSupport.h +81 -93
  294. package/eigen/Eigen/src/OrderingMethods/Amd.h +243 -265
  295. package/eigen/Eigen/src/OrderingMethods/Eigen_Colamd.h +831 -1004
  296. package/eigen/Eigen/src/OrderingMethods/InternalHeaderCheck.h +3 -0
  297. package/eigen/Eigen/src/OrderingMethods/Ordering.h +112 -119
  298. package/eigen/Eigen/src/PaStiXSupport/InternalHeaderCheck.h +3 -0
  299. package/eigen/Eigen/src/PaStiXSupport/PaStiXSupport.h +524 -570
  300. package/eigen/Eigen/src/PardisoSupport/InternalHeaderCheck.h +3 -0
  301. package/eigen/Eigen/src/PardisoSupport/PardisoSupport.h +385 -430
  302. package/eigen/Eigen/src/QR/ColPivHouseholderQR.h +479 -479
  303. package/eigen/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +120 -56
  304. package/eigen/Eigen/src/QR/CompleteOrthogonalDecomposition.h +166 -153
  305. package/eigen/Eigen/src/QR/FullPivHouseholderQR.h +495 -475
  306. package/eigen/Eigen/src/QR/HouseholderQR.h +394 -285
  307. package/eigen/Eigen/src/QR/HouseholderQR_LAPACKE.h +32 -23
  308. package/eigen/Eigen/src/QR/InternalHeaderCheck.h +3 -0
  309. package/eigen/Eigen/src/SPQRSupport/InternalHeaderCheck.h +3 -0
  310. package/eigen/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +244 -264
  311. package/eigen/Eigen/src/SVD/BDCSVD.h +817 -713
  312. package/eigen/Eigen/src/SVD/BDCSVD_LAPACKE.h +174 -0
  313. package/eigen/Eigen/src/SVD/InternalHeaderCheck.h +3 -0
  314. package/eigen/Eigen/src/SVD/JacobiSVD.h +577 -543
  315. package/eigen/Eigen/src/SVD/JacobiSVD_LAPACKE.h +85 -49
  316. package/eigen/Eigen/src/SVD/SVDBase.h +242 -182
  317. package/eigen/Eigen/src/SVD/UpperBidiagonalization.h +200 -235
  318. package/eigen/Eigen/src/SparseCholesky/InternalHeaderCheck.h +3 -0
  319. package/eigen/Eigen/src/SparseCholesky/SimplicialCholesky.h +765 -594
  320. package/eigen/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +308 -94
  321. package/eigen/Eigen/src/SparseCore/AmbiVector.h +202 -251
  322. package/eigen/Eigen/src/SparseCore/CompressedStorage.h +184 -252
  323. package/eigen/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +134 -178
  324. package/eigen/Eigen/src/SparseCore/InternalHeaderCheck.h +3 -0
  325. package/eigen/Eigen/src/SparseCore/SparseAssign.h +149 -140
  326. package/eigen/Eigen/src/SparseCore/SparseBlock.h +403 -440
  327. package/eigen/Eigen/src/SparseCore/SparseColEtree.h +100 -112
  328. package/eigen/Eigen/src/SparseCore/SparseCompressedBase.h +525 -303
  329. package/eigen/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +555 -339
  330. package/eigen/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +100 -108
  331. package/eigen/Eigen/src/SparseCore/SparseDenseProduct.h +169 -197
  332. package/eigen/Eigen/src/SparseCore/SparseDiagonalProduct.h +71 -71
  333. package/eigen/Eigen/src/SparseCore/SparseDot.h +49 -47
  334. package/eigen/Eigen/src/SparseCore/SparseFuzzy.h +13 -11
  335. package/eigen/Eigen/src/SparseCore/SparseMap.h +243 -253
  336. package/eigen/Eigen/src/SparseCore/SparseMatrix.h +1603 -1245
  337. package/eigen/Eigen/src/SparseCore/SparseMatrixBase.h +403 -350
  338. package/eigen/Eigen/src/SparseCore/SparsePermutation.h +186 -115
  339. package/eigen/Eigen/src/SparseCore/SparseProduct.h +94 -97
  340. package/eigen/Eigen/src/SparseCore/SparseRedux.h +22 -24
  341. package/eigen/Eigen/src/SparseCore/SparseRef.h +268 -295
  342. package/eigen/Eigen/src/SparseCore/SparseSelfAdjointView.h +370 -416
  343. package/eigen/Eigen/src/SparseCore/SparseSolverBase.h +78 -87
  344. package/eigen/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +81 -95
  345. package/eigen/Eigen/src/SparseCore/SparseTranspose.h +62 -71
  346. package/eigen/Eigen/src/SparseCore/SparseTriangularView.h +132 -144
  347. package/eigen/Eigen/src/SparseCore/SparseUtil.h +138 -115
  348. package/eigen/Eigen/src/SparseCore/SparseVector.h +426 -372
  349. package/eigen/Eigen/src/SparseCore/SparseView.h +164 -193
  350. package/eigen/Eigen/src/SparseCore/TriangularSolver.h +129 -170
  351. package/eigen/Eigen/src/SparseLU/InternalHeaderCheck.h +3 -0
  352. package/eigen/Eigen/src/SparseLU/SparseLU.h +756 -710
  353. package/eigen/Eigen/src/SparseLU/SparseLUImpl.h +61 -48
  354. package/eigen/Eigen/src/SparseLU/SparseLU_Memory.h +102 -118
  355. package/eigen/Eigen/src/SparseLU/SparseLU_Structs.h +38 -35
  356. package/eigen/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +245 -301
  357. package/eigen/Eigen/src/SparseLU/SparseLU_Utils.h +44 -49
  358. package/eigen/Eigen/src/SparseLU/SparseLU_column_bmod.h +104 -108
  359. package/eigen/Eigen/src/SparseLU/SparseLU_column_dfs.h +89 -100
  360. package/eigen/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +57 -58
  361. package/eigen/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +43 -55
  362. package/eigen/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +74 -71
  363. package/eigen/Eigen/src/SparseLU/SparseLU_panel_bmod.h +124 -132
  364. package/eigen/Eigen/src/SparseLU/SparseLU_panel_dfs.h +136 -159
  365. package/eigen/Eigen/src/SparseLU/SparseLU_pivotL.h +51 -52
  366. package/eigen/Eigen/src/SparseLU/SparseLU_pruneL.h +67 -73
  367. package/eigen/Eigen/src/SparseLU/SparseLU_relax_snode.h +24 -26
  368. package/eigen/Eigen/src/SparseQR/InternalHeaderCheck.h +3 -0
  369. package/eigen/Eigen/src/SparseQR/SparseQR.h +450 -502
  370. package/eigen/Eigen/src/StlSupport/StdDeque.h +28 -93
  371. package/eigen/Eigen/src/StlSupport/StdList.h +28 -84
  372. package/eigen/Eigen/src/StlSupport/StdVector.h +28 -108
  373. package/eigen/Eigen/src/StlSupport/details.h +48 -50
  374. package/eigen/Eigen/src/SuperLUSupport/InternalHeaderCheck.h +3 -0
  375. package/eigen/Eigen/src/SuperLUSupport/SuperLUSupport.h +634 -730
  376. package/eigen/Eigen/src/ThreadPool/Barrier.h +70 -0
  377. package/eigen/Eigen/src/ThreadPool/CoreThreadPoolDevice.h +336 -0
  378. package/eigen/Eigen/src/ThreadPool/EventCount.h +241 -0
  379. package/eigen/Eigen/src/ThreadPool/ForkJoin.h +140 -0
  380. package/eigen/Eigen/src/ThreadPool/InternalHeaderCheck.h +4 -0
  381. package/eigen/Eigen/src/ThreadPool/NonBlockingThreadPool.h +587 -0
  382. package/eigen/Eigen/src/ThreadPool/RunQueue.h +230 -0
  383. package/eigen/Eigen/src/ThreadPool/ThreadCancel.h +21 -0
  384. package/eigen/Eigen/src/ThreadPool/ThreadEnvironment.h +43 -0
  385. package/eigen/Eigen/src/ThreadPool/ThreadLocal.h +289 -0
  386. package/eigen/Eigen/src/ThreadPool/ThreadPoolInterface.h +50 -0
  387. package/eigen/Eigen/src/ThreadPool/ThreadYield.h +16 -0
  388. package/eigen/Eigen/src/UmfPackSupport/InternalHeaderCheck.h +3 -0
  389. package/eigen/Eigen/src/UmfPackSupport/UmfPackSupport.h +428 -464
  390. package/eigen/Eigen/src/misc/Image.h +41 -43
  391. package/eigen/Eigen/src/misc/InternalHeaderCheck.h +3 -0
  392. package/eigen/Eigen/src/misc/Kernel.h +39 -41
  393. package/eigen/Eigen/src/misc/RealSvd2x2.h +19 -21
  394. package/eigen/Eigen/src/misc/blas.h +83 -426
  395. package/eigen/Eigen/src/misc/lapacke.h +9972 -16179
  396. package/eigen/Eigen/src/misc/lapacke_helpers.h +163 -0
  397. package/eigen/Eigen/src/misc/lapacke_mangling.h +4 -5
  398. package/eigen/Eigen/src/plugins/ArrayCwiseBinaryOps.inc +344 -0
  399. package/eigen/Eigen/src/plugins/ArrayCwiseUnaryOps.inc +544 -0
  400. package/eigen/Eigen/src/plugins/{BlockMethods.h → BlockMethods.inc} +434 -506
  401. package/eigen/Eigen/src/plugins/CommonCwiseBinaryOps.inc +116 -0
  402. package/eigen/Eigen/src/plugins/{CommonCwiseUnaryOps.h → CommonCwiseUnaryOps.inc} +58 -68
  403. package/eigen/Eigen/src/plugins/IndexedViewMethods.inc +192 -0
  404. package/eigen/Eigen/src/plugins/InternalHeaderCheck.inc +3 -0
  405. package/eigen/Eigen/src/plugins/MatrixCwiseBinaryOps.inc +331 -0
  406. package/eigen/Eigen/src/plugins/MatrixCwiseUnaryOps.inc +118 -0
  407. package/eigen/Eigen/src/plugins/ReshapedMethods.inc +133 -0
  408. package/package.json +1 -1
  409. package/eigen/COPYING.APACHE +0 -203
  410. package/eigen/COPYING.BSD +0 -26
  411. package/eigen/COPYING.GPL +0 -674
  412. package/eigen/COPYING.LGPL +0 -502
  413. package/eigen/COPYING.MINPACK +0 -51
  414. package/eigen/COPYING.MPL2 +0 -373
  415. package/eigen/COPYING.README +0 -18
  416. package/eigen/Eigen/src/Core/BooleanRedux.h +0 -162
  417. package/eigen/Eigen/src/Core/arch/CUDA/Complex.h +0 -258
  418. package/eigen/Eigen/src/Core/arch/Default/TypeCasting.h +0 -120
  419. package/eigen/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h +0 -694
  420. package/eigen/Eigen/src/Core/util/NonMPL2.h +0 -3
  421. package/eigen/Eigen/src/SparseCore/MappedSparseMatrix.h +0 -67
  422. package/eigen/Eigen/src/SparseLU/SparseLU_gemm_kernel.h +0 -280
  423. package/eigen/Eigen/src/misc/lapack.h +0 -152
  424. package/eigen/Eigen/src/plugins/ArrayCwiseBinaryOps.h +0 -358
  425. package/eigen/Eigen/src/plugins/ArrayCwiseUnaryOps.h +0 -696
  426. package/eigen/Eigen/src/plugins/CommonCwiseBinaryOps.h +0 -115
  427. package/eigen/Eigen/src/plugins/IndexedViewMethods.h +0 -262
  428. package/eigen/Eigen/src/plugins/MatrixCwiseBinaryOps.h +0 -152
  429. package/eigen/Eigen/src/plugins/MatrixCwiseUnaryOps.h +0 -95
  430. package/eigen/Eigen/src/plugins/ReshapedMethods.h +0 -149
  431. package/eigen/README.md +0 -5
@@ -46,79 +46,89 @@
46
46
  #ifndef EIGEN_ALIGNEDBOX_H
47
47
  #define EIGEN_ALIGNEDBOX_H
48
48
 
49
+ // IWYU pragma: private
50
+ #include "./InternalHeaderCheck.h"
51
+
49
52
  namespace Eigen {
50
53
 
51
54
  /** \geometry_module \ingroup Geometry_Module
52
- *
53
- *
54
- * \class AlignedBox
55
- *
56
- * \brief An axis aligned box
57
- *
58
- * \tparam _Scalar the type of the scalar coefficients
59
- * \tparam _AmbientDim the dimension of the ambient space, can be a compile time value or Dynamic.
60
- *
61
- * This class represents an axis aligned box as a pair of the minimal and maximal corners.
62
- * \warning The result of most methods is undefined when applied to an empty box. You can check for empty boxes using isEmpty().
63
- * \sa alignedboxtypedefs
64
- */
65
- template <typename _Scalar, int _AmbientDim>
66
- class AlignedBox
67
- {
68
- public:
69
- EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE_FIXED_SIZE(_Scalar,_AmbientDim)
70
- enum { AmbientDimAtCompileTime = _AmbientDim };
71
- typedef _Scalar Scalar;
72
- typedef NumTraits<Scalar> ScalarTraits;
73
- typedef Eigen::Index Index; ///< \deprecated since Eigen 3.3
74
- typedef typename ScalarTraits::Real RealScalar;
75
- typedef typename ScalarTraits::NonInteger NonInteger;
76
- typedef Matrix<Scalar,AmbientDimAtCompileTime,1> VectorType;
55
+ *
56
+ *
57
+ * \class AlignedBox
58
+ *
59
+ * \brief An axis aligned box
60
+ *
61
+ * \tparam Scalar_ the type of the scalar coefficients
62
+ * \tparam AmbientDim_ the dimension of the ambient space, can be a compile time value or Dynamic.
63
+ *
64
+ * This class represents an axis aligned box as a pair of the minimal and maximal corners.
65
+ * \warning The result of most methods is undefined when applied to an empty box. You can check for empty boxes using
66
+ * isEmpty(). \sa alignedboxtypedefs
67
+ */
68
+ template <typename Scalar_, int AmbientDim_>
69
+ class AlignedBox {
70
+ public:
71
+ EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE_FIXED_SIZE(Scalar_, AmbientDim_)
72
+ enum { AmbientDimAtCompileTime = AmbientDim_ };
73
+ typedef Scalar_ Scalar;
74
+ typedef NumTraits<Scalar> ScalarTraits;
75
+ typedef Eigen::Index Index; ///< \deprecated since Eigen 3.3
76
+ typedef typename ScalarTraits::Real RealScalar;
77
+ typedef typename ScalarTraits::NonInteger NonInteger;
78
+ typedef Matrix<Scalar, AmbientDimAtCompileTime, 1> VectorType;
77
79
  typedef CwiseBinaryOp<internal::scalar_sum_op<Scalar>, const VectorType, const VectorType> VectorTypeSum;
78
80
 
79
81
  /** Define constants to name the corners of a 1D, 2D or 3D axis aligned bounding box */
80
- enum CornerType
81
- {
82
+ enum CornerType {
82
83
  /** 1D names @{ */
83
- Min=0, Max=1,
84
+ Min = 0,
85
+ Max = 1,
84
86
  /** @} */
85
87
 
86
88
  /** Identifier for 2D corner @{ */
87
- BottomLeft=0, BottomRight=1,
88
- TopLeft=2, TopRight=3,
89
+ BottomLeft = 0,
90
+ BottomRight = 1,
91
+ TopLeft = 2,
92
+ TopRight = 3,
89
93
  /** @} */
90
94
 
91
95
  /** Identifier for 3D corner @{ */
92
- BottomLeftFloor=0, BottomRightFloor=1,
93
- TopLeftFloor=2, TopRightFloor=3,
94
- BottomLeftCeil=4, BottomRightCeil=5,
95
- TopLeftCeil=6, TopRightCeil=7
96
+ BottomLeftFloor = 0,
97
+ BottomRightFloor = 1,
98
+ TopLeftFloor = 2,
99
+ TopRightFloor = 3,
100
+ BottomLeftCeil = 4,
101
+ BottomRightCeil = 5,
102
+ TopLeftCeil = 6,
103
+ TopRightCeil = 7
96
104
  /** @} */
97
105
  };
98
106
 
99
-
100
107
  /** Default constructor initializing a null box. */
101
- EIGEN_DEVICE_FUNC inline AlignedBox()
102
- { if (EIGEN_CONST_CONDITIONAL(AmbientDimAtCompileTime!=Dynamic)) setEmpty(); }
108
+ EIGEN_DEVICE_FUNC inline AlignedBox() {
109
+ if (EIGEN_CONST_CONDITIONAL(AmbientDimAtCompileTime != Dynamic)) setEmpty();
110
+ }
103
111
 
104
112
  /** Constructs a null box with \a _dim the dimension of the ambient space. */
105
- EIGEN_DEVICE_FUNC inline explicit AlignedBox(Index _dim) : m_min(_dim), m_max(_dim)
106
- { setEmpty(); }
113
+ EIGEN_DEVICE_FUNC inline explicit AlignedBox(Index _dim) : m_min(_dim), m_max(_dim) { setEmpty(); }
107
114
 
108
115
  /** Constructs a box with extremities \a _min and \a _max.
109
- * \warning If either component of \a _min is larger than the same component of \a _max, the constructed box is empty. */
110
- template<typename OtherVectorType1, typename OtherVectorType2>
111
- EIGEN_DEVICE_FUNC inline AlignedBox(const OtherVectorType1& _min, const OtherVectorType2& _max) : m_min(_min), m_max(_max) {}
116
+ * \warning If either component of \a _min is larger than the same component of \a _max, the constructed box is empty.
117
+ */
118
+ template <typename OtherVectorType1, typename OtherVectorType2>
119
+ EIGEN_DEVICE_FUNC inline AlignedBox(const OtherVectorType1& _min, const OtherVectorType2& _max)
120
+ : m_min(_min), m_max(_max) {}
112
121
 
113
122
  /** Constructs a box containing a single point \a p. */
114
- template<typename Derived>
115
- EIGEN_DEVICE_FUNC inline explicit AlignedBox(const MatrixBase<Derived>& p) : m_min(p), m_max(m_min)
116
- { }
123
+ template <typename Derived>
124
+ EIGEN_DEVICE_FUNC inline explicit AlignedBox(const MatrixBase<Derived>& p) : m_min(p), m_max(m_min) {}
117
125
 
118
126
  EIGEN_DEVICE_FUNC ~AlignedBox() {}
119
127
 
120
128
  /** \returns the dimension in which the box holds */
121
- EIGEN_DEVICE_FUNC inline Index dim() const { return AmbientDimAtCompileTime==Dynamic ? m_min.size() : Index(AmbientDimAtCompileTime); }
129
+ EIGEN_DEVICE_FUNC inline Index dim() const {
130
+ return AmbientDimAtCompileTime == Dynamic ? m_min.size() : Index(AmbientDimAtCompileTime);
131
+ }
122
132
 
123
133
  /** \deprecated use isEmpty() */
124
134
  EIGEN_DEVICE_FUNC inline bool isNull() const { return isEmpty(); }
@@ -132,64 +142,69 @@ EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE_FIXED_SIZE(_Scalar,_AmbientDim)
132
142
 
133
143
  /** Makes \c *this an empty box.
134
144
  * \sa isEmpty */
135
- EIGEN_DEVICE_FUNC inline void setEmpty()
136
- {
137
- m_min.setConstant( ScalarTraits::highest() );
138
- m_max.setConstant( ScalarTraits::lowest() );
145
+ EIGEN_DEVICE_FUNC inline void setEmpty() {
146
+ m_min.setConstant(ScalarTraits::highest());
147
+ m_max.setConstant(ScalarTraits::lowest());
139
148
  }
140
149
 
141
150
  /** \returns the minimal corner */
142
- EIGEN_DEVICE_FUNC inline const VectorType& (min)() const { return m_min; }
151
+ EIGEN_DEVICE_FUNC inline const VectorType&(min)() const { return m_min; }
143
152
  /** \returns a non const reference to the minimal corner */
144
- EIGEN_DEVICE_FUNC inline VectorType& (min)() { return m_min; }
153
+ EIGEN_DEVICE_FUNC inline VectorType&(min)() { return m_min; }
145
154
  /** \returns the maximal corner */
146
- EIGEN_DEVICE_FUNC inline const VectorType& (max)() const { return m_max; }
155
+ EIGEN_DEVICE_FUNC inline const VectorType&(max)() const { return m_max; }
147
156
  /** \returns a non const reference to the maximal corner */
148
- EIGEN_DEVICE_FUNC inline VectorType& (max)() { return m_max; }
157
+ EIGEN_DEVICE_FUNC inline VectorType&(max)() { return m_max; }
149
158
 
150
159
  /** \returns the center of the box */
151
160
  EIGEN_DEVICE_FUNC inline const EIGEN_EXPR_BINARYOP_SCALAR_RETURN_TYPE(VectorTypeSum, RealScalar, quotient)
152
- center() const
153
- { return (m_min+m_max)/RealScalar(2); }
161
+ center() const {
162
+ return (m_min + m_max) / RealScalar(2);
163
+ }
154
164
 
155
165
  /** \returns the lengths of the sides of the bounding box.
156
- * Note that this function does not get the same
157
- * result for integral or floating scalar types: see
158
- */
159
- EIGEN_DEVICE_FUNC inline const CwiseBinaryOp< internal::scalar_difference_op<Scalar,Scalar>, const VectorType, const VectorType> sizes() const
160
- { return m_max - m_min; }
166
+ * Note that this function does not get the same
167
+ * result for integral or floating scalar types: see
168
+ */
169
+ EIGEN_DEVICE_FUNC inline const CwiseBinaryOp<internal::scalar_difference_op<Scalar, Scalar>, const VectorType,
170
+ const VectorType>
171
+ sizes() const {
172
+ return m_max - m_min;
173
+ }
161
174
 
162
175
  /** \returns the volume of the bounding box */
163
- EIGEN_DEVICE_FUNC inline Scalar volume() const
164
- { return sizes().prod(); }
176
+ EIGEN_DEVICE_FUNC inline Scalar volume() const { return isEmpty() ? Scalar(0) : sizes().prod(); }
165
177
 
166
178
  /** \returns an expression for the bounding box diagonal vector
167
- * if the length of the diagonal is needed: diagonal().norm()
168
- * will provide it.
169
- */
170
- EIGEN_DEVICE_FUNC inline CwiseBinaryOp< internal::scalar_difference_op<Scalar,Scalar>, const VectorType, const VectorType> diagonal() const
171
- { return sizes(); }
179
+ * if the length of the diagonal is needed: diagonal().norm()
180
+ * will provide it.
181
+ */
182
+ EIGEN_DEVICE_FUNC inline CwiseBinaryOp<internal::scalar_difference_op<Scalar, Scalar>, const VectorType,
183
+ const VectorType>
184
+ diagonal() const {
185
+ return sizes();
186
+ }
172
187
 
173
188
  /** \returns the vertex of the bounding box at the corner defined by
174
- * the corner-id corner. It works only for a 1D, 2D or 3D bounding box.
175
- * For 1D bounding boxes corners are named by 2 enum constants:
176
- * BottomLeft and BottomRight.
177
- * For 2D bounding boxes, corners are named by 4 enum constants:
178
- * BottomLeft, BottomRight, TopLeft, TopRight.
179
- * For 3D bounding boxes, the following names are added:
180
- * BottomLeftCeil, BottomRightCeil, TopLeftCeil, TopRightCeil.
181
- */
182
- EIGEN_DEVICE_FUNC inline VectorType corner(CornerType corner) const
183
- {
184
- EIGEN_STATIC_ASSERT(_AmbientDim <= 3, THIS_METHOD_IS_ONLY_FOR_VECTORS_OF_A_SPECIFIC_SIZE);
189
+ * the corner-id corner. It works only for a 1D, 2D or 3D bounding box.
190
+ * For 1D bounding boxes corners are named by 2 enum constants:
191
+ * BottomLeft and BottomRight.
192
+ * For 2D bounding boxes, corners are named by 4 enum constants:
193
+ * BottomLeft, BottomRight, TopLeft, TopRight.
194
+ * For 3D bounding boxes, the following names are added:
195
+ * BottomLeftCeil, BottomRightCeil, TopLeftCeil, TopRightCeil.
196
+ */
197
+ EIGEN_DEVICE_FUNC inline VectorType corner(CornerType corner) const {
198
+ EIGEN_STATIC_ASSERT(AmbientDim_ <= 3, THIS_METHOD_IS_ONLY_FOR_VECTORS_OF_A_SPECIFIC_SIZE);
185
199
 
186
200
  VectorType res;
187
201
 
188
202
  Index mult = 1;
189
- for(Index d=0; d<dim(); ++d)
190
- {
191
- if( mult & corner ) res[d] = m_max[d];
192
- else res[d] = m_min[d];
203
+ for (Index d = 0; d < dim(); ++d) {
204
+ if (mult & corner)
205
+ res[d] = m_max[d];
206
+ else
207
+ res[d] = m_min[d];
193
208
  mult *= 2;
194
209
  }
195
210
  return res;
@@ -197,45 +212,40 @@ EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE_FIXED_SIZE(_Scalar,_AmbientDim)
197
212
 
198
213
  /** \returns a random point inside the bounding box sampled with
199
214
  * a uniform distribution */
200
- EIGEN_DEVICE_FUNC inline VectorType sample() const
201
- {
215
+ EIGEN_DEVICE_FUNC inline VectorType sample() const {
202
216
  VectorType r(dim());
203
- for(Index d=0; d<dim(); ++d)
204
- {
205
- if(!ScalarTraits::IsInteger)
206
- {
207
- r[d] = m_min[d] + (m_max[d]-m_min[d])
208
- * internal::random<Scalar>(Scalar(0), Scalar(1));
209
- }
210
- else
217
+ for (Index d = 0; d < dim(); ++d) {
218
+ if (!ScalarTraits::IsInteger) {
219
+ r[d] = m_min[d] + (m_max[d] - m_min[d]) * internal::random<Scalar>(Scalar(0), Scalar(1));
220
+ } else
211
221
  r[d] = internal::random(m_min[d], m_max[d]);
212
222
  }
213
223
  return r;
214
224
  }
215
225
 
216
226
  /** \returns true if the point \a p is inside the box \c *this. */
217
- template<typename Derived>
218
- EIGEN_DEVICE_FUNC inline bool contains(const MatrixBase<Derived>& p) const
219
- {
220
- typename internal::nested_eval<Derived,2>::type p_n(p.derived());
221
- return (m_min.array()<=p_n.array()).all() && (p_n.array()<=m_max.array()).all();
227
+ template <typename Derived>
228
+ EIGEN_DEVICE_FUNC inline bool contains(const MatrixBase<Derived>& p) const {
229
+ typename internal::nested_eval<Derived, 2>::type p_n(p.derived());
230
+ return (m_min.array() <= p_n.array()).all() && (p_n.array() <= m_max.array()).all();
222
231
  }
223
232
 
224
233
  /** \returns true if the box \a b is entirely inside the box \c *this. */
225
- EIGEN_DEVICE_FUNC inline bool contains(const AlignedBox& b) const
226
- { return (m_min.array()<=(b.min)().array()).all() && ((b.max)().array()<=m_max.array()).all(); }
234
+ EIGEN_DEVICE_FUNC inline bool contains(const AlignedBox& b) const {
235
+ return (m_min.array() <= (b.min)().array()).all() && ((b.max)().array() <= m_max.array()).all();
236
+ }
227
237
 
228
238
  /** \returns true if the box \a b is intersecting the box \c *this.
229
239
  * \sa intersection, clamp */
230
- EIGEN_DEVICE_FUNC inline bool intersects(const AlignedBox& b) const
231
- { return (m_min.array()<=(b.max)().array()).all() && ((b.min)().array()<=m_max.array()).all(); }
240
+ EIGEN_DEVICE_FUNC inline bool intersects(const AlignedBox& b) const {
241
+ return (m_min.array() <= (b.max)().array()).all() && ((b.min)().array() <= m_max.array()).all();
242
+ }
232
243
 
233
244
  /** Extends \c *this such that it contains the point \a p and returns a reference to \c *this.
234
245
  * \sa extend(const AlignedBox&) */
235
- template<typename Derived>
236
- EIGEN_DEVICE_FUNC inline AlignedBox& extend(const MatrixBase<Derived>& p)
237
- {
238
- typename internal::nested_eval<Derived,2>::type p_n(p.derived());
246
+ template <typename Derived>
247
+ EIGEN_DEVICE_FUNC inline AlignedBox& extend(const MatrixBase<Derived>& p) {
248
+ typename internal::nested_eval<Derived, 2>::type p_n(p.derived());
239
249
  m_min = m_min.cwiseMin(p_n);
240
250
  m_max = m_max.cwiseMax(p_n);
241
251
  return *this;
@@ -243,8 +253,7 @@ EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE_FIXED_SIZE(_Scalar,_AmbientDim)
243
253
 
244
254
  /** Extends \c *this such that it contains the box \a b and returns a reference to \c *this.
245
255
  * \sa merged, extend(const MatrixBase&) */
246
- EIGEN_DEVICE_FUNC inline AlignedBox& extend(const AlignedBox& b)
247
- {
256
+ EIGEN_DEVICE_FUNC inline AlignedBox& extend(const AlignedBox& b) {
248
257
  m_min = m_min.cwiseMin(b.m_min);
249
258
  m_max = m_max.cwiseMax(b.m_max);
250
259
  return *this;
@@ -253,8 +262,7 @@ EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE_FIXED_SIZE(_Scalar,_AmbientDim)
253
262
  /** Clamps \c *this by the box \a b and returns a reference to \c *this.
254
263
  * \note If the boxes don't intersect, the resulting box is empty.
255
264
  * \sa intersection(), intersects() */
256
- EIGEN_DEVICE_FUNC inline AlignedBox& clamp(const AlignedBox& b)
257
- {
265
+ EIGEN_DEVICE_FUNC inline AlignedBox& clamp(const AlignedBox& b) {
258
266
  m_min = m_min.cwiseMax(b.m_min);
259
267
  m_max = m_max.cwiseMin(b.m_max);
260
268
  return *this;
@@ -263,69 +271,70 @@ EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE_FIXED_SIZE(_Scalar,_AmbientDim)
263
271
  /** Returns an AlignedBox that is the intersection of \a b and \c *this
264
272
  * \note If the boxes don't intersect, the resulting box is empty.
265
273
  * \sa intersects(), clamp, contains() */
266
- EIGEN_DEVICE_FUNC inline AlignedBox intersection(const AlignedBox& b) const
267
- {return AlignedBox(m_min.cwiseMax(b.m_min), m_max.cwiseMin(b.m_max)); }
274
+ EIGEN_DEVICE_FUNC inline AlignedBox intersection(const AlignedBox& b) const {
275
+ return AlignedBox(m_min.cwiseMax(b.m_min), m_max.cwiseMin(b.m_max));
276
+ }
268
277
 
269
278
  /** Returns an AlignedBox that is the union of \a b and \c *this.
270
279
  * \note Merging with an empty box may result in a box bigger than \c *this.
271
280
  * \sa extend(const AlignedBox&) */
272
- EIGEN_DEVICE_FUNC inline AlignedBox merged(const AlignedBox& b) const
273
- { return AlignedBox(m_min.cwiseMin(b.m_min), m_max.cwiseMax(b.m_max)); }
281
+ EIGEN_DEVICE_FUNC inline AlignedBox merged(const AlignedBox& b) const {
282
+ return AlignedBox(m_min.cwiseMin(b.m_min), m_max.cwiseMax(b.m_max));
283
+ }
274
284
 
275
285
  /** Translate \c *this by the vector \a t and returns a reference to \c *this. */
276
- template<typename Derived>
277
- EIGEN_DEVICE_FUNC inline AlignedBox& translate(const MatrixBase<Derived>& a_t)
278
- {
279
- const typename internal::nested_eval<Derived,2>::type t(a_t.derived());
286
+ template <typename Derived>
287
+ EIGEN_DEVICE_FUNC inline AlignedBox& translate(const MatrixBase<Derived>& a_t) {
288
+ const typename internal::nested_eval<Derived, 2>::type t(a_t.derived());
280
289
  m_min += t;
281
290
  m_max += t;
282
291
  return *this;
283
292
  }
284
293
 
285
294
  /** \returns a copy of \c *this translated by the vector \a t. */
286
- template<typename Derived>
287
- EIGEN_DEVICE_FUNC inline AlignedBox translated(const MatrixBase<Derived>& a_t) const
288
- {
295
+ template <typename Derived>
296
+ EIGEN_DEVICE_FUNC inline AlignedBox translated(const MatrixBase<Derived>& a_t) const {
289
297
  AlignedBox result(m_min, m_max);
290
298
  result.translate(a_t);
291
299
  return result;
292
300
  }
293
301
 
294
302
  /** \returns the squared distance between the point \a p and the box \c *this,
295
- * and zero if \a p is inside the box.
296
- * \sa exteriorDistance(const MatrixBase&), squaredExteriorDistance(const AlignedBox&)
297
- */
298
- template<typename Derived>
303
+ * and zero if \a p is inside the box.
304
+ * \sa exteriorDistance(const MatrixBase&), squaredExteriorDistance(const AlignedBox&)
305
+ */
306
+ template <typename Derived>
299
307
  EIGEN_DEVICE_FUNC inline Scalar squaredExteriorDistance(const MatrixBase<Derived>& p) const;
300
308
 
301
309
  /** \returns the squared distance between the boxes \a b and \c *this,
302
- * and zero if the boxes intersect.
303
- * \sa exteriorDistance(const AlignedBox&), squaredExteriorDistance(const MatrixBase&)
304
- */
310
+ * and zero if the boxes intersect.
311
+ * \sa exteriorDistance(const AlignedBox&), squaredExteriorDistance(const MatrixBase&)
312
+ */
305
313
  EIGEN_DEVICE_FUNC inline Scalar squaredExteriorDistance(const AlignedBox& b) const;
306
314
 
307
315
  /** \returns the distance between the point \a p and the box \c *this,
308
- * and zero if \a p is inside the box.
309
- * \sa squaredExteriorDistance(const MatrixBase&), exteriorDistance(const AlignedBox&)
310
- */
311
- template<typename Derived>
312
- EIGEN_DEVICE_FUNC inline NonInteger exteriorDistance(const MatrixBase<Derived>& p) const
313
- { EIGEN_USING_STD(sqrt) return sqrt(NonInteger(squaredExteriorDistance(p))); }
316
+ * and zero if \a p is inside the box.
317
+ * \sa squaredExteriorDistance(const MatrixBase&), exteriorDistance(const AlignedBox&)
318
+ */
319
+ template <typename Derived>
320
+ EIGEN_DEVICE_FUNC inline NonInteger exteriorDistance(const MatrixBase<Derived>& p) const {
321
+ EIGEN_USING_STD(sqrt) return sqrt(NonInteger(squaredExteriorDistance(p)));
322
+ }
314
323
 
315
324
  /** \returns the distance between the boxes \a b and \c *this,
316
- * and zero if the boxes intersect.
317
- * \sa squaredExteriorDistance(const AlignedBox&), exteriorDistance(const MatrixBase&)
318
- */
319
- EIGEN_DEVICE_FUNC inline NonInteger exteriorDistance(const AlignedBox& b) const
320
- { EIGEN_USING_STD(sqrt) return sqrt(NonInteger(squaredExteriorDistance(b))); }
325
+ * and zero if the boxes intersect.
326
+ * \sa squaredExteriorDistance(const AlignedBox&), exteriorDistance(const MatrixBase&)
327
+ */
328
+ EIGEN_DEVICE_FUNC inline NonInteger exteriorDistance(const AlignedBox& b) const {
329
+ EIGEN_USING_STD(sqrt) return sqrt(NonInteger(squaredExteriorDistance(b)));
330
+ }
321
331
 
322
332
  /**
323
333
  * Specialization of transform for pure translation.
324
334
  */
325
- template<int Mode, int Options>
335
+ template <int Mode, int Options>
326
336
  EIGEN_DEVICE_FUNC inline void transform(
327
- const typename Transform<Scalar, AmbientDimAtCompileTime, Mode, Options>::TranslationType& translation)
328
- {
337
+ const typename Transform<Scalar, AmbientDimAtCompileTime, Mode, Options>::TranslationType& translation) {
329
338
  this->translate(translation);
330
339
  }
331
340
 
@@ -335,11 +344,11 @@ EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE_FIXED_SIZE(_Scalar,_AmbientDim)
335
344
  *
336
345
  * \note This method is provided under BSD license (see the top of this file).
337
346
  */
338
- template<int Mode, int Options>
339
- EIGEN_DEVICE_FUNC inline void transform(const Transform<Scalar, AmbientDimAtCompileTime, Mode, Options>& transform)
340
- {
347
+ template <int Mode, int Options>
348
+ EIGEN_DEVICE_FUNC inline void transform(const Transform<Scalar, AmbientDimAtCompileTime, Mode, Options>& transform) {
341
349
  // Only Affine and Isometry transforms are currently supported.
342
- EIGEN_STATIC_ASSERT(Mode == Affine || Mode == AffineCompact || Mode == Isometry, THIS_METHOD_IS_ONLY_FOR_SPECIFIC_TRANSFORMATIONS);
350
+ EIGEN_STATIC_ASSERT(Mode == Affine || Mode == AffineCompact || Mode == Isometry,
351
+ THIS_METHOD_IS_ONLY_FOR_SPECIFIC_TRANSFORMATIONS);
343
352
 
344
353
  // Method adapted from FCL src/shape/geometric_shapes_utility.cpp#computeBV<AABB, Box>(...)
345
354
  // https://github.com/flexible-collision-library/fcl/blob/fcl-0.4/src/shape/geometric_shapes_utility.cpp#L292
@@ -349,8 +358,8 @@ EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE_FIXED_SIZE(_Scalar,_AmbientDim)
349
358
  // two times rotated extent
350
359
  const VectorType rotated_extent_2 = transform.linear().cwiseAbs() * sizes();
351
360
  // two times new center
352
- const VectorType rotated_center_2 = transform.linear() * (this->m_max + this->m_min) +
353
- Scalar(2) * transform.translation();
361
+ const VectorType rotated_center_2 =
362
+ transform.linear() * (this->m_max + this->m_min) + Scalar(2) * transform.translation();
354
363
 
355
364
  this->m_max = (rotated_center_2 + rotated_extent_2) / Scalar(2);
356
365
  this->m_min = (rotated_center_2 - rotated_extent_2) / Scalar(2);
@@ -360,127 +369,117 @@ EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE_FIXED_SIZE(_Scalar,_AmbientDim)
360
369
  * \returns a copy of \c *this transformed by \a transform and recomputed to
361
370
  * still be an axis-aligned box.
362
371
  */
363
- template<int Mode, int Options>
364
- EIGEN_DEVICE_FUNC AlignedBox transformed(const Transform<Scalar, AmbientDimAtCompileTime, Mode, Options>& transform) const
365
- {
372
+ template <int Mode, int Options>
373
+ EIGEN_DEVICE_FUNC AlignedBox
374
+ transformed(const Transform<Scalar, AmbientDimAtCompileTime, Mode, Options>& transform) const {
366
375
  AlignedBox result(m_min, m_max);
367
376
  result.transform(transform);
368
377
  return result;
369
378
  }
370
379
 
371
380
  /** \returns \c *this with scalar type casted to \a NewScalarType
372
- *
373
- * Note that if \a NewScalarType is equal to the current scalar type of \c *this
374
- * then this function smartly returns a const reference to \c *this.
375
- */
376
- template<typename NewScalarType>
377
- EIGEN_DEVICE_FUNC inline typename internal::cast_return_type<AlignedBox,
378
- AlignedBox<NewScalarType,AmbientDimAtCompileTime> >::type cast() const
379
- {
380
- return typename internal::cast_return_type<AlignedBox,
381
- AlignedBox<NewScalarType,AmbientDimAtCompileTime> >::type(*this);
381
+ *
382
+ * Note that if \a NewScalarType is equal to the current scalar type of \c *this
383
+ * then this function smartly returns a const reference to \c *this.
384
+ */
385
+ template <typename NewScalarType>
386
+ EIGEN_DEVICE_FUNC inline
387
+ typename internal::cast_return_type<AlignedBox, AlignedBox<NewScalarType, AmbientDimAtCompileTime> >::type
388
+ cast() const {
389
+ return typename internal::cast_return_type<AlignedBox, AlignedBox<NewScalarType, AmbientDimAtCompileTime> >::type(
390
+ *this);
382
391
  }
383
392
 
384
393
  /** Copy constructor with scalar type conversion */
385
- template<typename OtherScalarType>
386
- EIGEN_DEVICE_FUNC inline explicit AlignedBox(const AlignedBox<OtherScalarType,AmbientDimAtCompileTime>& other)
387
- {
394
+ template <typename OtherScalarType>
395
+ EIGEN_DEVICE_FUNC inline explicit AlignedBox(const AlignedBox<OtherScalarType, AmbientDimAtCompileTime>& other) {
388
396
  m_min = (other.min)().template cast<Scalar>();
389
397
  m_max = (other.max)().template cast<Scalar>();
390
398
  }
391
399
 
392
400
  /** \returns \c true if \c *this is approximately equal to \a other, within the precision
393
- * determined by \a prec.
394
- *
395
- * \sa MatrixBase::isApprox() */
396
- EIGEN_DEVICE_FUNC bool isApprox(const AlignedBox& other, const RealScalar& prec = ScalarTraits::dummy_precision()) const
397
- { return m_min.isApprox(other.m_min, prec) && m_max.isApprox(other.m_max, prec); }
398
-
399
- protected:
401
+ * determined by \a prec.
402
+ *
403
+ * \sa MatrixBase::isApprox() */
404
+ EIGEN_DEVICE_FUNC bool isApprox(const AlignedBox& other,
405
+ const RealScalar& prec = ScalarTraits::dummy_precision()) const {
406
+ return m_min.isApprox(other.m_min, prec) && m_max.isApprox(other.m_max, prec);
407
+ }
400
408
 
409
+ protected:
401
410
  VectorType m_min, m_max;
402
411
  };
403
412
 
404
-
405
-
406
- template<typename Scalar,int AmbientDim>
407
- template<typename Derived>
408
- EIGEN_DEVICE_FUNC inline Scalar AlignedBox<Scalar,AmbientDim>::squaredExteriorDistance(const MatrixBase<Derived>& a_p) const
409
- {
410
- typename internal::nested_eval<Derived,2*AmbientDim>::type p(a_p.derived());
413
+ template <typename Scalar, int AmbientDim>
414
+ template <typename Derived>
415
+ EIGEN_DEVICE_FUNC inline Scalar AlignedBox<Scalar, AmbientDim>::squaredExteriorDistance(
416
+ const MatrixBase<Derived>& a_p) const {
417
+ typename internal::nested_eval<Derived, 2 * AmbientDim>::type p(a_p.derived());
411
418
  Scalar dist2(0);
412
419
  Scalar aux;
413
- for (Index k=0; k<dim(); ++k)
414
- {
415
- if( m_min[k] > p[k] )
416
- {
420
+ for (Index k = 0; k < dim(); ++k) {
421
+ if (m_min[k] > p[k]) {
417
422
  aux = m_min[k] - p[k];
418
- dist2 += aux*aux;
419
- }
420
- else if( p[k] > m_max[k] )
421
- {
423
+ dist2 += aux * aux;
424
+ } else if (p[k] > m_max[k]) {
422
425
  aux = p[k] - m_max[k];
423
- dist2 += aux*aux;
426
+ dist2 += aux * aux;
424
427
  }
425
428
  }
426
429
  return dist2;
427
430
  }
428
431
 
429
- template<typename Scalar,int AmbientDim>
430
- EIGEN_DEVICE_FUNC inline Scalar AlignedBox<Scalar,AmbientDim>::squaredExteriorDistance(const AlignedBox& b) const
431
- {
432
+ template <typename Scalar, int AmbientDim>
433
+ EIGEN_DEVICE_FUNC inline Scalar AlignedBox<Scalar, AmbientDim>::squaredExteriorDistance(const AlignedBox& b) const {
432
434
  Scalar dist2(0);
433
435
  Scalar aux;
434
- for (Index k=0; k<dim(); ++k)
435
- {
436
- if( m_min[k] > b.m_max[k] )
437
- {
436
+ for (Index k = 0; k < dim(); ++k) {
437
+ if (m_min[k] > b.m_max[k]) {
438
438
  aux = m_min[k] - b.m_max[k];
439
- dist2 += aux*aux;
440
- }
441
- else if( b.m_min[k] > m_max[k] )
442
- {
439
+ dist2 += aux * aux;
440
+ } else if (b.m_min[k] > m_max[k]) {
443
441
  aux = b.m_min[k] - m_max[k];
444
- dist2 += aux*aux;
442
+ dist2 += aux * aux;
445
443
  }
446
444
  }
447
445
  return dist2;
448
446
  }
449
447
 
450
448
  /** \defgroup alignedboxtypedefs Global aligned box typedefs
451
- *
452
- * \ingroup Geometry_Module
453
- *
454
- * Eigen defines several typedef shortcuts for most common aligned box types.
455
- *
456
- * The general patterns are the following:
457
- *
458
- * \c AlignedBoxSizeType where \c Size can be \c 1, \c 2,\c 3,\c 4 for fixed size boxes or \c X for dynamic size,
459
- * and where \c Type can be \c i for integer, \c f for float, \c d for double.
460
- *
461
- * For example, \c AlignedBox3d is a fixed-size 3x3 aligned box type of doubles, and \c AlignedBoxXf is a dynamic-size aligned box of floats.
462
- *
463
- * \sa class AlignedBox
464
- */
465
-
466
- #define EIGEN_MAKE_TYPEDEFS(Type, TypeSuffix, Size, SizeSuffix) \
467
- /** \ingroup alignedboxtypedefs */ \
468
- typedef AlignedBox<Type, Size> AlignedBox##SizeSuffix##TypeSuffix;
449
+ *
450
+ * \ingroup Geometry_Module
451
+ *
452
+ * Eigen defines several typedef shortcuts for most common aligned box types.
453
+ *
454
+ * The general patterns are the following:
455
+ *
456
+ * \c AlignedBoxSizeType where \c Size can be \c 1, \c 2,\c 3,\c 4 for fixed size boxes or \c X for dynamic size,
457
+ * and where \c Type can be \c i for integer, \c f for float, \c d for double.
458
+ *
459
+ * For example, \c AlignedBox3d is a fixed-size 3x3 aligned box type of doubles, and \c AlignedBoxXf is a dynamic-size
460
+ * aligned box of floats.
461
+ *
462
+ * \sa class AlignedBox
463
+ */
464
+
465
+ #define EIGEN_MAKE_TYPEDEFS(Type, TypeSuffix, Size, SizeSuffix) \
466
+ /** \ingroup alignedboxtypedefs */ \
467
+ typedef AlignedBox<Type, Size> AlignedBox##SizeSuffix##TypeSuffix;
469
468
 
470
469
  #define EIGEN_MAKE_TYPEDEFS_ALL_SIZES(Type, TypeSuffix) \
471
- EIGEN_MAKE_TYPEDEFS(Type, TypeSuffix, 1, 1) \
472
- EIGEN_MAKE_TYPEDEFS(Type, TypeSuffix, 2, 2) \
473
- EIGEN_MAKE_TYPEDEFS(Type, TypeSuffix, 3, 3) \
474
- EIGEN_MAKE_TYPEDEFS(Type, TypeSuffix, 4, 4) \
475
- EIGEN_MAKE_TYPEDEFS(Type, TypeSuffix, Dynamic, X)
470
+ EIGEN_MAKE_TYPEDEFS(Type, TypeSuffix, 1, 1) \
471
+ EIGEN_MAKE_TYPEDEFS(Type, TypeSuffix, 2, 2) \
472
+ EIGEN_MAKE_TYPEDEFS(Type, TypeSuffix, 3, 3) \
473
+ EIGEN_MAKE_TYPEDEFS(Type, TypeSuffix, 4, 4) \
474
+ EIGEN_MAKE_TYPEDEFS(Type, TypeSuffix, Dynamic, X)
476
475
 
477
- EIGEN_MAKE_TYPEDEFS_ALL_SIZES(int, i)
478
- EIGEN_MAKE_TYPEDEFS_ALL_SIZES(float, f)
479
- EIGEN_MAKE_TYPEDEFS_ALL_SIZES(double, d)
476
+ EIGEN_MAKE_TYPEDEFS_ALL_SIZES(int, i)
477
+ EIGEN_MAKE_TYPEDEFS_ALL_SIZES(float, f)
478
+ EIGEN_MAKE_TYPEDEFS_ALL_SIZES(double, d)
480
479
 
481
480
  #undef EIGEN_MAKE_TYPEDEFS_ALL_SIZES
482
481
  #undef EIGEN_MAKE_TYPEDEFS
483
482
 
484
- } // end namespace Eigen
483
+ } // end namespace Eigen
485
484
 
486
- #endif // EIGEN_ALIGNEDBOX_H
485
+ #endif // EIGEN_ALIGNEDBOX_H