matrix-engine 1.1.0__tar.gz

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 (328) hide show
  1. matrix_engine-1.1.0/.vscode/c_cpp_properties.json +15 -0
  2. matrix_engine-1.1.0/.vscode/launch.json +17 -0
  3. matrix_engine-1.1.0/.vscode/tasks.json +19 -0
  4. matrix_engine-1.1.0/CMakeLists.txt +77 -0
  5. matrix_engine-1.1.0/LICENSE +21 -0
  6. matrix_engine-1.1.0/PKG-INFO +239 -0
  7. matrix_engine-1.1.0/README.md +197 -0
  8. matrix_engine-1.1.0/build/ALL_BUILD.vcxproj +219 -0
  9. matrix_engine-1.1.0/build/ALL_BUILD.vcxproj.filters +8 -0
  10. matrix_engine-1.1.0/build/CMakeCache.txt +385 -0
  11. matrix_engine-1.1.0/build/CMakeFiles/350701677c7ee3fcade0e8d8ea2eb8bc/INSTALL_force.rule +1 -0
  12. matrix_engine-1.1.0/build/CMakeFiles/350701677c7ee3fcade0e8d8ea2eb8bc/RUN_TESTS_force.rule +1 -0
  13. matrix_engine-1.1.0/build/CMakeFiles/350701677c7ee3fcade0e8d8ea2eb8bc/generate.stamp.rule +1 -0
  14. matrix_engine-1.1.0/build/CMakeFiles/4.3.2/CMakeCXXCompiler.cmake +102 -0
  15. matrix_engine-1.1.0/build/CMakeFiles/4.3.2/CMakeDetermineCompilerABI_CXX.bin +0 -0
  16. matrix_engine-1.1.0/build/CMakeFiles/4.3.2/CMakeRCCompiler.cmake +6 -0
  17. matrix_engine-1.1.0/build/CMakeFiles/4.3.2/CMakeSystem.cmake +15 -0
  18. matrix_engine-1.1.0/build/CMakeFiles/4.3.2/CompilerIdCXX/CMakeCXXCompilerId.cpp +949 -0
  19. matrix_engine-1.1.0/build/CMakeFiles/4.3.2/CompilerIdCXX/CompilerIdCXX.exe +0 -0
  20. matrix_engine-1.1.0/build/CMakeFiles/4.3.2/CompilerIdCXX/CompilerIdCXX.vcxproj +72 -0
  21. matrix_engine-1.1.0/build/CMakeFiles/4.3.2/CompilerIdCXX/Debug/CMakeCXXCompilerId.obj +0 -0
  22. matrix_engine-1.1.0/build/CMakeFiles/4.3.2/CompilerIdCXX/Debug/CompilerIdCXX.exe.recipe +11 -0
  23. matrix_engine-1.1.0/build/CMakeFiles/4.3.2/CompilerIdCXX/Debug/CompilerIdCXX.tlog/CL.command.1.tlog +0 -0
  24. matrix_engine-1.1.0/build/CMakeFiles/4.3.2/CompilerIdCXX/Debug/CompilerIdCXX.tlog/CL.read.1.tlog +0 -0
  25. matrix_engine-1.1.0/build/CMakeFiles/4.3.2/CompilerIdCXX/Debug/CompilerIdCXX.tlog/CL.write.1.tlog +0 -0
  26. matrix_engine-1.1.0/build/CMakeFiles/4.3.2/CompilerIdCXX/Debug/CompilerIdCXX.tlog/Cl.items.tlog +1 -0
  27. matrix_engine-1.1.0/build/CMakeFiles/4.3.2/CompilerIdCXX/Debug/CompilerIdCXX.tlog/CompilerIdCXX.lastbuildstate +2 -0
  28. matrix_engine-1.1.0/build/CMakeFiles/4.3.2/CompilerIdCXX/Debug/CompilerIdCXX.tlog/link.command.1.tlog +0 -0
  29. matrix_engine-1.1.0/build/CMakeFiles/4.3.2/CompilerIdCXX/Debug/CompilerIdCXX.tlog/link.read.1.tlog +0 -0
  30. matrix_engine-1.1.0/build/CMakeFiles/4.3.2/CompilerIdCXX/Debug/CompilerIdCXX.tlog/link.secondary.1.tlog +1 -0
  31. matrix_engine-1.1.0/build/CMakeFiles/4.3.2/CompilerIdCXX/Debug/CompilerIdCXX.tlog/link.write.1.tlog +0 -0
  32. matrix_engine-1.1.0/build/CMakeFiles/4.3.2/VCTargetsPath/x64/Debug/VCTargetsPath.recipe +11 -0
  33. matrix_engine-1.1.0/build/CMakeFiles/4.3.2/VCTargetsPath/x64/Debug/VCTargetsPath.tlog/VCTargetsPath.lastbuildstate +2 -0
  34. matrix_engine-1.1.0/build/CMakeFiles/4.3.2/VCTargetsPath.txt +1 -0
  35. matrix_engine-1.1.0/build/CMakeFiles/4.3.2/VCTargetsPath.vcxproj +31 -0
  36. matrix_engine-1.1.0/build/CMakeFiles/CMakeConfigureLog.yaml +2474 -0
  37. matrix_engine-1.1.0/build/CMakeFiles/InstallScripts.json +7 -0
  38. matrix_engine-1.1.0/build/CMakeFiles/TargetDirectories.txt +13 -0
  39. matrix_engine-1.1.0/build/CMakeFiles/cmake.check_cache +1 -0
  40. matrix_engine-1.1.0/build/CMakeFiles/generate.stamp +1 -0
  41. matrix_engine-1.1.0/build/CMakeFiles/generate.stamp.depend +42 -0
  42. matrix_engine-1.1.0/build/CMakeFiles/generate.stamp.list +1 -0
  43. matrix_engine-1.1.0/build/CTestTestfile.cmake +111 -0
  44. matrix_engine-1.1.0/build/Debug/_matrix_engine.exp +0 -0
  45. matrix_engine-1.1.0/build/Debug/_matrix_engine.lib +0 -0
  46. matrix_engine-1.1.0/build/Debug/cpp_math.lib +0 -0
  47. matrix_engine-1.1.0/build/Debug/cpp_math.pdb +0 -0
  48. matrix_engine-1.1.0/build/Debug/test_matrix.exe +0 -0
  49. matrix_engine-1.1.0/build/Debug/test_matrix.pdb +0 -0
  50. matrix_engine-1.1.0/build/Debug/test_matrix_basics.exe +0 -0
  51. matrix_engine-1.1.0/build/Debug/test_matrix_basics.pdb +0 -0
  52. matrix_engine-1.1.0/build/Debug/test_matrix_linalg.exe +0 -0
  53. matrix_engine-1.1.0/build/Debug/test_matrix_linalg.pdb +0 -0
  54. matrix_engine-1.1.0/build/Debug/test_matrix_logic.exe +0 -0
  55. matrix_engine-1.1.0/build/Debug/test_matrix_logic.pdb +0 -0
  56. matrix_engine-1.1.0/build/Debug/test_templates.exe +0 -0
  57. matrix_engine-1.1.0/build/Debug/test_templates.pdb +0 -0
  58. matrix_engine-1.1.0/build/Debug/test_validation.exe +0 -0
  59. matrix_engine-1.1.0/build/Debug/test_validation.pdb +0 -0
  60. matrix_engine-1.1.0/build/Debug/test_vector.exe +0 -0
  61. matrix_engine-1.1.0/build/Debug/test_vector.pdb +0 -0
  62. matrix_engine-1.1.0/build/Debug/test_vector_basics.exe +0 -0
  63. matrix_engine-1.1.0/build/Debug/test_vector_basics.pdb +0 -0
  64. matrix_engine-1.1.0/build/Debug/test_vector_logic.exe +0 -0
  65. matrix_engine-1.1.0/build/Debug/test_vector_logic.pdb +0 -0
  66. matrix_engine-1.1.0/build/Debug/vector_demo.exe +0 -0
  67. matrix_engine-1.1.0/build/Debug/vector_demo.pdb +0 -0
  68. matrix_engine-1.1.0/build/INSTALL.vcxproj +209 -0
  69. matrix_engine-1.1.0/build/INSTALL.vcxproj.filters +13 -0
  70. matrix_engine-1.1.0/build/RUN_TESTS.vcxproj +199 -0
  71. matrix_engine-1.1.0/build/RUN_TESTS.vcxproj.filters +13 -0
  72. matrix_engine-1.1.0/build/Testing/Temporary/CTestCostData.txt +10 -0
  73. matrix_engine-1.1.0/build/Testing/Temporary/LastTest.log +115 -0
  74. matrix_engine-1.1.0/build/ZERO_CHECK.vcxproj +179 -0
  75. matrix_engine-1.1.0/build/ZERO_CHECK.vcxproj.filters +13 -0
  76. matrix_engine-1.1.0/build/_matrix_engine.dir/Debug/_matrix_engine.cp311-win_amd64.ilk +0 -0
  77. matrix_engine-1.1.0/build/_matrix_engine.dir/Debug/_matrix_engine.cp311-win_amd64.pyd.recipe +14 -0
  78. matrix_engine-1.1.0/build/_matrix_engine.dir/Debug/_matrix_engine.tlog/CL.command.1.tlog +0 -0
  79. matrix_engine-1.1.0/build/_matrix_engine.dir/Debug/_matrix_engine.tlog/CL.read.1.tlog +0 -0
  80. matrix_engine-1.1.0/build/_matrix_engine.dir/Debug/_matrix_engine.tlog/CL.write.1.tlog +0 -0
  81. matrix_engine-1.1.0/build/_matrix_engine.dir/Debug/_matrix_engine.tlog/Cl.items.tlog +1 -0
  82. matrix_engine-1.1.0/build/_matrix_engine.dir/Debug/_matrix_engine.tlog/CustomBuild.command.1.tlog +10 -0
  83. matrix_engine-1.1.0/build/_matrix_engine.dir/Debug/_matrix_engine.tlog/CustomBuild.read.1.tlog +41 -0
  84. matrix_engine-1.1.0/build/_matrix_engine.dir/Debug/_matrix_engine.tlog/CustomBuild.write.1.tlog +2 -0
  85. matrix_engine-1.1.0/build/_matrix_engine.dir/Debug/_matrix_engine.tlog/_matrix_engine.lastbuildstate +2 -0
  86. matrix_engine-1.1.0/build/_matrix_engine.dir/Debug/_matrix_engine.tlog/link.command.1.tlog +0 -0
  87. matrix_engine-1.1.0/build/_matrix_engine.dir/Debug/_matrix_engine.tlog/link.read.1.tlog +0 -0
  88. matrix_engine-1.1.0/build/_matrix_engine.dir/Debug/_matrix_engine.tlog/link.secondary.1.tlog +4 -0
  89. matrix_engine-1.1.0/build/_matrix_engine.dir/Debug/_matrix_engine.tlog/link.write.1.tlog +0 -0
  90. matrix_engine-1.1.0/build/_matrix_engine.dir/Debug/bindings.obj +0 -0
  91. matrix_engine-1.1.0/build/_matrix_engine.dir/Debug/vc145.pdb +0 -0
  92. matrix_engine-1.1.0/build/_matrix_engine.vcxproj +400 -0
  93. matrix_engine-1.1.0/build/_matrix_engine.vcxproj.filters +16 -0
  94. matrix_engine-1.1.0/build/cmake_install.cmake +68 -0
  95. matrix_engine-1.1.0/build/cpp_math.dir/Debug/Matrix.obj +0 -0
  96. matrix_engine-1.1.0/build/cpp_math.dir/Debug/Vector.obj +0 -0
  97. matrix_engine-1.1.0/build/cpp_math.dir/Debug/cpp_math.lib.recipe +11 -0
  98. matrix_engine-1.1.0/build/cpp_math.dir/Debug/cpp_math.tlog/CL.command.1.tlog +0 -0
  99. matrix_engine-1.1.0/build/cpp_math.dir/Debug/cpp_math.tlog/CL.read.1.tlog +0 -0
  100. matrix_engine-1.1.0/build/cpp_math.dir/Debug/cpp_math.tlog/CL.write.1.tlog +0 -0
  101. matrix_engine-1.1.0/build/cpp_math.dir/Debug/cpp_math.tlog/Cl.items.tlog +2 -0
  102. matrix_engine-1.1.0/build/cpp_math.dir/Debug/cpp_math.tlog/CustomBuild.command.1.tlog +10 -0
  103. matrix_engine-1.1.0/build/cpp_math.dir/Debug/cpp_math.tlog/CustomBuild.read.1.tlog +41 -0
  104. matrix_engine-1.1.0/build/cpp_math.dir/Debug/cpp_math.tlog/CustomBuild.write.1.tlog +2 -0
  105. matrix_engine-1.1.0/build/cpp_math.dir/Debug/cpp_math.tlog/Lib-link.read.1.tlog +0 -0
  106. matrix_engine-1.1.0/build/cpp_math.dir/Debug/cpp_math.tlog/Lib-link.write.1.tlog +0 -0
  107. matrix_engine-1.1.0/build/cpp_math.dir/Debug/cpp_math.tlog/Lib.command.1.tlog +0 -0
  108. matrix_engine-1.1.0/build/cpp_math.dir/Debug/cpp_math.tlog/cpp_math.lastbuildstate +2 -0
  109. matrix_engine-1.1.0/build/cpp_math.slnx +65 -0
  110. matrix_engine-1.1.0/build/cpp_math.vcxproj +322 -0
  111. matrix_engine-1.1.0/build/cpp_math.vcxproj.filters +19 -0
  112. matrix_engine-1.1.0/build/test_matrix.dir/Debug/test_matrix.exe.recipe +14 -0
  113. matrix_engine-1.1.0/build/test_matrix.dir/Debug/test_matrix.ilk +0 -0
  114. matrix_engine-1.1.0/build/test_matrix.dir/Debug/test_matrix.obj +0 -0
  115. matrix_engine-1.1.0/build/test_matrix.dir/Debug/test_matrix.tlog/CL.command.1.tlog +0 -0
  116. matrix_engine-1.1.0/build/test_matrix.dir/Debug/test_matrix.tlog/CL.read.1.tlog +0 -0
  117. matrix_engine-1.1.0/build/test_matrix.dir/Debug/test_matrix.tlog/CL.write.1.tlog +0 -0
  118. matrix_engine-1.1.0/build/test_matrix.dir/Debug/test_matrix.tlog/Cl.items.tlog +1 -0
  119. matrix_engine-1.1.0/build/test_matrix.dir/Debug/test_matrix.tlog/CustomBuild.command.1.tlog +10 -0
  120. matrix_engine-1.1.0/build/test_matrix.dir/Debug/test_matrix.tlog/CustomBuild.read.1.tlog +41 -0
  121. matrix_engine-1.1.0/build/test_matrix.dir/Debug/test_matrix.tlog/CustomBuild.write.1.tlog +2 -0
  122. matrix_engine-1.1.0/build/test_matrix.dir/Debug/test_matrix.tlog/link.command.1.tlog +0 -0
  123. matrix_engine-1.1.0/build/test_matrix.dir/Debug/test_matrix.tlog/link.read.1.tlog +0 -0
  124. matrix_engine-1.1.0/build/test_matrix.dir/Debug/test_matrix.tlog/link.secondary.1.tlog +2 -0
  125. matrix_engine-1.1.0/build/test_matrix.dir/Debug/test_matrix.tlog/link.write.1.tlog +0 -0
  126. matrix_engine-1.1.0/build/test_matrix.dir/Debug/test_matrix.tlog/test_matrix.lastbuildstate +2 -0
  127. matrix_engine-1.1.0/build/test_matrix.dir/Debug/vc145.pdb +0 -0
  128. matrix_engine-1.1.0/build/test_matrix.vcxproj +385 -0
  129. matrix_engine-1.1.0/build/test_matrix.vcxproj.filters +16 -0
  130. matrix_engine-1.1.0/build/test_matrix_basics.dir/Debug/test_mat.1005DB10.tlog/CL.command.1.tlog +0 -0
  131. matrix_engine-1.1.0/build/test_matrix_basics.dir/Debug/test_mat.1005DB10.tlog/CL.read.1.tlog +0 -0
  132. matrix_engine-1.1.0/build/test_matrix_basics.dir/Debug/test_mat.1005DB10.tlog/CL.write.1.tlog +0 -0
  133. matrix_engine-1.1.0/build/test_matrix_basics.dir/Debug/test_mat.1005DB10.tlog/Cl.items.tlog +1 -0
  134. matrix_engine-1.1.0/build/test_matrix_basics.dir/Debug/test_mat.1005DB10.tlog/CustomBuild.command.1.tlog +10 -0
  135. matrix_engine-1.1.0/build/test_matrix_basics.dir/Debug/test_mat.1005DB10.tlog/CustomBuild.read.1.tlog +41 -0
  136. matrix_engine-1.1.0/build/test_matrix_basics.dir/Debug/test_mat.1005DB10.tlog/CustomBuild.write.1.tlog +2 -0
  137. matrix_engine-1.1.0/build/test_matrix_basics.dir/Debug/test_mat.1005DB10.tlog/link.command.1.tlog +0 -0
  138. matrix_engine-1.1.0/build/test_matrix_basics.dir/Debug/test_mat.1005DB10.tlog/link.read.1.tlog +0 -0
  139. matrix_engine-1.1.0/build/test_matrix_basics.dir/Debug/test_mat.1005DB10.tlog/link.secondary.1.tlog +2 -0
  140. matrix_engine-1.1.0/build/test_matrix_basics.dir/Debug/test_mat.1005DB10.tlog/link.write.1.tlog +0 -0
  141. matrix_engine-1.1.0/build/test_matrix_basics.dir/Debug/test_mat.1005DB10.tlog/test_matrix_basics.lastbuildstate +2 -0
  142. matrix_engine-1.1.0/build/test_matrix_basics.dir/Debug/test_matrix_basics.exe.recipe +14 -0
  143. matrix_engine-1.1.0/build/test_matrix_basics.dir/Debug/test_matrix_basics.ilk +0 -0
  144. matrix_engine-1.1.0/build/test_matrix_basics.dir/Debug/test_matrix_basics.obj +0 -0
  145. matrix_engine-1.1.0/build/test_matrix_basics.dir/Debug/vc145.pdb +0 -0
  146. matrix_engine-1.1.0/build/test_matrix_basics.vcxproj +385 -0
  147. matrix_engine-1.1.0/build/test_matrix_basics.vcxproj.filters +16 -0
  148. matrix_engine-1.1.0/build/test_matrix_linalg.dir/Debug/test_mat.842069A5.tlog/CL.command.1.tlog +0 -0
  149. matrix_engine-1.1.0/build/test_matrix_linalg.dir/Debug/test_mat.842069A5.tlog/CL.read.1.tlog +0 -0
  150. matrix_engine-1.1.0/build/test_matrix_linalg.dir/Debug/test_mat.842069A5.tlog/CL.write.1.tlog +0 -0
  151. matrix_engine-1.1.0/build/test_matrix_linalg.dir/Debug/test_mat.842069A5.tlog/Cl.items.tlog +1 -0
  152. matrix_engine-1.1.0/build/test_matrix_linalg.dir/Debug/test_mat.842069A5.tlog/CustomBuild.command.1.tlog +10 -0
  153. matrix_engine-1.1.0/build/test_matrix_linalg.dir/Debug/test_mat.842069A5.tlog/CustomBuild.read.1.tlog +41 -0
  154. matrix_engine-1.1.0/build/test_matrix_linalg.dir/Debug/test_mat.842069A5.tlog/CustomBuild.write.1.tlog +2 -0
  155. matrix_engine-1.1.0/build/test_matrix_linalg.dir/Debug/test_mat.842069A5.tlog/link.command.1.tlog +0 -0
  156. matrix_engine-1.1.0/build/test_matrix_linalg.dir/Debug/test_mat.842069A5.tlog/link.read.1.tlog +0 -0
  157. matrix_engine-1.1.0/build/test_matrix_linalg.dir/Debug/test_mat.842069A5.tlog/link.secondary.1.tlog +2 -0
  158. matrix_engine-1.1.0/build/test_matrix_linalg.dir/Debug/test_mat.842069A5.tlog/link.write.1.tlog +0 -0
  159. matrix_engine-1.1.0/build/test_matrix_linalg.dir/Debug/test_mat.842069A5.tlog/test_matrix_linalg.lastbuildstate +2 -0
  160. matrix_engine-1.1.0/build/test_matrix_linalg.dir/Debug/test_matrix_linalg.exe.recipe +14 -0
  161. matrix_engine-1.1.0/build/test_matrix_linalg.dir/Debug/test_matrix_linalg.ilk +0 -0
  162. matrix_engine-1.1.0/build/test_matrix_linalg.dir/Debug/test_matrix_linalg.obj +0 -0
  163. matrix_engine-1.1.0/build/test_matrix_linalg.dir/Debug/vc145.pdb +0 -0
  164. matrix_engine-1.1.0/build/test_matrix_linalg.vcxproj +385 -0
  165. matrix_engine-1.1.0/build/test_matrix_linalg.vcxproj.filters +16 -0
  166. matrix_engine-1.1.0/build/test_matrix_logic.dir/Debug/test_mat.D93E5584.tlog/CL.command.1.tlog +0 -0
  167. matrix_engine-1.1.0/build/test_matrix_logic.dir/Debug/test_mat.D93E5584.tlog/CL.read.1.tlog +0 -0
  168. matrix_engine-1.1.0/build/test_matrix_logic.dir/Debug/test_mat.D93E5584.tlog/CL.write.1.tlog +0 -0
  169. matrix_engine-1.1.0/build/test_matrix_logic.dir/Debug/test_mat.D93E5584.tlog/Cl.items.tlog +1 -0
  170. matrix_engine-1.1.0/build/test_matrix_logic.dir/Debug/test_mat.D93E5584.tlog/CustomBuild.command.1.tlog +10 -0
  171. matrix_engine-1.1.0/build/test_matrix_logic.dir/Debug/test_mat.D93E5584.tlog/CustomBuild.read.1.tlog +41 -0
  172. matrix_engine-1.1.0/build/test_matrix_logic.dir/Debug/test_mat.D93E5584.tlog/CustomBuild.write.1.tlog +2 -0
  173. matrix_engine-1.1.0/build/test_matrix_logic.dir/Debug/test_mat.D93E5584.tlog/link.command.1.tlog +0 -0
  174. matrix_engine-1.1.0/build/test_matrix_logic.dir/Debug/test_mat.D93E5584.tlog/link.read.1.tlog +0 -0
  175. matrix_engine-1.1.0/build/test_matrix_logic.dir/Debug/test_mat.D93E5584.tlog/link.secondary.1.tlog +2 -0
  176. matrix_engine-1.1.0/build/test_matrix_logic.dir/Debug/test_mat.D93E5584.tlog/link.write.1.tlog +0 -0
  177. matrix_engine-1.1.0/build/test_matrix_logic.dir/Debug/test_mat.D93E5584.tlog/test_matrix_logic.lastbuildstate +2 -0
  178. matrix_engine-1.1.0/build/test_matrix_logic.dir/Debug/test_matrix_logic.exe.recipe +14 -0
  179. matrix_engine-1.1.0/build/test_matrix_logic.dir/Debug/test_matrix_logic.ilk +0 -0
  180. matrix_engine-1.1.0/build/test_matrix_logic.dir/Debug/test_matrix_logic.obj +0 -0
  181. matrix_engine-1.1.0/build/test_matrix_logic.dir/Debug/vc145.pdb +0 -0
  182. matrix_engine-1.1.0/build/test_matrix_logic.vcxproj +385 -0
  183. matrix_engine-1.1.0/build/test_matrix_logic.vcxproj.filters +16 -0
  184. matrix_engine-1.1.0/build/test_templates.dir/Debug/test_templates.exe.recipe +14 -0
  185. matrix_engine-1.1.0/build/test_templates.dir/Debug/test_templates.ilk +0 -0
  186. matrix_engine-1.1.0/build/test_templates.dir/Debug/test_templates.obj +0 -0
  187. matrix_engine-1.1.0/build/test_templates.dir/Debug/test_templates.tlog/CL.command.1.tlog +0 -0
  188. matrix_engine-1.1.0/build/test_templates.dir/Debug/test_templates.tlog/CL.read.1.tlog +0 -0
  189. matrix_engine-1.1.0/build/test_templates.dir/Debug/test_templates.tlog/CL.write.1.tlog +0 -0
  190. matrix_engine-1.1.0/build/test_templates.dir/Debug/test_templates.tlog/Cl.items.tlog +1 -0
  191. matrix_engine-1.1.0/build/test_templates.dir/Debug/test_templates.tlog/CustomBuild.command.1.tlog +10 -0
  192. matrix_engine-1.1.0/build/test_templates.dir/Debug/test_templates.tlog/CustomBuild.read.1.tlog +41 -0
  193. matrix_engine-1.1.0/build/test_templates.dir/Debug/test_templates.tlog/CustomBuild.write.1.tlog +2 -0
  194. matrix_engine-1.1.0/build/test_templates.dir/Debug/test_templates.tlog/link.command.1.tlog +0 -0
  195. matrix_engine-1.1.0/build/test_templates.dir/Debug/test_templates.tlog/link.read.1.tlog +0 -0
  196. matrix_engine-1.1.0/build/test_templates.dir/Debug/test_templates.tlog/link.secondary.1.tlog +2 -0
  197. matrix_engine-1.1.0/build/test_templates.dir/Debug/test_templates.tlog/link.write.1.tlog +0 -0
  198. matrix_engine-1.1.0/build/test_templates.dir/Debug/test_templates.tlog/test_templates.lastbuildstate +2 -0
  199. matrix_engine-1.1.0/build/test_templates.dir/Debug/vc145.pdb +0 -0
  200. matrix_engine-1.1.0/build/test_templates.vcxproj +385 -0
  201. matrix_engine-1.1.0/build/test_templates.vcxproj.filters +16 -0
  202. matrix_engine-1.1.0/build/test_validation.dir/Debug/test_validation.exe.recipe +14 -0
  203. matrix_engine-1.1.0/build/test_validation.dir/Debug/test_validation.ilk +0 -0
  204. matrix_engine-1.1.0/build/test_validation.dir/Debug/test_validation.obj +0 -0
  205. matrix_engine-1.1.0/build/test_validation.dir/Debug/test_validation.tlog/CL.command.1.tlog +0 -0
  206. matrix_engine-1.1.0/build/test_validation.dir/Debug/test_validation.tlog/CL.read.1.tlog +0 -0
  207. matrix_engine-1.1.0/build/test_validation.dir/Debug/test_validation.tlog/CL.write.1.tlog +0 -0
  208. matrix_engine-1.1.0/build/test_validation.dir/Debug/test_validation.tlog/Cl.items.tlog +1 -0
  209. matrix_engine-1.1.0/build/test_validation.dir/Debug/test_validation.tlog/CustomBuild.command.1.tlog +10 -0
  210. matrix_engine-1.1.0/build/test_validation.dir/Debug/test_validation.tlog/CustomBuild.read.1.tlog +41 -0
  211. matrix_engine-1.1.0/build/test_validation.dir/Debug/test_validation.tlog/CustomBuild.write.1.tlog +2 -0
  212. matrix_engine-1.1.0/build/test_validation.dir/Debug/test_validation.tlog/link.command.1.tlog +0 -0
  213. matrix_engine-1.1.0/build/test_validation.dir/Debug/test_validation.tlog/link.read.1.tlog +0 -0
  214. matrix_engine-1.1.0/build/test_validation.dir/Debug/test_validation.tlog/link.secondary.1.tlog +2 -0
  215. matrix_engine-1.1.0/build/test_validation.dir/Debug/test_validation.tlog/link.write.1.tlog +0 -0
  216. matrix_engine-1.1.0/build/test_validation.dir/Debug/test_validation.tlog/test_validation.lastbuildstate +2 -0
  217. matrix_engine-1.1.0/build/test_validation.dir/Debug/vc145.pdb +0 -0
  218. matrix_engine-1.1.0/build/test_validation.vcxproj +385 -0
  219. matrix_engine-1.1.0/build/test_validation.vcxproj.filters +16 -0
  220. matrix_engine-1.1.0/build/test_vector.dir/Debug/test_vector.exe.recipe +14 -0
  221. matrix_engine-1.1.0/build/test_vector.dir/Debug/test_vector.ilk +0 -0
  222. matrix_engine-1.1.0/build/test_vector.dir/Debug/test_vector.obj +0 -0
  223. matrix_engine-1.1.0/build/test_vector.dir/Debug/test_vector.tlog/CL.command.1.tlog +0 -0
  224. matrix_engine-1.1.0/build/test_vector.dir/Debug/test_vector.tlog/CL.read.1.tlog +0 -0
  225. matrix_engine-1.1.0/build/test_vector.dir/Debug/test_vector.tlog/CL.write.1.tlog +0 -0
  226. matrix_engine-1.1.0/build/test_vector.dir/Debug/test_vector.tlog/Cl.items.tlog +1 -0
  227. matrix_engine-1.1.0/build/test_vector.dir/Debug/test_vector.tlog/CustomBuild.command.1.tlog +10 -0
  228. matrix_engine-1.1.0/build/test_vector.dir/Debug/test_vector.tlog/CustomBuild.read.1.tlog +41 -0
  229. matrix_engine-1.1.0/build/test_vector.dir/Debug/test_vector.tlog/CustomBuild.write.1.tlog +2 -0
  230. matrix_engine-1.1.0/build/test_vector.dir/Debug/test_vector.tlog/link.command.1.tlog +0 -0
  231. matrix_engine-1.1.0/build/test_vector.dir/Debug/test_vector.tlog/link.read.1.tlog +0 -0
  232. matrix_engine-1.1.0/build/test_vector.dir/Debug/test_vector.tlog/link.secondary.1.tlog +2 -0
  233. matrix_engine-1.1.0/build/test_vector.dir/Debug/test_vector.tlog/link.write.1.tlog +0 -0
  234. matrix_engine-1.1.0/build/test_vector.dir/Debug/test_vector.tlog/test_vector.lastbuildstate +2 -0
  235. matrix_engine-1.1.0/build/test_vector.dir/Debug/vc145.pdb +0 -0
  236. matrix_engine-1.1.0/build/test_vector.vcxproj +385 -0
  237. matrix_engine-1.1.0/build/test_vector.vcxproj.filters +16 -0
  238. matrix_engine-1.1.0/build/test_vector_basics.dir/Debug/test_vec.622E7542.tlog/CL.command.1.tlog +0 -0
  239. matrix_engine-1.1.0/build/test_vector_basics.dir/Debug/test_vec.622E7542.tlog/CL.read.1.tlog +0 -0
  240. matrix_engine-1.1.0/build/test_vector_basics.dir/Debug/test_vec.622E7542.tlog/CL.write.1.tlog +0 -0
  241. matrix_engine-1.1.0/build/test_vector_basics.dir/Debug/test_vec.622E7542.tlog/Cl.items.tlog +1 -0
  242. matrix_engine-1.1.0/build/test_vector_basics.dir/Debug/test_vec.622E7542.tlog/CustomBuild.command.1.tlog +10 -0
  243. matrix_engine-1.1.0/build/test_vector_basics.dir/Debug/test_vec.622E7542.tlog/CustomBuild.read.1.tlog +41 -0
  244. matrix_engine-1.1.0/build/test_vector_basics.dir/Debug/test_vec.622E7542.tlog/CustomBuild.write.1.tlog +2 -0
  245. matrix_engine-1.1.0/build/test_vector_basics.dir/Debug/test_vec.622E7542.tlog/link.command.1.tlog +0 -0
  246. matrix_engine-1.1.0/build/test_vector_basics.dir/Debug/test_vec.622E7542.tlog/link.read.1.tlog +0 -0
  247. matrix_engine-1.1.0/build/test_vector_basics.dir/Debug/test_vec.622E7542.tlog/link.secondary.1.tlog +2 -0
  248. matrix_engine-1.1.0/build/test_vector_basics.dir/Debug/test_vec.622E7542.tlog/link.write.1.tlog +0 -0
  249. matrix_engine-1.1.0/build/test_vector_basics.dir/Debug/test_vec.622E7542.tlog/test_vector_basics.lastbuildstate +2 -0
  250. matrix_engine-1.1.0/build/test_vector_basics.dir/Debug/test_vector_basics.exe.recipe +14 -0
  251. matrix_engine-1.1.0/build/test_vector_basics.dir/Debug/test_vector_basics.ilk +0 -0
  252. matrix_engine-1.1.0/build/test_vector_basics.dir/Debug/test_vector_basics.obj +0 -0
  253. matrix_engine-1.1.0/build/test_vector_basics.dir/Debug/vc145.pdb +0 -0
  254. matrix_engine-1.1.0/build/test_vector_basics.vcxproj +385 -0
  255. matrix_engine-1.1.0/build/test_vector_basics.vcxproj.filters +16 -0
  256. matrix_engine-1.1.0/build/test_vector_logic.dir/Debug/test_vec.669E983D.tlog/CL.command.1.tlog +0 -0
  257. matrix_engine-1.1.0/build/test_vector_logic.dir/Debug/test_vec.669E983D.tlog/CL.read.1.tlog +0 -0
  258. matrix_engine-1.1.0/build/test_vector_logic.dir/Debug/test_vec.669E983D.tlog/CL.write.1.tlog +0 -0
  259. matrix_engine-1.1.0/build/test_vector_logic.dir/Debug/test_vec.669E983D.tlog/Cl.items.tlog +1 -0
  260. matrix_engine-1.1.0/build/test_vector_logic.dir/Debug/test_vec.669E983D.tlog/CustomBuild.command.1.tlog +10 -0
  261. matrix_engine-1.1.0/build/test_vector_logic.dir/Debug/test_vec.669E983D.tlog/CustomBuild.read.1.tlog +41 -0
  262. matrix_engine-1.1.0/build/test_vector_logic.dir/Debug/test_vec.669E983D.tlog/CustomBuild.write.1.tlog +2 -0
  263. matrix_engine-1.1.0/build/test_vector_logic.dir/Debug/test_vec.669E983D.tlog/link.command.1.tlog +0 -0
  264. matrix_engine-1.1.0/build/test_vector_logic.dir/Debug/test_vec.669E983D.tlog/link.read.1.tlog +0 -0
  265. matrix_engine-1.1.0/build/test_vector_logic.dir/Debug/test_vec.669E983D.tlog/link.secondary.1.tlog +2 -0
  266. matrix_engine-1.1.0/build/test_vector_logic.dir/Debug/test_vec.669E983D.tlog/link.write.1.tlog +0 -0
  267. matrix_engine-1.1.0/build/test_vector_logic.dir/Debug/test_vec.669E983D.tlog/test_vector_logic.lastbuildstate +2 -0
  268. matrix_engine-1.1.0/build/test_vector_logic.dir/Debug/test_vector_logic.exe.recipe +14 -0
  269. matrix_engine-1.1.0/build/test_vector_logic.dir/Debug/test_vector_logic.ilk +0 -0
  270. matrix_engine-1.1.0/build/test_vector_logic.dir/Debug/test_vector_logic.obj +0 -0
  271. matrix_engine-1.1.0/build/test_vector_logic.dir/Debug/vc145.pdb +0 -0
  272. matrix_engine-1.1.0/build/test_vector_logic.vcxproj +385 -0
  273. matrix_engine-1.1.0/build/test_vector_logic.vcxproj.filters +16 -0
  274. matrix_engine-1.1.0/build/vector_demo.dir/Debug/vc145.pdb +0 -0
  275. matrix_engine-1.1.0/build/vector_demo.dir/Debug/vector_demo.exe.recipe +14 -0
  276. matrix_engine-1.1.0/build/vector_demo.dir/Debug/vector_demo.ilk +0 -0
  277. matrix_engine-1.1.0/build/vector_demo.dir/Debug/vector_demo.obj +0 -0
  278. matrix_engine-1.1.0/build/vector_demo.dir/Debug/vector_demo.tlog/CL.command.1.tlog +0 -0
  279. matrix_engine-1.1.0/build/vector_demo.dir/Debug/vector_demo.tlog/CL.read.1.tlog +0 -0
  280. matrix_engine-1.1.0/build/vector_demo.dir/Debug/vector_demo.tlog/CL.write.1.tlog +0 -0
  281. matrix_engine-1.1.0/build/vector_demo.dir/Debug/vector_demo.tlog/Cl.items.tlog +1 -0
  282. matrix_engine-1.1.0/build/vector_demo.dir/Debug/vector_demo.tlog/CustomBuild.command.1.tlog +10 -0
  283. matrix_engine-1.1.0/build/vector_demo.dir/Debug/vector_demo.tlog/CustomBuild.read.1.tlog +41 -0
  284. matrix_engine-1.1.0/build/vector_demo.dir/Debug/vector_demo.tlog/CustomBuild.write.1.tlog +2 -0
  285. matrix_engine-1.1.0/build/vector_demo.dir/Debug/vector_demo.tlog/link.command.1.tlog +0 -0
  286. matrix_engine-1.1.0/build/vector_demo.dir/Debug/vector_demo.tlog/link.read.1.tlog +0 -0
  287. matrix_engine-1.1.0/build/vector_demo.dir/Debug/vector_demo.tlog/link.secondary.1.tlog +2 -0
  288. matrix_engine-1.1.0/build/vector_demo.dir/Debug/vector_demo.tlog/link.write.1.tlog +0 -0
  289. matrix_engine-1.1.0/build/vector_demo.dir/Debug/vector_demo.tlog/vector_demo.lastbuildstate +2 -0
  290. matrix_engine-1.1.0/build/vector_demo.vcxproj +385 -0
  291. matrix_engine-1.1.0/build/vector_demo.vcxproj.filters +16 -0
  292. matrix_engine-1.1.0/build/x64/Debug/ALL_BUILD/ALL_BUILD.recipe +41 -0
  293. matrix_engine-1.1.0/build/x64/Debug/ALL_BUILD/ALL_BUILD.tlog/ALL_BUILD.lastbuildstate +2 -0
  294. matrix_engine-1.1.0/build/x64/Debug/ALL_BUILD/ALL_BUILD.tlog/CustomBuild.command.1.tlog +10 -0
  295. matrix_engine-1.1.0/build/x64/Debug/ALL_BUILD/ALL_BUILD.tlog/CustomBuild.read.1.tlog +41 -0
  296. matrix_engine-1.1.0/build/x64/Debug/ALL_BUILD/ALL_BUILD.tlog/CustomBuild.write.1.tlog +2 -0
  297. matrix_engine-1.1.0/build/x64/Debug/ZERO_CHECK/ZERO_CHECK.recipe +11 -0
  298. matrix_engine-1.1.0/build/x64/Debug/ZERO_CHECK/ZERO_CHECK.tlog/CustomBuild.command.1.tlog +10 -0
  299. matrix_engine-1.1.0/build/x64/Debug/ZERO_CHECK/ZERO_CHECK.tlog/CustomBuild.read.1.tlog +42 -0
  300. matrix_engine-1.1.0/build/x64/Debug/ZERO_CHECK/ZERO_CHECK.tlog/CustomBuild.write.1.tlog +2 -0
  301. matrix_engine-1.1.0/build/x64/Debug/ZERO_CHECK/ZERO_CHECK.tlog/ZERO_CHECK.lastbuildstate +2 -0
  302. matrix_engine-1.1.0/examples/vector_demo.cpp +15 -0
  303. matrix_engine-1.1.0/include/Matrix.hpp +471 -0
  304. matrix_engine-1.1.0/include/Vector.hpp +329 -0
  305. matrix_engine-1.1.0/include/exceptions.hpp +45 -0
  306. matrix_engine-1.1.0/include/validation.hpp +173 -0
  307. matrix_engine-1.1.0/matrix_engine/Debug/_matrix_engine.cp311-win_amd64.pyd +0 -0
  308. matrix_engine-1.1.0/matrix_engine/Debug/_matrix_engine.pdb +0 -0
  309. matrix_engine-1.1.0/matrix_engine/__init__.py +25 -0
  310. matrix_engine-1.1.0/matrix_engine/__init__.pyi +475 -0
  311. matrix_engine-1.1.0/matrix_engine/_matrix_engine.cp311-win_amd64.pyd +0 -0
  312. matrix_engine-1.1.0/matrix_engine/_matrix_engine.pdb +0 -0
  313. matrix_engine-1.1.0/pyproject.toml +37 -0
  314. matrix_engine-1.1.0/python/bindings.cpp +876 -0
  315. matrix_engine-1.1.0/tests/cpp/test_matrix_basics.cpp +39 -0
  316. matrix_engine-1.1.0/tests/cpp/test_matrix_linalg.cpp +33 -0
  317. matrix_engine-1.1.0/tests/cpp/test_matrix_logic.cpp +28 -0
  318. matrix_engine-1.1.0/tests/cpp/test_templates.cpp +27 -0
  319. matrix_engine-1.1.0/tests/cpp/test_validation.cpp +56 -0
  320. matrix_engine-1.1.0/tests/cpp/test_vector_basics.cpp +36 -0
  321. matrix_engine-1.1.0/tests/cpp/test_vector_logic.cpp +27 -0
  322. matrix_engine-1.1.0/tests/python/run_tests.py +12 -0
  323. matrix_engine-1.1.0/tests/python/test_matrix_basics.py +32 -0
  324. matrix_engine-1.1.0/tests/python/test_matrix_linalg.py +26 -0
  325. matrix_engine-1.1.0/tests/python/test_matrix_logic.py +29 -0
  326. matrix_engine-1.1.0/tests/python/test_validation_api.py +49 -0
  327. matrix_engine-1.1.0/tests/python/test_vector_basics.py +37 -0
  328. matrix_engine-1.1.0/tests/python/test_vector_logic.py +29 -0
@@ -0,0 +1,15 @@
1
+ {
2
+ "configurations": [
3
+ {
4
+ "name": "Win32",
5
+ "includePath": [
6
+ "${workspaceFolder}/include",
7
+ "${workspaceFolder}/**"
8
+ ],
9
+ "compilerPath": "cl.exe",
10
+ "cppStandard": "c++17",
11
+ "intelliSenseMode": "windows-msvc-x64"
12
+ }
13
+ ],
14
+ "version": 4
15
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "version": "0.2.0",
3
+ "configurations": [
4
+ {
5
+ "name": "Run vector_demo",
6
+ "type": "cppvsdbg",
7
+ "request": "launch",
8
+ "program": "${workspaceFolder}/build/Debug/vector_demo.exe",
9
+ "args": [],
10
+ "stopAtEntry": false,
11
+ "cwd": "${workspaceFolder}",
12
+ "environment": [],
13
+ "console": "integratedTerminal",
14
+ "preLaunchTask": "Build vector_demo"
15
+ }
16
+ ]
17
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "version": "2.0.0",
3
+ "tasks": [
4
+ {
5
+ "label": "Build vector_demo",
6
+ "type": "shell",
7
+ "command": "cmake",
8
+ "args": [
9
+ "--build",
10
+ "${workspaceFolder}/build"
11
+ ],
12
+ "group": {
13
+ "kind": "build",
14
+ "isDefault": true
15
+ },
16
+ "problemMatcher": "$msCompile"
17
+ }
18
+ ]
19
+ }
@@ -0,0 +1,77 @@
1
+ cmake_minimum_required(VERSION 3.16)
2
+
3
+ project(cpp_math LANGUAGES CXX)
4
+
5
+ set(CMAKE_CXX_STANDARD 20)
6
+ set(CMAKE_CXX_STANDARD_REQUIRED ON)
7
+ enable_testing()
8
+
9
+ set(PYBIND11_FINDPYTHON ON)
10
+ find_package(Python COMPONENTS Interpreter Development.Module REQUIRED)
11
+ find_package(pybind11 REQUIRED)
12
+
13
+ # Header-only C++ library
14
+ add_library(cpp_math INTERFACE)
15
+
16
+ target_include_directories(cpp_math
17
+ INTERFACE
18
+ ${CMAKE_CURRENT_SOURCE_DIR}/include
19
+ )
20
+
21
+ # Python extension module
22
+ pybind11_add_module(_matrix_engine
23
+ python/bindings.cpp
24
+ )
25
+
26
+ target_link_libraries(_matrix_engine
27
+ PRIVATE
28
+ cpp_math
29
+ )
30
+
31
+ target_include_directories(_matrix_engine
32
+ PRIVATE
33
+ ${CMAKE_CURRENT_SOURCE_DIR}/include
34
+ )
35
+
36
+ # Demo executable
37
+ add_executable(vector_demo
38
+ examples/vector_demo.cpp
39
+ )
40
+
41
+ target_link_libraries(vector_demo
42
+ PRIVATE
43
+ cpp_math
44
+ )
45
+
46
+ function(add_cpp_math_test name source)
47
+ add_executable(${name} ${source})
48
+ target_link_libraries(${name}
49
+ PRIVATE
50
+ cpp_math
51
+ )
52
+ add_test(NAME ${name} COMMAND ${name})
53
+ endfunction()
54
+
55
+ add_cpp_math_test(test_vector_basics tests/cpp/test_vector_basics.cpp)
56
+ add_cpp_math_test(test_vector_logic tests/cpp/test_vector_logic.cpp)
57
+ add_cpp_math_test(test_matrix_basics tests/cpp/test_matrix_basics.cpp)
58
+ add_cpp_math_test(test_matrix_linalg tests/cpp/test_matrix_linalg.cpp)
59
+ add_cpp_math_test(test_matrix_logic tests/cpp/test_matrix_logic.cpp)
60
+ add_cpp_math_test(test_validation tests/cpp/test_validation.cpp)
61
+ add_cpp_math_test(test_templates tests/cpp/test_templates.cpp)
62
+
63
+ # Put the compiled .pyd next to your Python package
64
+ set_target_properties(_matrix_engine PROPERTIES
65
+ LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/matrix_engine
66
+ LIBRARY_OUTPUT_DIRECTORY_DEBUG ${CMAKE_CURRENT_SOURCE_DIR}/matrix_engine
67
+ LIBRARY_OUTPUT_DIRECTORY_RELEASE ${CMAKE_CURRENT_SOURCE_DIR}/matrix_engine
68
+ RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/matrix_engine
69
+ RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_CURRENT_SOURCE_DIR}/matrix_engine
70
+ RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_CURRENT_SOURCE_DIR}/matrix_engine
71
+ )
72
+
73
+ # Optional install command
74
+ install(TARGETS _matrix_engine
75
+ LIBRARY DESTINATION matrix_engine
76
+ RUNTIME DESTINATION matrix_engine
77
+ )
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Noah Ryan
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,239 @@
1
+ Metadata-Version: 2.2
2
+ Name: matrix_engine
3
+ Version: 1.1.0
4
+ Summary: C++ matrix and vector engine with pybind11 bindings
5
+ Author: Noah Ryan
6
+ License: MIT License
7
+
8
+ Copyright (c) 2026 Noah Ryan
9
+
10
+ Permission is hereby granted, free of charge, to any person obtaining a copy
11
+ of this software and associated documentation files (the "Software"), to deal
12
+ in the Software without restriction, including without limitation the rights
13
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14
+ copies of the Software, and to permit persons to whom the Software is
15
+ furnished to do so, subject to the following conditions:
16
+
17
+ The above copyright notice and this permission notice shall be included in all
18
+ copies or substantial portions of the Software.
19
+
20
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26
+ SOFTWARE.
27
+
28
+ Classifier: Development Status :: 3 - Alpha
29
+ Classifier: Intended Audience :: Developers
30
+ Classifier: Intended Audience :: Science/Research
31
+ Classifier: License :: OSI Approved :: MIT License
32
+ Classifier: Programming Language :: C++
33
+ Classifier: Programming Language :: Python :: 3
34
+ Classifier: Programming Language :: Python :: 3.11
35
+ Classifier: Programming Language :: Python :: 3.12
36
+ Classifier: Topic :: Scientific/Engineering
37
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
38
+ Project-URL: Repository, https://github.com/njryan-boou/Scientific-data-processing-backend-built-with-FastAPI
39
+ Project-URL: Issues, https://github.com/njryan-boou/Scientific-data-processing-backend-built-with-FastAPI/issues
40
+ Requires-Python: >=3.11
41
+ Description-Content-Type: text/markdown
42
+
43
+ # Matrix Engine
44
+
45
+ Header-only C++ vector and matrix templates with Python bindings built through
46
+ pybind11.
47
+
48
+ ## Features
49
+
50
+ - Header-only C++ templates: `VectorT<T>` and `MatrixT<T>`
51
+ - Python API using double-based aliases: `Vector` and `Matrix`
52
+ - Vector arithmetic, dot product, magnitude, normalization, and 3D cross product
53
+ - Matrix arithmetic, transpose, matrix multiplication, matrix-vector multiplication, and determinant for 2x2 and 3x3 matrices
54
+ - Elementwise comparison and logical mask operators
55
+ - Row iteration for matrices in Python
56
+ - Custom validation helpers and exception types exposed to Python
57
+ - C++ tests through CTest and Python tests through `unittest`
58
+
59
+ ## Layout
60
+
61
+ ```text
62
+ cpp_math/
63
+ include/ C++ headers
64
+ matrix_engine/ Python package files and built extension output
65
+ python/ pybind11 bindings
66
+ tests/cpp/ C++ tests
67
+ tests/python/ Python tests
68
+ examples/ C++ examples
69
+ ```
70
+
71
+ ## C++ Usage
72
+
73
+ ```cpp
74
+ #include "Matrix.hpp"
75
+ #include "Vector.hpp"
76
+
77
+ #include <iostream>
78
+
79
+ int main()
80
+ {
81
+ Vector v({1.0, 2.0, 3.0});
82
+ Vector w({4.0, 5.0, 6.0});
83
+
84
+ std::cout << v.dot(w) << "\n";
85
+
86
+ Matrix A({{1.0, 2.0}, {3.0, 4.0}});
87
+ Matrix B({{5.0, 6.0}, {7.0, 8.0}});
88
+
89
+ std::cout << A.matmul(B);
90
+ }
91
+ ```
92
+
93
+ The default aliases use `double`:
94
+
95
+ ```cpp
96
+ using Vector = VectorT<double>;
97
+ using Matrix = MatrixT<double>;
98
+ ```
99
+
100
+ You can also use other numeric types:
101
+
102
+ ```cpp
103
+ VectorT<float> vf({1.0f, 2.0f});
104
+ MatrixT<int> mi({{1, 2}, {3, 4}});
105
+ ```
106
+
107
+ ## Python Usage
108
+
109
+ ```python
110
+ import matrix_engine as me
111
+
112
+ v = me.Vector([1.0, 2.0, 3.0])
113
+ w = me.Vector([4.0, 5.0, 6.0])
114
+
115
+ print(v @ w) # dot product
116
+ print(v + w) # elementwise addition
117
+ print(v < w) # elementwise mask: 1.0 for true, 0.0 for false
118
+
119
+ A = me.Matrix([[1.0, 2.0], [3.0, 4.0]])
120
+ B = me.Matrix([[5.0, 6.0], [7.0, 8.0]])
121
+
122
+ print(A @ B) # matrix multiplication
123
+ print(A.determinant())
124
+
125
+ for row in A:
126
+ print(row) # rows are Vector instances
127
+ ```
128
+
129
+ ## Validation And Exceptions
130
+
131
+ The Python API exposes custom exception classes:
132
+
133
+ ```python
134
+ import matrix_engine as me
135
+
136
+ try:
137
+ me.Matrix([[1.0, 2.0, 3.0]]).determinant()
138
+ except me.ShapeError as exc:
139
+ print(exc)
140
+ ```
141
+
142
+ Available exception types:
143
+
144
+ - `LinalgError`
145
+ - `ShapeError`
146
+ - `DimensionError`
147
+ - `IndexError`
148
+ - `EmptyMatrixError`
149
+ - `ValueError`
150
+
151
+ Validation helpers are available under `me.validation`:
152
+
153
+ ```python
154
+ me.validation.square(matrix)
155
+ me.validation.same_shape(lhs, rhs)
156
+ me.validation.multiplication(lhs, rhs)
157
+ ```
158
+
159
+ Most operations call validation internally, so users usually do not need to call
160
+ these helpers directly.
161
+
162
+ ## Build
163
+
164
+ From the repository root:
165
+
166
+ ```powershell
167
+ cmake -S cpp_math -B cpp_math/build
168
+ cmake --build cpp_math/build
169
+ ```
170
+
171
+ From inside `cpp_math`:
172
+
173
+ ```powershell
174
+ cmake -S . -B build
175
+ cmake --build build
176
+ ```
177
+
178
+ The extension module is built into:
179
+
180
+ ```text
181
+ cpp_math/matrix_engine/
182
+ ```
183
+
184
+ ## Install For Python Development
185
+
186
+ From inside `cpp_math`:
187
+
188
+ ```powershell
189
+ pip install -e .
190
+ ```
191
+
192
+ If you are working from the repository root without installing, add `cpp_math`
193
+ to `PYTHONPATH` or insert it into `sys.path`:
194
+
195
+ ```python
196
+ import sys
197
+ from pathlib import Path
198
+
199
+ sys.path.insert(0, str(Path.cwd() / "cpp_math"))
200
+ ```
201
+
202
+ ## Tests
203
+
204
+ Build first:
205
+
206
+ ```powershell
207
+ cmake --build cpp_math/build
208
+ ```
209
+
210
+ Run C++ tests:
211
+
212
+ ```powershell
213
+ ctest --test-dir cpp_math/build -C Debug --output-on-failure
214
+ ```
215
+
216
+ Run Python tests:
217
+
218
+ ```powershell
219
+ python cpp_math/tests/python/run_tests.py
220
+ ```
221
+
222
+ The GitHub Actions workflow in `.github/workflows/tests.yml` runs both the C++
223
+ and Python test suites.
224
+
225
+ ## Current Limitations
226
+
227
+ These methods are declared but not implemented yet:
228
+
229
+ - `Matrix.inverse()`
230
+ - `Matrix.adjugate()`
231
+ - `Matrix.rref()`
232
+ - `Matrix.rank()`
233
+ - `Vector.solve()`
234
+
235
+ They validate inputs where appropriate and then raise `ValueError`.
236
+
237
+ ## License
238
+
239
+ MIT. See `LICENSE`.
@@ -0,0 +1,197 @@
1
+ # Matrix Engine
2
+
3
+ Header-only C++ vector and matrix templates with Python bindings built through
4
+ pybind11.
5
+
6
+ ## Features
7
+
8
+ - Header-only C++ templates: `VectorT<T>` and `MatrixT<T>`
9
+ - Python API using double-based aliases: `Vector` and `Matrix`
10
+ - Vector arithmetic, dot product, magnitude, normalization, and 3D cross product
11
+ - Matrix arithmetic, transpose, matrix multiplication, matrix-vector multiplication, and determinant for 2x2 and 3x3 matrices
12
+ - Elementwise comparison and logical mask operators
13
+ - Row iteration for matrices in Python
14
+ - Custom validation helpers and exception types exposed to Python
15
+ - C++ tests through CTest and Python tests through `unittest`
16
+
17
+ ## Layout
18
+
19
+ ```text
20
+ cpp_math/
21
+ include/ C++ headers
22
+ matrix_engine/ Python package files and built extension output
23
+ python/ pybind11 bindings
24
+ tests/cpp/ C++ tests
25
+ tests/python/ Python tests
26
+ examples/ C++ examples
27
+ ```
28
+
29
+ ## C++ Usage
30
+
31
+ ```cpp
32
+ #include "Matrix.hpp"
33
+ #include "Vector.hpp"
34
+
35
+ #include <iostream>
36
+
37
+ int main()
38
+ {
39
+ Vector v({1.0, 2.0, 3.0});
40
+ Vector w({4.0, 5.0, 6.0});
41
+
42
+ std::cout << v.dot(w) << "\n";
43
+
44
+ Matrix A({{1.0, 2.0}, {3.0, 4.0}});
45
+ Matrix B({{5.0, 6.0}, {7.0, 8.0}});
46
+
47
+ std::cout << A.matmul(B);
48
+ }
49
+ ```
50
+
51
+ The default aliases use `double`:
52
+
53
+ ```cpp
54
+ using Vector = VectorT<double>;
55
+ using Matrix = MatrixT<double>;
56
+ ```
57
+
58
+ You can also use other numeric types:
59
+
60
+ ```cpp
61
+ VectorT<float> vf({1.0f, 2.0f});
62
+ MatrixT<int> mi({{1, 2}, {3, 4}});
63
+ ```
64
+
65
+ ## Python Usage
66
+
67
+ ```python
68
+ import matrix_engine as me
69
+
70
+ v = me.Vector([1.0, 2.0, 3.0])
71
+ w = me.Vector([4.0, 5.0, 6.0])
72
+
73
+ print(v @ w) # dot product
74
+ print(v + w) # elementwise addition
75
+ print(v < w) # elementwise mask: 1.0 for true, 0.0 for false
76
+
77
+ A = me.Matrix([[1.0, 2.0], [3.0, 4.0]])
78
+ B = me.Matrix([[5.0, 6.0], [7.0, 8.0]])
79
+
80
+ print(A @ B) # matrix multiplication
81
+ print(A.determinant())
82
+
83
+ for row in A:
84
+ print(row) # rows are Vector instances
85
+ ```
86
+
87
+ ## Validation And Exceptions
88
+
89
+ The Python API exposes custom exception classes:
90
+
91
+ ```python
92
+ import matrix_engine as me
93
+
94
+ try:
95
+ me.Matrix([[1.0, 2.0, 3.0]]).determinant()
96
+ except me.ShapeError as exc:
97
+ print(exc)
98
+ ```
99
+
100
+ Available exception types:
101
+
102
+ - `LinalgError`
103
+ - `ShapeError`
104
+ - `DimensionError`
105
+ - `IndexError`
106
+ - `EmptyMatrixError`
107
+ - `ValueError`
108
+
109
+ Validation helpers are available under `me.validation`:
110
+
111
+ ```python
112
+ me.validation.square(matrix)
113
+ me.validation.same_shape(lhs, rhs)
114
+ me.validation.multiplication(lhs, rhs)
115
+ ```
116
+
117
+ Most operations call validation internally, so users usually do not need to call
118
+ these helpers directly.
119
+
120
+ ## Build
121
+
122
+ From the repository root:
123
+
124
+ ```powershell
125
+ cmake -S cpp_math -B cpp_math/build
126
+ cmake --build cpp_math/build
127
+ ```
128
+
129
+ From inside `cpp_math`:
130
+
131
+ ```powershell
132
+ cmake -S . -B build
133
+ cmake --build build
134
+ ```
135
+
136
+ The extension module is built into:
137
+
138
+ ```text
139
+ cpp_math/matrix_engine/
140
+ ```
141
+
142
+ ## Install For Python Development
143
+
144
+ From inside `cpp_math`:
145
+
146
+ ```powershell
147
+ pip install -e .
148
+ ```
149
+
150
+ If you are working from the repository root without installing, add `cpp_math`
151
+ to `PYTHONPATH` or insert it into `sys.path`:
152
+
153
+ ```python
154
+ import sys
155
+ from pathlib import Path
156
+
157
+ sys.path.insert(0, str(Path.cwd() / "cpp_math"))
158
+ ```
159
+
160
+ ## Tests
161
+
162
+ Build first:
163
+
164
+ ```powershell
165
+ cmake --build cpp_math/build
166
+ ```
167
+
168
+ Run C++ tests:
169
+
170
+ ```powershell
171
+ ctest --test-dir cpp_math/build -C Debug --output-on-failure
172
+ ```
173
+
174
+ Run Python tests:
175
+
176
+ ```powershell
177
+ python cpp_math/tests/python/run_tests.py
178
+ ```
179
+
180
+ The GitHub Actions workflow in `.github/workflows/tests.yml` runs both the C++
181
+ and Python test suites.
182
+
183
+ ## Current Limitations
184
+
185
+ These methods are declared but not implemented yet:
186
+
187
+ - `Matrix.inverse()`
188
+ - `Matrix.adjugate()`
189
+ - `Matrix.rref()`
190
+ - `Matrix.rank()`
191
+ - `Vector.solve()`
192
+
193
+ They validate inputs where appropriate and then raise `ValueError`.
194
+
195
+ ## License
196
+
197
+ MIT. See `LICENSE`.