stratax 0.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 (577) hide show
  1. stratax-0.1.0/.gitignore +15 -0
  2. stratax-0.1.0/CHANGELOG.md +16 -0
  3. stratax-0.1.0/CMakeLists.txt +93 -0
  4. stratax-0.1.0/Doxyfile +41 -0
  5. stratax-0.1.0/LICENSE +21 -0
  6. stratax-0.1.0/PKG-INFO +229 -0
  7. stratax-0.1.0/README.md +184 -0
  8. stratax-0.1.0/bindings/matrix.cpp +369 -0
  9. stratax-0.1.0/bindings/module.cpp +35 -0
  10. stratax-0.1.0/bindings/shape.cpp +157 -0
  11. stratax-0.1.0/bindings/tensor.cpp +375 -0
  12. stratax-0.1.0/bindings/vector.cpp +295 -0
  13. stratax-0.1.0/docs/cpp/html/_arithmetic_8hpp.html +1099 -0
  14. stratax-0.1.0/docs/cpp/html/_arithmetic_8hpp.js +26 -0
  15. stratax-0.1.0/docs/cpp/html/_arithmetic_8hpp_source.html +468 -0
  16. stratax-0.1.0/docs/cpp/html/_arithmetic_8md.html +140 -0
  17. stratax-0.1.0/docs/cpp/html/_buffer_8hpp.html +166 -0
  18. stratax-0.1.0/docs/cpp/html/_buffer_8hpp.js +5 -0
  19. stratax-0.1.0/docs/cpp/html/_buffer_8hpp_source.html +572 -0
  20. stratax-0.1.0/docs/cpp/html/_buffer_8md.html +140 -0
  21. stratax-0.1.0/docs/cpp/html/_comparison_8hpp.html +255 -0
  22. stratax-0.1.0/docs/cpp/html/_comparison_8hpp.js +5 -0
  23. stratax-0.1.0/docs/cpp/html/_comparison_8hpp_source.html +175 -0
  24. stratax-0.1.0/docs/cpp/html/_comparison_8md.html +140 -0
  25. stratax-0.1.0/docs/cpp/html/_concepts_8hpp.html +200 -0
  26. stratax-0.1.0/docs/cpp/html/_concepts_8hpp.js +25 -0
  27. stratax-0.1.0/docs/cpp/html/_concepts_8hpp_source.html +298 -0
  28. stratax-0.1.0/docs/cpp/html/_concepts_8md.html +140 -0
  29. stratax-0.1.0/docs/cpp/html/_config_8hpp.html +163 -0
  30. stratax-0.1.0/docs/cpp/html/_config_8hpp.js +8 -0
  31. stratax-0.1.0/docs/cpp/html/_config_8hpp_source.html +158 -0
  32. stratax-0.1.0/docs/cpp/html/_conversions_8hpp.html +420 -0
  33. stratax-0.1.0/docs/cpp/html/_conversions_8hpp.js +9 -0
  34. stratax-0.1.0/docs/cpp/html/_conversions_8hpp_source.html +275 -0
  35. stratax-0.1.0/docs/cpp/html/_conversions_8md.html +140 -0
  36. stratax-0.1.0/docs/cpp/html/_creation_8hpp.html +172 -0
  37. stratax-0.1.0/docs/cpp/html/_creation_8hpp.js +7 -0
  38. stratax-0.1.0/docs/cpp/html/_creation_8hpp_source.html +203 -0
  39. stratax-0.1.0/docs/cpp/html/_creation_8md.html +140 -0
  40. stratax-0.1.0/docs/cpp/html/_exceptions_8hpp.html +165 -0
  41. stratax-0.1.0/docs/cpp/html/_exceptions_8hpp.js +10 -0
  42. stratax-0.1.0/docs/cpp/html/_exceptions_8hpp_source.html +205 -0
  43. stratax-0.1.0/docs/cpp/html/_exceptions_8md.html +140 -0
  44. stratax-0.1.0/docs/cpp/html/_indexing_8hpp.html +207 -0
  45. stratax-0.1.0/docs/cpp/html/_indexing_8hpp.js +4 -0
  46. stratax-0.1.0/docs/cpp/html/_indexing_8hpp_source.html +217 -0
  47. stratax-0.1.0/docs/cpp/html/_indexing_8md.html +140 -0
  48. stratax-0.1.0/docs/cpp/html/_matrix_8hpp.html +162 -0
  49. stratax-0.1.0/docs/cpp/html/_matrix_8hpp.js +4 -0
  50. stratax-0.1.0/docs/cpp/html/_matrix_8hpp_source.html +562 -0
  51. stratax-0.1.0/docs/cpp/html/_matrix_8md.html +140 -0
  52. stratax-0.1.0/docs/cpp/html/_print_8hpp.html +171 -0
  53. stratax-0.1.0/docs/cpp/html/_print_8hpp.js +7 -0
  54. stratax-0.1.0/docs/cpp/html/_print_8hpp_source.html +293 -0
  55. stratax-0.1.0/docs/cpp/html/_print_8md.html +140 -0
  56. stratax-0.1.0/docs/cpp/html/_r_e_a_d_m_e_8md.html +140 -0
  57. stratax-0.1.0/docs/cpp/html/_reshape_8hpp.html +237 -0
  58. stratax-0.1.0/docs/cpp/html/_reshape_8hpp.js +5 -0
  59. stratax-0.1.0/docs/cpp/html/_reshape_8hpp_source.html +198 -0
  60. stratax-0.1.0/docs/cpp/html/_reshape_8md.html +140 -0
  61. stratax-0.1.0/docs/cpp/html/_shape_8hpp.html +164 -0
  62. stratax-0.1.0/docs/cpp/html/_shape_8hpp.js +6 -0
  63. stratax-0.1.0/docs/cpp/html/_shape_8hpp_source.html +378 -0
  64. stratax-0.1.0/docs/cpp/html/_shape_8md.html +140 -0
  65. stratax-0.1.0/docs/cpp/html/_strides_8hpp.html +166 -0
  66. stratax-0.1.0/docs/cpp/html/_strides_8hpp.js +5 -0
  67. stratax-0.1.0/docs/cpp/html/_strides_8hpp_source.html +420 -0
  68. stratax-0.1.0/docs/cpp/html/_strides_8md.html +140 -0
  69. stratax-0.1.0/docs/cpp/html/_tensor_8hpp.html +164 -0
  70. stratax-0.1.0/docs/cpp/html/_tensor_8hpp.js +4 -0
  71. stratax-0.1.0/docs/cpp/html/_tensor_8hpp_source.html +556 -0
  72. stratax-0.1.0/docs/cpp/html/_tensor_8md.html +140 -0
  73. stratax-0.1.0/docs/cpp/html/_types_8hpp.html +172 -0
  74. stratax-0.1.0/docs/cpp/html/_types_8hpp.js +20 -0
  75. stratax-0.1.0/docs/cpp/html/_types_8hpp_source.html +185 -0
  76. stratax-0.1.0/docs/cpp/html/_types_8md.html +140 -0
  77. stratax-0.1.0/docs/cpp/html/_validation_8hpp.html +206 -0
  78. stratax-0.1.0/docs/cpp/html/_validation_8hpp.js +20 -0
  79. stratax-0.1.0/docs/cpp/html/_validation_8hpp_source.html +367 -0
  80. stratax-0.1.0/docs/cpp/html/_validation_8md.html +140 -0
  81. stratax-0.1.0/docs/cpp/html/_vector_8hpp.html +161 -0
  82. stratax-0.1.0/docs/cpp/html/_vector_8hpp.js +4 -0
  83. stratax-0.1.0/docs/cpp/html/_vector_8hpp_source.html +492 -0
  84. stratax-0.1.0/docs/cpp/html/_vector_8md.html +140 -0
  85. stratax-0.1.0/docs/cpp/html/annotated.html +160 -0
  86. stratax-0.1.0/docs/cpp/html/annotated_dup.js +29 -0
  87. stratax-0.1.0/docs/cpp/html/architecture_8md.html +140 -0
  88. stratax-0.1.0/docs/cpp/html/binary_8hpp.html +150 -0
  89. stratax-0.1.0/docs/cpp/html/binary_8hpp_source.html +135 -0
  90. stratax-0.1.0/docs/cpp/html/broadcasting_8hpp.html +150 -0
  91. stratax-0.1.0/docs/cpp/html/broadcasting_8hpp_source.html +135 -0
  92. stratax-0.1.0/docs/cpp/html/class_exceptions_1_1_broadcast_error.html +161 -0
  93. stratax-0.1.0/docs/cpp/html/class_exceptions_1_1_broadcast_error.png +0 -0
  94. stratax-0.1.0/docs/cpp/html/class_exceptions_1_1_dimension_error.html +161 -0
  95. stratax-0.1.0/docs/cpp/html/class_exceptions_1_1_dimension_error.png +0 -0
  96. stratax-0.1.0/docs/cpp/html/class_exceptions_1_1_index_error.html +161 -0
  97. stratax-0.1.0/docs/cpp/html/class_exceptions_1_1_index_error.png +0 -0
  98. stratax-0.1.0/docs/cpp/html/class_exceptions_1_1_shape_error.html +161 -0
  99. stratax-0.1.0/docs/cpp/html/class_exceptions_1_1_shape_error.png +0 -0
  100. stratax-0.1.0/docs/cpp/html/class_exceptions_1_1_stratax_error.html +166 -0
  101. stratax-0.1.0/docs/cpp/html/class_exceptions_1_1_stratax_error.png +0 -0
  102. stratax-0.1.0/docs/cpp/html/class_exceptions_1_1_type_error.html +161 -0
  103. stratax-0.1.0/docs/cpp/html/class_exceptions_1_1_type_error.png +0 -0
  104. stratax-0.1.0/docs/cpp/html/class_exceptions_1_1_zero_division_error.html +161 -0
  105. stratax-0.1.0/docs/cpp/html/class_exceptions_1_1_zero_division_error.png +0 -0
  106. stratax-0.1.0/docs/cpp/html/classes.html +165 -0
  107. stratax-0.1.0/docs/cpp/html/classstratax_1_1container_1_1_matrix-members.html +180 -0
  108. stratax-0.1.0/docs/cpp/html/classstratax_1_1container_1_1_matrix.html +1825 -0
  109. stratax-0.1.0/docs/cpp/html/classstratax_1_1container_1_1_matrix.js +48 -0
  110. stratax-0.1.0/docs/cpp/html/classstratax_1_1container_1_1_tensor-members.html +180 -0
  111. stratax-0.1.0/docs/cpp/html/classstratax_1_1container_1_1_tensor.html +1865 -0
  112. stratax-0.1.0/docs/cpp/html/classstratax_1_1container_1_1_tensor.js +48 -0
  113. stratax-0.1.0/docs/cpp/html/classstratax_1_1container_1_1_vector-members.html +178 -0
  114. stratax-0.1.0/docs/cpp/html/classstratax_1_1container_1_1_vector.html +1681 -0
  115. stratax-0.1.0/docs/cpp/html/classstratax_1_1container_1_1_vector.js +46 -0
  116. stratax-0.1.0/docs/cpp/html/classstratax_1_1core_1_1_buffer-members.html +170 -0
  117. stratax-0.1.0/docs/cpp/html/classstratax_1_1core_1_1_buffer.html +1525 -0
  118. stratax-0.1.0/docs/cpp/html/classstratax_1_1core_1_1_buffer.js +39 -0
  119. stratax-0.1.0/docs/cpp/html/classstratax_1_1core_1_1_shape-members.html +155 -0
  120. stratax-0.1.0/docs/cpp/html/classstratax_1_1core_1_1_shape.html +913 -0
  121. stratax-0.1.0/docs/cpp/html/classstratax_1_1core_1_1_shape.js +24 -0
  122. stratax-0.1.0/docs/cpp/html/classstratax_1_1core_1_1_slice-members.html +142 -0
  123. stratax-0.1.0/docs/cpp/html/classstratax_1_1core_1_1_slice.html +428 -0
  124. stratax-0.1.0/docs/cpp/html/classstratax_1_1core_1_1_slice.js +10 -0
  125. stratax-0.1.0/docs/cpp/html/classstratax_1_1core_1_1_strides-members.html +165 -0
  126. stratax-0.1.0/docs/cpp/html/classstratax_1_1core_1_1_strides.html +1167 -0
  127. stratax-0.1.0/docs/cpp/html/classstratax_1_1core_1_1_strides.js +33 -0
  128. stratax-0.1.0/docs/cpp/html/clipboard.js +61 -0
  129. stratax-0.1.0/docs/cpp/html/codefolding.js +143 -0
  130. stratax-0.1.0/docs/cpp/html/concept_arithmetic.html +156 -0
  131. stratax-0.1.0/docs/cpp/html/concept_array.html +144 -0
  132. stratax-0.1.0/docs/cpp/html/concept_complex.html +154 -0
  133. stratax-0.1.0/docs/cpp/html/concept_float.html +154 -0
  134. stratax-0.1.0/docs/cpp/html/concept_floating.html +153 -0
  135. stratax-0.1.0/docs/cpp/html/concept_integer.html +155 -0
  136. stratax-0.1.0/docs/cpp/html/concept_integral.html +157 -0
  137. stratax-0.1.0/docs/cpp/html/concept_n_darray.html +161 -0
  138. stratax-0.1.0/docs/cpp/html/concept_numeric.html +156 -0
  139. stratax-0.1.0/docs/cpp/html/concept_real.html +155 -0
  140. stratax-0.1.0/docs/cpp/html/concept_scalar.html +154 -0
  141. stratax-0.1.0/docs/cpp/html/concept_signed_integer.html +156 -0
  142. stratax-0.1.0/docs/cpp/html/concept_unsigned_integer.html +156 -0
  143. stratax-0.1.0/docs/cpp/html/concepts.html +156 -0
  144. stratax-0.1.0/docs/cpp/html/concepts.js +26 -0
  145. stratax-0.1.0/docs/cpp/html/conceptstratax_1_1core_1_1concept__detail_1_1_bool_like.html +143 -0
  146. stratax-0.1.0/docs/cpp/html/conceptstratax_1_1core_1_1concept__detail_1_1_character_like.html +152 -0
  147. stratax-0.1.0/docs/cpp/html/conceptstratax_1_1core_1_1concept__detail_1_1_same_as_any.html +143 -0
  148. stratax-0.1.0/docs/cpp/html/conceptstratax_1_1core_1_1concept__detail_1_1_supported_complex.html +148 -0
  149. stratax-0.1.0/docs/cpp/html/contributing_8md.html +140 -0
  150. stratax-0.1.0/docs/cpp/html/cookie.js +58 -0
  151. stratax-0.1.0/docs/cpp/html/core_2_slice_8hpp.html +155 -0
  152. stratax-0.1.0/docs/cpp/html/core_2_slice_8hpp.js +4 -0
  153. stratax-0.1.0/docs/cpp/html/core_2_slice_8hpp_source.html +215 -0
  154. stratax-0.1.0/docs/cpp/html/core_2_slice_8md.html +140 -0
  155. stratax-0.1.0/docs/cpp/html/csv_8hpp.html +150 -0
  156. stratax-0.1.0/docs/cpp/html/csv_8hpp_source.html +135 -0
  157. stratax-0.1.0/docs/cpp/html/curl_8hpp.html +150 -0
  158. stratax-0.1.0/docs/cpp/html/curl_8hpp_source.html +135 -0
  159. stratax-0.1.0/docs/cpp/html/decomposition_8hpp.html +150 -0
  160. stratax-0.1.0/docs/cpp/html/decomposition_8hpp_source.html +135 -0
  161. stratax-0.1.0/docs/cpp/html/derivative_8hpp.html +150 -0
  162. stratax-0.1.0/docs/cpp/html/derivative_8hpp_source.html +135 -0
  163. stratax-0.1.0/docs/cpp/html/descriptive_8hpp.html +150 -0
  164. stratax-0.1.0/docs/cpp/html/descriptive_8hpp_source.html +135 -0
  165. stratax-0.1.0/docs/cpp/html/determinant_8hpp.html +150 -0
  166. stratax-0.1.0/docs/cpp/html/determinant_8hpp_source.html +135 -0
  167. stratax-0.1.0/docs/cpp/html/dir_16056853f7473a064857dbb9d2d0c186.html +140 -0
  168. stratax-0.1.0/docs/cpp/html/dir_223cff0965e44113c97bcd6507f5d06c.html +149 -0
  169. stratax-0.1.0/docs/cpp/html/dir_223cff0965e44113c97bcd6507f5d06c.js +6 -0
  170. stratax-0.1.0/docs/cpp/html/dir_351a1bae25f593a7b3ae290281b962ad.html +152 -0
  171. stratax-0.1.0/docs/cpp/html/dir_351a1bae25f593a7b3ae290281b962ad.js +7 -0
  172. stratax-0.1.0/docs/cpp/html/dir_3777d40ea6a06f8da7b3fd0321a74898.html +140 -0
  173. stratax-0.1.0/docs/cpp/html/dir_3db998c1dbae004fbb297176032f9160.html +156 -0
  174. stratax-0.1.0/docs/cpp/html/dir_3db998c1dbae004fbb297176032f9160.js +9 -0
  175. stratax-0.1.0/docs/cpp/html/dir_46b59f691780e73bdb80ba0636be5830.html +140 -0
  176. stratax-0.1.0/docs/cpp/html/dir_49e56c817e5e54854c35e136979f97ca.html +145 -0
  177. stratax-0.1.0/docs/cpp/html/dir_49e56c817e5e54854c35e136979f97ca.js +4 -0
  178. stratax-0.1.0/docs/cpp/html/dir_4dc4647a8575faa8c6083e550692641f.html +149 -0
  179. stratax-0.1.0/docs/cpp/html/dir_4dc4647a8575faa8c6083e550692641f.js +8 -0
  180. stratax-0.1.0/docs/cpp/html/dir_5179a46a04c00f26153add2c2c09d3cf.html +148 -0
  181. stratax-0.1.0/docs/cpp/html/dir_5179a46a04c00f26153add2c2c09d3cf.js +7 -0
  182. stratax-0.1.0/docs/cpp/html/dir_5a5db20e45deba4b829739d47af895d1.html +150 -0
  183. stratax-0.1.0/docs/cpp/html/dir_5a5db20e45deba4b829739d47af895d1.js +6 -0
  184. stratax-0.1.0/docs/cpp/html/dir_877384a994e0793257361be2b1c55de1.html +158 -0
  185. stratax-0.1.0/docs/cpp/html/dir_877384a994e0793257361be2b1c55de1.js +10 -0
  186. stratax-0.1.0/docs/cpp/html/dir_8e383a1d2ade32854ed7904f21bcc60f.html +153 -0
  187. stratax-0.1.0/docs/cpp/html/dir_8e383a1d2ade32854ed7904f21bcc60f.js +10 -0
  188. stratax-0.1.0/docs/cpp/html/dir_ac792f0f17fbe3860dab8ca9a4d32742.html +154 -0
  189. stratax-0.1.0/docs/cpp/html/dir_ac792f0f17fbe3860dab8ca9a4d32742.js +8 -0
  190. stratax-0.1.0/docs/cpp/html/dir_c2863c0ad027e16b27c27f7e4021d7f3.html +140 -0
  191. stratax-0.1.0/docs/cpp/html/dir_d44c64559bbebec7f509842c48db8b23.html +149 -0
  192. stratax-0.1.0/docs/cpp/html/dir_d44c64559bbebec7f509842c48db8b23.js +5 -0
  193. stratax-0.1.0/docs/cpp/html/dir_d81e4652eb261ab36273d7eb7356393d.html +153 -0
  194. stratax-0.1.0/docs/cpp/html/dir_d81e4652eb261ab36273d7eb7356393d.js +12 -0
  195. stratax-0.1.0/docs/cpp/html/dir_dc51df17c4a34e29a69d782eec26d6c5.html +154 -0
  196. stratax-0.1.0/docs/cpp/html/dir_dc51df17c4a34e29a69d782eec26d6c5.js +12 -0
  197. stratax-0.1.0/docs/cpp/html/divergence_8hpp.html +150 -0
  198. stratax-0.1.0/docs/cpp/html/divergence_8hpp_source.html +135 -0
  199. stratax-0.1.0/docs/cpp/html/doxygen.css +2560 -0
  200. stratax-0.1.0/docs/cpp/html/doxygen.svg +28 -0
  201. stratax-0.1.0/docs/cpp/html/doxygen_crawl.html +821 -0
  202. stratax-0.1.0/docs/cpp/html/eigen_8hpp.html +150 -0
  203. stratax-0.1.0/docs/cpp/html/eigen_8hpp_source.html +135 -0
  204. stratax-0.1.0/docs/cpp/html/files.html +203 -0
  205. stratax-0.1.0/docs/cpp/html/files_dup.js +5 -0
  206. stratax-0.1.0/docs/cpp/html/functions.html +137 -0
  207. stratax-0.1.0/docs/cpp/html/functions_b.html +138 -0
  208. stratax-0.1.0/docs/cpp/html/functions_c.html +140 -0
  209. stratax-0.1.0/docs/cpp/html/functions_d.html +136 -0
  210. stratax-0.1.0/docs/cpp/html/functions_dup.js +17 -0
  211. stratax-0.1.0/docs/cpp/html/functions_e.html +138 -0
  212. stratax-0.1.0/docs/cpp/html/functions_f.html +137 -0
  213. stratax-0.1.0/docs/cpp/html/functions_func.html +136 -0
  214. stratax-0.1.0/docs/cpp/html/functions_func.js +16 -0
  215. stratax-0.1.0/docs/cpp/html/functions_func_b.html +138 -0
  216. stratax-0.1.0/docs/cpp/html/functions_func_c.html +140 -0
  217. stratax-0.1.0/docs/cpp/html/functions_func_d.html +136 -0
  218. stratax-0.1.0/docs/cpp/html/functions_func_e.html +138 -0
  219. stratax-0.1.0/docs/cpp/html/functions_func_f.html +137 -0
  220. stratax-0.1.0/docs/cpp/html/functions_func_m.html +136 -0
  221. stratax-0.1.0/docs/cpp/html/functions_func_o.html +140 -0
  222. stratax-0.1.0/docs/cpp/html/functions_func_r.html +139 -0
  223. stratax-0.1.0/docs/cpp/html/functions_func_s.html +144 -0
  224. stratax-0.1.0/docs/cpp/html/functions_func_t.html +136 -0
  225. stratax-0.1.0/docs/cpp/html/functions_func_v.html +136 -0
  226. stratax-0.1.0/docs/cpp/html/functions_func_~.html +141 -0
  227. stratax-0.1.0/docs/cpp/html/functions_m.html +136 -0
  228. stratax-0.1.0/docs/cpp/html/functions_o.html +140 -0
  229. stratax-0.1.0/docs/cpp/html/functions_r.html +140 -0
  230. stratax-0.1.0/docs/cpp/html/functions_s.html +144 -0
  231. stratax-0.1.0/docs/cpp/html/functions_t.html +136 -0
  232. stratax-0.1.0/docs/cpp/html/functions_type.html +135 -0
  233. stratax-0.1.0/docs/cpp/html/functions_u.html +136 -0
  234. stratax-0.1.0/docs/cpp/html/functions_v.html +137 -0
  235. stratax-0.1.0/docs/cpp/html/functions_vars.html +135 -0
  236. stratax-0.1.0/docs/cpp/html/functions_~.html +141 -0
  237. stratax-0.1.0/docs/cpp/html/generators_8hpp.html +150 -0
  238. stratax-0.1.0/docs/cpp/html/generators_8hpp_source.html +135 -0
  239. stratax-0.1.0/docs/cpp/html/globals.html +174 -0
  240. stratax-0.1.0/docs/cpp/html/globals_func.html +174 -0
  241. stratax-0.1.0/docs/cpp/html/gradient_8hpp.html +150 -0
  242. stratax-0.1.0/docs/cpp/html/gradient_8hpp_source.html +135 -0
  243. stratax-0.1.0/docs/cpp/html/hierarchy.html +162 -0
  244. stratax-0.1.0/docs/cpp/html/hierarchy.js +33 -0
  245. stratax-0.1.0/docs/cpp/html/hypothesis_8hpp.html +150 -0
  246. stratax-0.1.0/docs/cpp/html/hypothesis_8hpp_source.html +135 -0
  247. stratax-0.1.0/docs/cpp/html/index.html +133 -0
  248. stratax-0.1.0/docs/cpp/html/integration_8hpp.html +150 -0
  249. stratax-0.1.0/docs/cpp/html/integration_8hpp_source.html +135 -0
  250. stratax-0.1.0/docs/cpp/html/inverse_8hpp.html +150 -0
  251. stratax-0.1.0/docs/cpp/html/inverse_8hpp_source.html +135 -0
  252. stratax-0.1.0/docs/cpp/html/kernels_8hpp.html +150 -0
  253. stratax-0.1.0/docs/cpp/html/kernels_8hpp_source.html +135 -0
  254. stratax-0.1.0/docs/cpp/html/logical_8hpp.html +150 -0
  255. stratax-0.1.0/docs/cpp/html/logical_8hpp_source.html +135 -0
  256. stratax-0.1.0/docs/cpp/html/md__r_e_a_d_m_e.html +248 -0
  257. stratax-0.1.0/docs/cpp/html/md_docs_2dev_2architecture.html +200 -0
  258. stratax-0.1.0/docs/cpp/html/md_docs_2dev_2containers_2_conversions.html +203 -0
  259. stratax-0.1.0/docs/cpp/html/md_docs_2dev_2containers_2_creation.html +199 -0
  260. stratax-0.1.0/docs/cpp/html/md_docs_2dev_2containers_2_matrix.html +228 -0
  261. stratax-0.1.0/docs/cpp/html/md_docs_2dev_2containers_2_tensor.html +226 -0
  262. stratax-0.1.0/docs/cpp/html/md_docs_2dev_2containers_2_vector.html +224 -0
  263. stratax-0.1.0/docs/cpp/html/md_docs_2dev_2contributing.html +200 -0
  264. stratax-0.1.0/docs/cpp/html/md_docs_2dev_2core_2_buffer.html +221 -0
  265. stratax-0.1.0/docs/cpp/html/md_docs_2dev_2core_2_concepts.html +202 -0
  266. stratax-0.1.0/docs/cpp/html/md_docs_2dev_2core_2_exceptions.html +202 -0
  267. stratax-0.1.0/docs/cpp/html/md_docs_2dev_2core_2_shape.html +214 -0
  268. stratax-0.1.0/docs/cpp/html/md_docs_2dev_2core_2_slice.html +199 -0
  269. stratax-0.1.0/docs/cpp/html/md_docs_2dev_2core_2_strides.html +221 -0
  270. stratax-0.1.0/docs/cpp/html/md_docs_2dev_2core_2_types.html +212 -0
  271. stratax-0.1.0/docs/cpp/html/md_docs_2dev_2core_2_validation.html +219 -0
  272. stratax-0.1.0/docs/cpp/html/md_docs_2dev_2io_2_print.html +203 -0
  273. stratax-0.1.0/docs/cpp/html/md_docs_2dev_2ops_2_arithmetic.html +237 -0
  274. stratax-0.1.0/docs/cpp/html/md_docs_2dev_2ops_2_comparison.html +194 -0
  275. stratax-0.1.0/docs/cpp/html/md_docs_2dev_2ops_2_indexing.html +196 -0
  276. stratax-0.1.0/docs/cpp/html/md_docs_2dev_2ops_2_reshape.html +198 -0
  277. stratax-0.1.0/docs/cpp/html/md_docs_2dev_2ops_2_slice.html +208 -0
  278. stratax-0.1.0/docs/cpp/html/md_docs_2dev_2roadmap.html +349 -0
  279. stratax-0.1.0/docs/cpp/html/memory_8hpp.html +150 -0
  280. stratax-0.1.0/docs/cpp/html/memory_8hpp_source.html +135 -0
  281. stratax-0.1.0/docs/cpp/html/menu.js +569 -0
  282. stratax-0.1.0/docs/cpp/html/menudata.js +100 -0
  283. stratax-0.1.0/docs/cpp/html/namespace_exceptions.html +158 -0
  284. stratax-0.1.0/docs/cpp/html/namespace_exceptions.js +10 -0
  285. stratax-0.1.0/docs/cpp/html/namespacecore.html +145 -0
  286. stratax-0.1.0/docs/cpp/html/namespacecore.js +10 -0
  287. stratax-0.1.0/docs/cpp/html/namespacecore_1_1config.html +285 -0
  288. stratax-0.1.0/docs/cpp/html/namespacecreation.html +318 -0
  289. stratax-0.1.0/docs/cpp/html/namespacemembers.html +224 -0
  290. stratax-0.1.0/docs/cpp/html/namespacemembers_func.html +155 -0
  291. stratax-0.1.0/docs/cpp/html/namespacemembers_type.html +149 -0
  292. stratax-0.1.0/docs/cpp/html/namespacemembers_vars.html +136 -0
  293. stratax-0.1.0/docs/cpp/html/namespaces.html +148 -0
  294. stratax-0.1.0/docs/cpp/html/namespaces_dup.js +11 -0
  295. stratax-0.1.0/docs/cpp/html/namespacestratax.html +147 -0
  296. stratax-0.1.0/docs/cpp/html/namespacestratax.js +6 -0
  297. stratax-0.1.0/docs/cpp/html/namespacestratax_1_1container.html +276 -0
  298. stratax-0.1.0/docs/cpp/html/namespacestratax_1_1container.js +12 -0
  299. stratax-0.1.0/docs/cpp/html/namespacestratax_1_1container_1_1detail.html +204 -0
  300. stratax-0.1.0/docs/cpp/html/namespacestratax_1_1core.html +253 -0
  301. stratax-0.1.0/docs/cpp/html/namespacestratax_1_1core.js +55 -0
  302. stratax-0.1.0/docs/cpp/html/namespacestratax_1_1core_1_1concept__detail.html +181 -0
  303. stratax-0.1.0/docs/cpp/html/namespacestratax_1_1core_1_1concept__detail.js +8 -0
  304. stratax-0.1.0/docs/cpp/html/namespacestratax_1_1core_1_1config.html +285 -0
  305. stratax-0.1.0/docs/cpp/html/namespacestratax_1_1core_1_1dtype.html +434 -0
  306. stratax-0.1.0/docs/cpp/html/namespacestratax_1_1core_1_1validation.html +1027 -0
  307. stratax-0.1.0/docs/cpp/html/namespacestratax_1_1ops.html +145 -0
  308. stratax-0.1.0/docs/cpp/html/namespacestratax_1_1ops.js +7 -0
  309. stratax-0.1.0/docs/cpp/html/namespacestratax_1_1ops_1_1detail.html +234 -0
  310. stratax-0.1.0/docs/cpp/html/navtree.css +327 -0
  311. stratax-0.1.0/docs/cpp/html/navtree.js +1161 -0
  312. stratax-0.1.0/docs/cpp/html/navtreedata.js +370 -0
  313. stratax-0.1.0/docs/cpp/html/navtreeindex0.js +253 -0
  314. stratax-0.1.0/docs/cpp/html/navtreeindex1.js +253 -0
  315. stratax-0.1.0/docs/cpp/html/navtreeindex2.js +253 -0
  316. stratax-0.1.0/docs/cpp/html/navtreeindex3.js +253 -0
  317. stratax-0.1.0/docs/cpp/html/navtreeindex4.js +28 -0
  318. stratax-0.1.0/docs/cpp/html/norms_8hpp.html +150 -0
  319. stratax-0.1.0/docs/cpp/html/norms_8hpp_source.html +135 -0
  320. stratax-0.1.0/docs/cpp/html/ops_2_slice_8hpp.html +321 -0
  321. stratax-0.1.0/docs/cpp/html/ops_2_slice_8hpp.js +8 -0
  322. stratax-0.1.0/docs/cpp/html/ops_2_slice_8hpp_source.html +343 -0
  323. stratax-0.1.0/docs/cpp/html/ops_2_slice_8md.html +140 -0
  324. stratax-0.1.0/docs/cpp/html/pages.html +159 -0
  325. stratax-0.1.0/docs/cpp/html/random_2distributions_8hpp.html +150 -0
  326. stratax-0.1.0/docs/cpp/html/random_2distributions_8hpp_source.html +135 -0
  327. stratax-0.1.0/docs/cpp/html/regression_8hpp.html +150 -0
  328. stratax-0.1.0/docs/cpp/html/regression_8hpp_source.html +135 -0
  329. stratax-0.1.0/docs/cpp/html/roadmap_8md.html +140 -0
  330. stratax-0.1.0/docs/cpp/html/sampling_8hpp.html +150 -0
  331. stratax-0.1.0/docs/cpp/html/sampling_8hpp_source.html +135 -0
  332. stratax-0.1.0/docs/cpp/html/search/all_0.js +4 -0
  333. stratax-0.1.0/docs/cpp/html/search/all_1.js +4 -0
  334. stratax-0.1.0/docs/cpp/html/search/all_10.js +4 -0
  335. stratax-0.1.0/docs/cpp/html/search/all_11.js +7 -0
  336. stratax-0.1.0/docs/cpp/html/search/all_12.js +14 -0
  337. stratax-0.1.0/docs/cpp/html/search/all_13.js +12 -0
  338. stratax-0.1.0/docs/cpp/html/search/all_14.js +23 -0
  339. stratax-0.1.0/docs/cpp/html/search/all_15.js +20 -0
  340. stratax-0.1.0/docs/cpp/html/search/all_16.js +5 -0
  341. stratax-0.1.0/docs/cpp/html/search/all_17.js +29 -0
  342. stratax-0.1.0/docs/cpp/html/search/all_18.js +55 -0
  343. stratax-0.1.0/docs/cpp/html/search/all_19.js +25 -0
  344. stratax-0.1.0/docs/cpp/html/search/all_1a.js +16 -0
  345. stratax-0.1.0/docs/cpp/html/search/all_1b.js +14 -0
  346. stratax-0.1.0/docs/cpp/html/search/all_1c.js +4 -0
  347. stratax-0.1.0/docs/cpp/html/search/all_1d.js +5 -0
  348. stratax-0.1.0/docs/cpp/html/search/all_1e.js +9 -0
  349. stratax-0.1.0/docs/cpp/html/search/all_2.js +4 -0
  350. stratax-0.1.0/docs/cpp/html/search/all_3.js +4 -0
  351. stratax-0.1.0/docs/cpp/html/search/all_4.js +4 -0
  352. stratax-0.1.0/docs/cpp/html/search/all_5.js +4 -0
  353. stratax-0.1.0/docs/cpp/html/search/all_6.js +4 -0
  354. stratax-0.1.0/docs/cpp/html/search/all_7.js +29 -0
  355. stratax-0.1.0/docs/cpp/html/search/all_8.js +19 -0
  356. stratax-0.1.0/docs/cpp/html/search/all_9.js +49 -0
  357. stratax-0.1.0/docs/cpp/html/search/all_a.js +15 -0
  358. stratax-0.1.0/docs/cpp/html/search/all_b.js +16 -0
  359. stratax-0.1.0/docs/cpp/html/search/all_c.js +17 -0
  360. stratax-0.1.0/docs/cpp/html/search/all_d.js +6 -0
  361. stratax-0.1.0/docs/cpp/html/search/all_e.js +4 -0
  362. stratax-0.1.0/docs/cpp/html/search/all_f.js +29 -0
  363. stratax-0.1.0/docs/cpp/html/search/classes_0.js +4 -0
  364. stratax-0.1.0/docs/cpp/html/search/classes_1.js +6 -0
  365. stratax-0.1.0/docs/cpp/html/search/classes_2.js +4 -0
  366. stratax-0.1.0/docs/cpp/html/search/classes_3.js +8 -0
  367. stratax-0.1.0/docs/cpp/html/search/classes_4.js +5 -0
  368. stratax-0.1.0/docs/cpp/html/search/classes_5.js +8 -0
  369. stratax-0.1.0/docs/cpp/html/search/classes_6.js +6 -0
  370. stratax-0.1.0/docs/cpp/html/search/classes_7.js +4 -0
  371. stratax-0.1.0/docs/cpp/html/search/classes_8.js +5 -0
  372. stratax-0.1.0/docs/cpp/html/search/classes_9.js +4 -0
  373. stratax-0.1.0/docs/cpp/html/search/concepts_0.js +5 -0
  374. stratax-0.1.0/docs/cpp/html/search/concepts_1.js +4 -0
  375. stratax-0.1.0/docs/cpp/html/search/concepts_2.js +5 -0
  376. stratax-0.1.0/docs/cpp/html/search/concepts_3.js +5 -0
  377. stratax-0.1.0/docs/cpp/html/search/concepts_4.js +5 -0
  378. stratax-0.1.0/docs/cpp/html/search/concepts_5.js +5 -0
  379. stratax-0.1.0/docs/cpp/html/search/concepts_6.js +4 -0
  380. stratax-0.1.0/docs/cpp/html/search/concepts_7.js +7 -0
  381. stratax-0.1.0/docs/cpp/html/search/concepts_8.js +4 -0
  382. stratax-0.1.0/docs/cpp/html/search/files_0.js +6 -0
  383. stratax-0.1.0/docs/cpp/html/search/files_1.js +7 -0
  384. stratax-0.1.0/docs/cpp/html/search/files_10.js +4 -0
  385. stratax-0.1.0/docs/cpp/html/search/files_11.js +7 -0
  386. stratax-0.1.0/docs/cpp/html/search/files_2.js +15 -0
  387. stratax-0.1.0/docs/cpp/html/search/files_3.js +9 -0
  388. stratax-0.1.0/docs/cpp/html/search/files_4.js +6 -0
  389. stratax-0.1.0/docs/cpp/html/search/files_5.js +5 -0
  390. stratax-0.1.0/docs/cpp/html/search/files_6.js +4 -0
  391. stratax-0.1.0/docs/cpp/html/search/files_7.js +7 -0
  392. stratax-0.1.0/docs/cpp/html/search/files_8.js +4 -0
  393. stratax-0.1.0/docs/cpp/html/search/files_9.js +4 -0
  394. stratax-0.1.0/docs/cpp/html/search/files_a.js +6 -0
  395. stratax-0.1.0/docs/cpp/html/search/files_b.js +4 -0
  396. stratax-0.1.0/docs/cpp/html/search/files_c.js +5 -0
  397. stratax-0.1.0/docs/cpp/html/search/files_d.js +8 -0
  398. stratax-0.1.0/docs/cpp/html/search/files_e.js +13 -0
  399. stratax-0.1.0/docs/cpp/html/search/files_f.js +10 -0
  400. stratax-0.1.0/docs/cpp/html/search/functions_0.js +5 -0
  401. stratax-0.1.0/docs/cpp/html/search/functions_1.js +6 -0
  402. stratax-0.1.0/docs/cpp/html/search/functions_10.js +9 -0
  403. stratax-0.1.0/docs/cpp/html/search/functions_2.js +10 -0
  404. stratax-0.1.0/docs/cpp/html/search/functions_3.js +4 -0
  405. stratax-0.1.0/docs/cpp/html/search/functions_4.js +6 -0
  406. stratax-0.1.0/docs/cpp/html/search/functions_5.js +7 -0
  407. stratax-0.1.0/docs/cpp/html/search/functions_6.js +4 -0
  408. stratax-0.1.0/docs/cpp/html/search/functions_7.js +4 -0
  409. stratax-0.1.0/docs/cpp/html/search/functions_8.js +6 -0
  410. stratax-0.1.0/docs/cpp/html/search/functions_9.js +19 -0
  411. stratax-0.1.0/docs/cpp/html/search/functions_a.js +5 -0
  412. stratax-0.1.0/docs/cpp/html/search/functions_b.js +18 -0
  413. stratax-0.1.0/docs/cpp/html/search/functions_c.js +16 -0
  414. stratax-0.1.0/docs/cpp/html/search/functions_d.js +7 -0
  415. stratax-0.1.0/docs/cpp/html/search/functions_e.js +4 -0
  416. stratax-0.1.0/docs/cpp/html/search/functions_f.js +4 -0
  417. stratax-0.1.0/docs/cpp/html/search/namespaces_0.js +4 -0
  418. stratax-0.1.0/docs/cpp/html/search/namespaces_1.js +4 -0
  419. stratax-0.1.0/docs/cpp/html/search/namespaces_2.js +13 -0
  420. stratax-0.1.0/docs/cpp/html/search/pages_0.js +4 -0
  421. stratax-0.1.0/docs/cpp/html/search/pages_1.js +4 -0
  422. stratax-0.1.0/docs/cpp/html/search/pages_10.js +10 -0
  423. stratax-0.1.0/docs/cpp/html/search/pages_11.js +6 -0
  424. stratax-0.1.0/docs/cpp/html/search/pages_12.js +7 -0
  425. stratax-0.1.0/docs/cpp/html/search/pages_13.js +16 -0
  426. stratax-0.1.0/docs/cpp/html/search/pages_14.js +5 -0
  427. stratax-0.1.0/docs/cpp/html/search/pages_15.js +7 -0
  428. stratax-0.1.0/docs/cpp/html/search/pages_16.js +19 -0
  429. stratax-0.1.0/docs/cpp/html/search/pages_17.js +13 -0
  430. stratax-0.1.0/docs/cpp/html/search/pages_18.js +5 -0
  431. stratax-0.1.0/docs/cpp/html/search/pages_19.js +8 -0
  432. stratax-0.1.0/docs/cpp/html/search/pages_1a.js +4 -0
  433. stratax-0.1.0/docs/cpp/html/search/pages_2.js +4 -0
  434. stratax-0.1.0/docs/cpp/html/search/pages_3.js +4 -0
  435. stratax-0.1.0/docs/cpp/html/search/pages_4.js +4 -0
  436. stratax-0.1.0/docs/cpp/html/search/pages_5.js +4 -0
  437. stratax-0.1.0/docs/cpp/html/search/pages_6.js +4 -0
  438. stratax-0.1.0/docs/cpp/html/search/pages_7.js +22 -0
  439. stratax-0.1.0/docs/cpp/html/search/pages_8.js +8 -0
  440. stratax-0.1.0/docs/cpp/html/search/pages_9.js +24 -0
  441. stratax-0.1.0/docs/cpp/html/search/pages_a.js +6 -0
  442. stratax-0.1.0/docs/cpp/html/search/pages_b.js +10 -0
  443. stratax-0.1.0/docs/cpp/html/search/pages_c.js +8 -0
  444. stratax-0.1.0/docs/cpp/html/search/pages_d.js +4 -0
  445. stratax-0.1.0/docs/cpp/html/search/pages_e.js +12 -0
  446. stratax-0.1.0/docs/cpp/html/search/pages_f.js +6 -0
  447. stratax-0.1.0/docs/cpp/html/search/search.css +377 -0
  448. stratax-0.1.0/docs/cpp/html/search/search.js +708 -0
  449. stratax-0.1.0/docs/cpp/html/search/searchdata.js +39 -0
  450. stratax-0.1.0/docs/cpp/html/search/typedefs_0.js +4 -0
  451. stratax-0.1.0/docs/cpp/html/search/typedefs_1.js +7 -0
  452. stratax-0.1.0/docs/cpp/html/search/typedefs_2.js +6 -0
  453. stratax-0.1.0/docs/cpp/html/search/typedefs_3.js +8 -0
  454. stratax-0.1.0/docs/cpp/html/search/typedefs_4.js +4 -0
  455. stratax-0.1.0/docs/cpp/html/search/typedefs_5.js +4 -0
  456. stratax-0.1.0/docs/cpp/html/search/typedefs_6.js +7 -0
  457. stratax-0.1.0/docs/cpp/html/search/typedefs_7.js +4 -0
  458. stratax-0.1.0/docs/cpp/html/search/variables_0.js +4 -0
  459. stratax-0.1.0/docs/cpp/html/search/variables_1.js +4 -0
  460. stratax-0.1.0/docs/cpp/html/search/variables_2.js +4 -0
  461. stratax-0.1.0/docs/cpp/html/search/variables_3.js +7 -0
  462. stratax-0.1.0/docs/cpp/html/simd_8hpp.html +150 -0
  463. stratax-0.1.0/docs/cpp/html/simd_8hpp_source.html +135 -0
  464. stratax-0.1.0/docs/cpp/html/solve_8hpp.html +150 -0
  465. stratax-0.1.0/docs/cpp/html/solve_8hpp_source.html +135 -0
  466. stratax-0.1.0/docs/cpp/html/statistics_2distributions_8hpp.html +150 -0
  467. stratax-0.1.0/docs/cpp/html/statistics_2distributions_8hpp_source.html +135 -0
  468. stratax-0.1.0/docs/cpp/html/stratax_8hpp.html +191 -0
  469. stratax-0.1.0/docs/cpp/html/stratax_8hpp_source.html +241 -0
  470. stratax-0.1.0/docs/cpp/html/structis__array.html +165 -0
  471. stratax-0.1.0/docs/cpp/html/structis__array.png +0 -0
  472. stratax-0.1.0/docs/cpp/html/structis__array_3_01stratax_1_1container_1_1_matrix_3_01_t_01_4_01_4.html +156 -0
  473. stratax-0.1.0/docs/cpp/html/structis__array_3_01stratax_1_1container_1_1_matrix_3_01_t_01_4_01_4.png +0 -0
  474. stratax-0.1.0/docs/cpp/html/structis__array_3_01stratax_1_1container_1_1_tensor_3_01_t_01_4_01_4.html +156 -0
  475. stratax-0.1.0/docs/cpp/html/structis__array_3_01stratax_1_1container_1_1_tensor_3_01_t_01_4_01_4.png +0 -0
  476. stratax-0.1.0/docs/cpp/html/structis__array_3_01stratax_1_1container_1_1_vector_3_01_t_01_4_01_4.html +156 -0
  477. stratax-0.1.0/docs/cpp/html/structis__array_3_01stratax_1_1container_1_1_vector_3_01_t_01_4_01_4.png +0 -0
  478. stratax-0.1.0/docs/cpp/html/structstratax_1_1core_1_1_buffer_1_1uninitialized__t.html +149 -0
  479. stratax-0.1.0/docs/cpp/html/structstratax_1_1core_1_1_shape_1_1allow__zero__t.html +148 -0
  480. stratax-0.1.0/docs/cpp/html/tabs.css +482 -0
  481. stratax-0.1.0/docs/cpp/html/threading_8hpp.html +150 -0
  482. stratax-0.1.0/docs/cpp/html/threading_8hpp_source.html +135 -0
  483. stratax-0.1.0/docs/cpp/html/traits_8hpp.html +150 -0
  484. stratax-0.1.0/docs/cpp/html/traits_8hpp_source.html +135 -0
  485. stratax-0.1.0/docs/cpp/html/transforms_8hpp.html +150 -0
  486. stratax-0.1.0/docs/cpp/html/transforms_8hpp_source.html +135 -0
  487. stratax-0.1.0/docs/cpp/html/utilities_8hpp.html +150 -0
  488. stratax-0.1.0/docs/cpp/html/utilities_8hpp_source.html +135 -0
  489. stratax-0.1.0/docs/dev/architecture.md +53 -0
  490. stratax-0.1.0/docs/dev/containers/Conversions.md +56 -0
  491. stratax-0.1.0/docs/dev/containers/Creation.md +52 -0
  492. stratax-0.1.0/docs/dev/containers/Matrix.md +77 -0
  493. stratax-0.1.0/docs/dev/containers/Tensor.md +75 -0
  494. stratax-0.1.0/docs/dev/containers/Vector.md +73 -0
  495. stratax-0.1.0/docs/dev/contributing.md +51 -0
  496. stratax-0.1.0/docs/dev/core/Buffer.md +70 -0
  497. stratax-0.1.0/docs/dev/core/Concepts.md +55 -0
  498. stratax-0.1.0/docs/dev/core/Exceptions.md +53 -0
  499. stratax-0.1.0/docs/dev/core/Shape.md +63 -0
  500. stratax-0.1.0/docs/dev/core/Slice.md +50 -0
  501. stratax-0.1.0/docs/dev/core/Strides.md +70 -0
  502. stratax-0.1.0/docs/dev/core/Types.md +59 -0
  503. stratax-0.1.0/docs/dev/core/Validation.md +66 -0
  504. stratax-0.1.0/docs/dev/io/Print.md +54 -0
  505. stratax-0.1.0/docs/dev/ops/Arithmetic.md +82 -0
  506. stratax-0.1.0/docs/dev/ops/Comparison.md +49 -0
  507. stratax-0.1.0/docs/dev/ops/Indexing.md +49 -0
  508. stratax-0.1.0/docs/dev/ops/Reshape.md +51 -0
  509. stratax-0.1.0/docs/dev/ops/Slice.md +59 -0
  510. stratax-0.1.0/docs/dev/roadmap.md +110 -0
  511. stratax-0.1.0/examples/cpp/matrix.cpp +28 -0
  512. stratax-0.1.0/examples/cpp/shape.cpp +23 -0
  513. stratax-0.1.0/examples/cpp/tensor.cpp +26 -0
  514. stratax-0.1.0/examples/cpp/vector.cpp +24 -0
  515. stratax-0.1.0/examples/python/matrix.py +28 -0
  516. stratax-0.1.0/examples/python/shape.py +19 -0
  517. stratax-0.1.0/examples/python/tensor.py +25 -0
  518. stratax-0.1.0/examples/python/vector.py +21 -0
  519. stratax-0.1.0/include/stratax/containers/Conversions.hpp +163 -0
  520. stratax-0.1.0/include/stratax/containers/Creation.hpp +80 -0
  521. stratax-0.1.0/include/stratax/containers/Matrix.hpp +541 -0
  522. stratax-0.1.0/include/stratax/containers/Tensor.hpp +563 -0
  523. stratax-0.1.0/include/stratax/containers/Vector.hpp +472 -0
  524. stratax-0.1.0/include/stratax/core/Buffer.hpp +600 -0
  525. stratax-0.1.0/include/stratax/core/Concepts.hpp +219 -0
  526. stratax-0.1.0/include/stratax/core/Config.hpp +26 -0
  527. stratax-0.1.0/include/stratax/core/Exceptions.hpp +55 -0
  528. stratax-0.1.0/include/stratax/core/Shape.hpp +306 -0
  529. stratax-0.1.0/include/stratax/core/Slice.hpp +106 -0
  530. stratax-0.1.0/include/stratax/core/Strides.hpp +356 -0
  531. stratax-0.1.0/include/stratax/core/Types.hpp +32 -0
  532. stratax-0.1.0/include/stratax/core/Validation.hpp +340 -0
  533. stratax-0.1.0/include/stratax/io/Print.hpp +167 -0
  534. stratax-0.1.0/include/stratax/ops/Arithmetic.hpp +475 -0
  535. stratax-0.1.0/include/stratax/ops/Comparison.hpp +51 -0
  536. stratax-0.1.0/include/stratax/ops/Indexing.hpp +78 -0
  537. stratax-0.1.0/include/stratax/ops/Reshape.hpp +65 -0
  538. stratax-0.1.0/include/stratax/ops/Slice.hpp +220 -0
  539. stratax-0.1.0/include/stratax.h +25 -0
  540. stratax-0.1.0/pyproject.toml +60 -0
  541. stratax-0.1.0/python/stratax/__init__.py +28 -0
  542. stratax-0.1.0/python/stratax/_core.cp313-win_amd64.pyd +0 -0
  543. stratax-0.1.0/python/stratax/_core.pyi +531 -0
  544. stratax-0.1.0/python/stratax/exceptions.py +32 -0
  545. stratax-0.1.0/python/stratax/exceptions.pyi +13 -0
  546. stratax-0.1.0/python/stratax/matrix.py +223 -0
  547. stratax-0.1.0/python/stratax/matrix.pyi +165 -0
  548. stratax-0.1.0/python/stratax/py.typed +0 -0
  549. stratax-0.1.0/python/stratax/shape.py +82 -0
  550. stratax-0.1.0/python/stratax/shape.pyi +65 -0
  551. stratax-0.1.0/python/stratax/tensor.py +214 -0
  552. stratax-0.1.0/python/stratax/tensor.pyi +155 -0
  553. stratax-0.1.0/python/stratax/vector.py +211 -0
  554. stratax-0.1.0/python/stratax/vector.pyi +155 -0
  555. stratax-0.1.0/tests/cpp/containers/Conversions.cpp +232 -0
  556. stratax-0.1.0/tests/cpp/containers/Creation.cpp +150 -0
  557. stratax-0.1.0/tests/cpp/containers/Matrix.cpp +417 -0
  558. stratax-0.1.0/tests/cpp/containers/Tensor.cpp +486 -0
  559. stratax-0.1.0/tests/cpp/containers/Vector.cpp +323 -0
  560. stratax-0.1.0/tests/cpp/core/Buffer.cpp +285 -0
  561. stratax-0.1.0/tests/cpp/core/Concepts.cpp +182 -0
  562. stratax-0.1.0/tests/cpp/core/Shape.cpp +215 -0
  563. stratax-0.1.0/tests/cpp/core/Slice.cpp +62 -0
  564. stratax-0.1.0/tests/cpp/core/Strides.cpp +294 -0
  565. stratax-0.1.0/tests/cpp/core/Types.cpp +30 -0
  566. stratax-0.1.0/tests/cpp/core/Validation.cpp +254 -0
  567. stratax-0.1.0/tests/cpp/io/Print.cpp +178 -0
  568. stratax-0.1.0/tests/cpp/ops/Arithmetic.cpp +471 -0
  569. stratax-0.1.0/tests/cpp/ops/Comparison.cpp +189 -0
  570. stratax-0.1.0/tests/cpp/ops/Indexing.cpp +144 -0
  571. stratax-0.1.0/tests/cpp/ops/Reshape.cpp +211 -0
  572. stratax-0.1.0/tests/cpp/ops/Slice.cpp +272 -0
  573. stratax-0.1.0/tests/python/matrix_tests.py +221 -0
  574. stratax-0.1.0/tests/python/package_tests.py +41 -0
  575. stratax-0.1.0/tests/python/shape_tests.py +127 -0
  576. stratax-0.1.0/tests/python/tensor_tests.py +223 -0
  577. stratax-0.1.0/tests/python/vector_tests.py +213 -0
@@ -0,0 +1,15 @@
1
+ .vscode/
2
+ build/
3
+ dist/
4
+ main.cpp
5
+ util.h
6
+ *.exe
7
+ .venv
8
+ test.py
9
+ *__pycache__/
10
+ *.pytest_cache
11
+
12
+
13
+
14
+
15
+
@@ -0,0 +1,16 @@
1
+ # Changelog
2
+
3
+ ## 0.1.0
4
+
5
+ ### Added
6
+
7
+ - Shape
8
+ - Vector
9
+ - Matrix
10
+ - Tensor
11
+ - Element-wise arithmetic
12
+ - Element-wise comparisons
13
+ - Python bindings
14
+ - Type hints
15
+ - Examples
16
+ - Doxygen documentation
@@ -0,0 +1,93 @@
1
+ cmake_minimum_required(VERSION 3.20)
2
+
3
+ project(Stratax
4
+ VERSION 0.1.0
5
+ LANGUAGES CXX
6
+ )
7
+
8
+ set(CMAKE_CXX_STANDARD 20)
9
+ set(CMAKE_CXX_STANDARD_REQUIRED ON)
10
+ set(CMAKE_CXX_EXTENSIONS OFF)
11
+
12
+ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
13
+
14
+ include(CTest)
15
+
16
+ find_package(Doxygen QUIET)
17
+ if(DOXYGEN_FOUND)
18
+ add_custom_target(docs
19
+ COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_SOURCE_DIR}/Doxyfile
20
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
21
+ COMMENT "Generating Stratax API documentation"
22
+ VERBATIM
23
+ )
24
+ endif()
25
+
26
+ find_package(Python REQUIRED COMPONENTS Interpreter Development)
27
+ find_package(pybind11 CONFIG REQUIRED)
28
+
29
+ pybind11_add_module(_core
30
+ bindings/module.cpp
31
+ bindings/shape.cpp
32
+ bindings/vector.cpp
33
+ bindings/matrix.cpp
34
+ bindings/tensor.cpp
35
+ )
36
+
37
+ target_include_directories(_core PRIVATE include)
38
+
39
+ add_custom_command(TARGET _core POST_BUILD
40
+ COMMAND ${CMAKE_COMMAND} -E copy_if_different
41
+ $<TARGET_FILE:_core>
42
+ ${CMAKE_SOURCE_DIR}/python/stratax/$<TARGET_FILE_NAME:_core>
43
+ )
44
+
45
+ install(TARGETS _core
46
+ LIBRARY DESTINATION stratax
47
+ RUNTIME DESTINATION stratax
48
+ )
49
+
50
+ # --------------------------------------------------------------------------
51
+ # Tests
52
+ # --------------------------------------------------------------------------
53
+
54
+ option(STRATAX_BUILD_TESTS "Build Stratax tests" ON)
55
+
56
+ if(BUILD_TESTING AND STRATAX_BUILD_TESTS)
57
+
58
+ find_package(GTest CONFIG QUIET)
59
+
60
+ if(NOT GTest_FOUND)
61
+ include(FetchContent)
62
+
63
+ set(INSTALL_GTEST OFF CACHE BOOL "" FORCE)
64
+ set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
65
+
66
+ FetchContent_Declare(
67
+ googletest
68
+ URL https://github.com/google/googletest/archive/refs/tags/v1.15.2.zip
69
+ DOWNLOAD_EXTRACT_TIMESTAMP TRUE
70
+ )
71
+
72
+ FetchContent_MakeAvailable(googletest)
73
+ endif()
74
+
75
+ file(GLOB_RECURSE STRATAX_CPP_TEST_SOURCES CONFIGURE_DEPENDS
76
+ tests/cpp/*.cpp
77
+ )
78
+
79
+ add_executable(stratax_cpp_tests
80
+ ${STRATAX_CPP_TEST_SOURCES}
81
+ )
82
+
83
+ target_include_directories(stratax_cpp_tests PRIVATE include)
84
+
85
+ target_link_libraries(stratax_cpp_tests
86
+ PRIVATE GTest::gtest_main
87
+ )
88
+
89
+ include(GoogleTest)
90
+
91
+ gtest_discover_tests(stratax_cpp_tests)
92
+
93
+ endif()
stratax-0.1.0/Doxyfile ADDED
@@ -0,0 +1,41 @@
1
+ PROJECT_NAME = "Stratax"
2
+ PROJECT_BRIEF = "Scientific computing containers and operations"
3
+ OUTPUT_DIRECTORY = docs/cpp
4
+
5
+ INPUT = include README.md docs/dev
6
+ RECURSIVE = YES
7
+ FILE_PATTERNS = *.hpp *.h *.md
8
+
9
+ GENERATE_HTML = YES
10
+ HTML_OUTPUT = html
11
+ GENERATE_LATEX = NO
12
+
13
+ EXTRACT_ALL = YES
14
+ EXTRACT_PRIVATE = NO
15
+ EXTRACT_STATIC = YES
16
+ HIDE_UNDOC_MEMBERS = NO
17
+ HIDE_UNDOC_CLASSES = NO
18
+
19
+ MARKDOWN_SUPPORT = YES
20
+ AUTOLINK_SUPPORT = YES
21
+ JAVADOC_AUTOBRIEF = YES
22
+ MULTILINE_CPP_IS_BRIEF = NO
23
+
24
+ SOURCE_BROWSER = YES
25
+ INLINE_SOURCES = NO
26
+ REFERENCED_BY_RELATION = YES
27
+ REFERENCES_RELATION = YES
28
+
29
+ QUIET = NO
30
+ WARNINGS = YES
31
+ WARN_IF_UNDOCUMENTED = YES
32
+ WARN_IF_DOC_ERROR = YES
33
+
34
+ ALIASES += complexity="\par Complexity"
35
+
36
+ PREDEFINED += "requires(...)="
37
+ PREDEFINED += "requires="
38
+ PREDEFINED += "Numeric=typename"
39
+ PREDEFINED += "Array=typename"
40
+
41
+ EXTENSION_MAPPING = hpp=C++
stratax-0.1.0/LICENSE ADDED
@@ -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.
stratax-0.1.0/PKG-INFO ADDED
@@ -0,0 +1,229 @@
1
+ Metadata-Version: 2.1
2
+ Name: stratax
3
+ Version: 0.1.0
4
+ Summary: Modern scientific array library for C++20 with Python bindings.
5
+ Keywords: scientific,array,tensor,matrix,vector,cpp,pybind11,numerical
6
+ Author: Noah Ryan
7
+ License: MIT License
8
+
9
+ Copyright (c) 2026 Noah Ryan
10
+
11
+ Permission is hereby granted, free of charge, to any person obtaining a copy
12
+ of this software and associated documentation files (the "Software"), to deal
13
+ in the Software without restriction, including without limitation the rights
14
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
15
+ copies of the Software, and to permit persons to whom the Software is
16
+ furnished to do so, subject to the following conditions:
17
+
18
+ The above copyright notice and this permission notice shall be included in all
19
+ copies or substantial portions of the Software.
20
+
21
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
24
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
26
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
27
+ SOFTWARE.
28
+
29
+ Classifier: Development Status :: 3 - Alpha
30
+ Classifier: Intended Audience :: Developers
31
+ Classifier: Intended Audience :: Science/Research
32
+ Classifier: License :: OSI Approved :: MIT License
33
+ Classifier: Programming Language :: Python :: 3
34
+ Classifier: Programming Language :: Python :: 3.10
35
+ Classifier: Programming Language :: Python :: 3.11
36
+ Classifier: Programming Language :: Python :: 3.12
37
+ Classifier: Programming Language :: C++
38
+ Classifier: Topic :: Scientific/Engineering
39
+ Classifier: Topic :: Software Development :: Libraries
40
+ Project-URL: Homepage, https://github.com/njryan-boou/stratax
41
+ Project-URL: Repository, https://github.com/njryan-boou/stratax
42
+ Project-URL: Issues, https://github.com/njryan-boou/stratax/issues
43
+ Requires-Python: >=3.10
44
+ Description-Content-Type: text/markdown
45
+
46
+ # Stratax
47
+
48
+ Stratax is a modern scientific computing library built around modern C++20
49
+ containers, shape metadata, and element-wise array operations. The core library
50
+ is header-first, with Python bindings powered by pybind11.
51
+
52
+ The project is still young: vectors, matrices, tensors, shape/stride metadata,
53
+ indexing, slicing, reshaping, conversions, creation helpers, printing,
54
+ comparison, and arithmetic are active. Linear algebra, calculus, random, and
55
+ statistics modules are currently reserved API areas.
56
+
57
+ ## Current Features
58
+
59
+ - C++20 `Vector`, `Matrix`, and `Tensor` containers
60
+ - Contiguous `Buffer` storage with shape and stride metadata
61
+ - Bounds-checked `at(...)` and multidimensional `operator(...)` access
62
+ - Element-wise arithmetic and comparison operators
63
+ - Reshape, flatten, slicing, and container conversion helpers
64
+ - Tensor creation helpers such as `zeros`, `ones`, `full`, and `identity`
65
+ - Stream printing for vectors, matrices, tensors, shapes, and strides
66
+ - Python bindings for `Shape`, `Vector`, `Matrix`, and `Tensor`
67
+ - Doxygen API documentation
68
+
69
+ ## Requirements
70
+
71
+ - C++20 compiler
72
+ - CMake 3.20 or newer
73
+ - Python 3.10 or newer for bindings
74
+ - pybind11 2.12 or newer
75
+ - scikit-build-core 0.10 or newer
76
+ - pytest 8 or newer for Python tests
77
+ - Doxygen 1.17 or newer for API docs
78
+
79
+ ## Quick C++ Example
80
+
81
+ ```cpp
82
+ #include <stratax.h>
83
+ #include <iostream>
84
+
85
+ int main()
86
+ {
87
+ stratax::container::Vector<double> a{1.0, 2.0, 3.0};
88
+ stratax::container::Vector<double> b{4.0, 5.0, 6.0};
89
+
90
+ auto c = a + b;
91
+
92
+ std::cout << c << '\n'; // [5, 7, 9]
93
+ }
94
+ ```
95
+
96
+ ## Quick Python Example
97
+
98
+ ```python
99
+ from stratax import Matrix, Shape, Tensor, Vector
100
+
101
+ shape = Shape([2, 2])
102
+ vector = Vector([1.0, 2.0, 3.0])
103
+ matrix = Matrix([[1.0, 2.0], [3.0, 4.0]])
104
+ tensor = Tensor([2, 2], 1.0)
105
+
106
+ tensor[1, 1] = 9.0
107
+
108
+ print(shape.elements)
109
+ print(vector.tolist())
110
+ print(matrix.tolist())
111
+ print(tensor.tolist())
112
+ ```
113
+
114
+ Python bindings currently expose `double`-based `Shape`, `Vector`, `Matrix`,
115
+ and `Tensor` wrappers. The C++ API remains the primary interface while the
116
+ binding surface grows.
117
+
118
+ ## Build From Source
119
+
120
+ Configure and build with CMake:
121
+
122
+ ```powershell
123
+ cmake -S . -B build
124
+ cmake --build build
125
+ ```
126
+
127
+ For editable Python installation, use pip from an environment with the build
128
+ dependencies available:
129
+
130
+ ```powershell
131
+ python -m pip install -e .
132
+ ```
133
+
134
+ ## Run Tests
135
+
136
+ The C++ tests live under `tests/cpp/` and are registered with CTest through
137
+ GoogleTest:
138
+
139
+ ```powershell
140
+ cmake -S . -B build
141
+ cmake --build build
142
+ ctest --test-dir build --output-on-failure
143
+ ```
144
+
145
+ The Python tests live under `tests/python/` and use pytest:
146
+
147
+ ```powershell
148
+ python -m pytest tests/python
149
+ ```
150
+
151
+ ## Generate Documentation
152
+
153
+ Generate API documentation with Doxygen:
154
+
155
+ ```powershell
156
+ doxygen Doxyfile
157
+ ```
158
+
159
+ The generated HTML entry point is:
160
+
161
+ ```text
162
+ docs/cpp/html/index.html
163
+ ```
164
+
165
+ If you configure through CMake and Doxygen is available, you can also run:
166
+
167
+ ```powershell
168
+ cmake --build build --target docs
169
+ ```
170
+
171
+ ## Repository Layout
172
+
173
+ ```text
174
+ include/stratax/ Public C++ headers
175
+ bindings/ pybind11 binding sources
176
+ python/stratax/ Python package
177
+ tests/cpp/ C++ tests
178
+ tests/python/ Python tests
179
+ examples/cpp/ C++ examples
180
+ examples/python/ Python examples
181
+ docs/cpp/ C++ API documentation
182
+ docs/python/ Python documentation
183
+ ```
184
+
185
+ ## Installation
186
+
187
+ ### Python
188
+
189
+ ```powershell
190
+ pip install stratax
191
+ ```
192
+
193
+ ### C++
194
+
195
+ Stratax is header-first for C++. Include the repository `include/` directory in
196
+ your build and include the umbrella header:
197
+
198
+ ```cpp
199
+ #include <stratax.h>
200
+ ```
201
+
202
+ ## License
203
+
204
+ Stratax is licensed under the MIT License.
205
+
206
+ ## Contributing
207
+
208
+ Contributions, bug reports, and feature requests are welcome through GitHub Issues and Pull Requests.
209
+
210
+ ## Project Status
211
+
212
+ Implemented:
213
+
214
+ - Core storage and metadata: `Buffer`, `Shape`, `Strides`, `Slice`
215
+ - Containers: `Vector`, `Matrix`, `Tensor`
216
+ - Operations: arithmetic, comparison, indexing, reshape, slicing
217
+ - Container helpers: creation and conversions
218
+ - I/O: stream printing
219
+ - Python bindings: `Shape`, `Vector`, `Matrix`, `Tensor`
220
+
221
+ ## Roadmap
222
+
223
+ - Broadcasting
224
+ - Logical operations
225
+ - Linear algebra algorithms
226
+ - Calculus helpers
227
+ - Random sampling and distributions
228
+ - Statistics routines
229
+ - CSV and binary I/O
@@ -0,0 +1,184 @@
1
+ # Stratax
2
+
3
+ Stratax is a modern scientific computing library built around modern C++20
4
+ containers, shape metadata, and element-wise array operations. The core library
5
+ is header-first, with Python bindings powered by pybind11.
6
+
7
+ The project is still young: vectors, matrices, tensors, shape/stride metadata,
8
+ indexing, slicing, reshaping, conversions, creation helpers, printing,
9
+ comparison, and arithmetic are active. Linear algebra, calculus, random, and
10
+ statistics modules are currently reserved API areas.
11
+
12
+ ## Current Features
13
+
14
+ - C++20 `Vector`, `Matrix`, and `Tensor` containers
15
+ - Contiguous `Buffer` storage with shape and stride metadata
16
+ - Bounds-checked `at(...)` and multidimensional `operator(...)` access
17
+ - Element-wise arithmetic and comparison operators
18
+ - Reshape, flatten, slicing, and container conversion helpers
19
+ - Tensor creation helpers such as `zeros`, `ones`, `full`, and `identity`
20
+ - Stream printing for vectors, matrices, tensors, shapes, and strides
21
+ - Python bindings for `Shape`, `Vector`, `Matrix`, and `Tensor`
22
+ - Doxygen API documentation
23
+
24
+ ## Requirements
25
+
26
+ - C++20 compiler
27
+ - CMake 3.20 or newer
28
+ - Python 3.10 or newer for bindings
29
+ - pybind11 2.12 or newer
30
+ - scikit-build-core 0.10 or newer
31
+ - pytest 8 or newer for Python tests
32
+ - Doxygen 1.17 or newer for API docs
33
+
34
+ ## Quick C++ Example
35
+
36
+ ```cpp
37
+ #include <stratax.h>
38
+ #include <iostream>
39
+
40
+ int main()
41
+ {
42
+ stratax::container::Vector<double> a{1.0, 2.0, 3.0};
43
+ stratax::container::Vector<double> b{4.0, 5.0, 6.0};
44
+
45
+ auto c = a + b;
46
+
47
+ std::cout << c << '\n'; // [5, 7, 9]
48
+ }
49
+ ```
50
+
51
+ ## Quick Python Example
52
+
53
+ ```python
54
+ from stratax import Matrix, Shape, Tensor, Vector
55
+
56
+ shape = Shape([2, 2])
57
+ vector = Vector([1.0, 2.0, 3.0])
58
+ matrix = Matrix([[1.0, 2.0], [3.0, 4.0]])
59
+ tensor = Tensor([2, 2], 1.0)
60
+
61
+ tensor[1, 1] = 9.0
62
+
63
+ print(shape.elements)
64
+ print(vector.tolist())
65
+ print(matrix.tolist())
66
+ print(tensor.tolist())
67
+ ```
68
+
69
+ Python bindings currently expose `double`-based `Shape`, `Vector`, `Matrix`,
70
+ and `Tensor` wrappers. The C++ API remains the primary interface while the
71
+ binding surface grows.
72
+
73
+ ## Build From Source
74
+
75
+ Configure and build with CMake:
76
+
77
+ ```powershell
78
+ cmake -S . -B build
79
+ cmake --build build
80
+ ```
81
+
82
+ For editable Python installation, use pip from an environment with the build
83
+ dependencies available:
84
+
85
+ ```powershell
86
+ python -m pip install -e .
87
+ ```
88
+
89
+ ## Run Tests
90
+
91
+ The C++ tests live under `tests/cpp/` and are registered with CTest through
92
+ GoogleTest:
93
+
94
+ ```powershell
95
+ cmake -S . -B build
96
+ cmake --build build
97
+ ctest --test-dir build --output-on-failure
98
+ ```
99
+
100
+ The Python tests live under `tests/python/` and use pytest:
101
+
102
+ ```powershell
103
+ python -m pytest tests/python
104
+ ```
105
+
106
+ ## Generate Documentation
107
+
108
+ Generate API documentation with Doxygen:
109
+
110
+ ```powershell
111
+ doxygen Doxyfile
112
+ ```
113
+
114
+ The generated HTML entry point is:
115
+
116
+ ```text
117
+ docs/cpp/html/index.html
118
+ ```
119
+
120
+ If you configure through CMake and Doxygen is available, you can also run:
121
+
122
+ ```powershell
123
+ cmake --build build --target docs
124
+ ```
125
+
126
+ ## Repository Layout
127
+
128
+ ```text
129
+ include/stratax/ Public C++ headers
130
+ bindings/ pybind11 binding sources
131
+ python/stratax/ Python package
132
+ tests/cpp/ C++ tests
133
+ tests/python/ Python tests
134
+ examples/cpp/ C++ examples
135
+ examples/python/ Python examples
136
+ docs/cpp/ C++ API documentation
137
+ docs/python/ Python documentation
138
+ ```
139
+
140
+ ## Installation
141
+
142
+ ### Python
143
+
144
+ ```powershell
145
+ pip install stratax
146
+ ```
147
+
148
+ ### C++
149
+
150
+ Stratax is header-first for C++. Include the repository `include/` directory in
151
+ your build and include the umbrella header:
152
+
153
+ ```cpp
154
+ #include <stratax.h>
155
+ ```
156
+
157
+ ## License
158
+
159
+ Stratax is licensed under the MIT License.
160
+
161
+ ## Contributing
162
+
163
+ Contributions, bug reports, and feature requests are welcome through GitHub Issues and Pull Requests.
164
+
165
+ ## Project Status
166
+
167
+ Implemented:
168
+
169
+ - Core storage and metadata: `Buffer`, `Shape`, `Strides`, `Slice`
170
+ - Containers: `Vector`, `Matrix`, `Tensor`
171
+ - Operations: arithmetic, comparison, indexing, reshape, slicing
172
+ - Container helpers: creation and conversions
173
+ - I/O: stream printing
174
+ - Python bindings: `Shape`, `Vector`, `Matrix`, `Tensor`
175
+
176
+ ## Roadmap
177
+
178
+ - Broadcasting
179
+ - Logical operations
180
+ - Linear algebra algorithms
181
+ - Calculus helpers
182
+ - Random sampling and distributions
183
+ - Statistics routines
184
+ - CSV and binary I/O