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.
- stratax-0.1.0/.gitignore +15 -0
- stratax-0.1.0/CHANGELOG.md +16 -0
- stratax-0.1.0/CMakeLists.txt +93 -0
- stratax-0.1.0/Doxyfile +41 -0
- stratax-0.1.0/LICENSE +21 -0
- stratax-0.1.0/PKG-INFO +229 -0
- stratax-0.1.0/README.md +184 -0
- stratax-0.1.0/bindings/matrix.cpp +369 -0
- stratax-0.1.0/bindings/module.cpp +35 -0
- stratax-0.1.0/bindings/shape.cpp +157 -0
- stratax-0.1.0/bindings/tensor.cpp +375 -0
- stratax-0.1.0/bindings/vector.cpp +295 -0
- stratax-0.1.0/docs/cpp/html/_arithmetic_8hpp.html +1099 -0
- stratax-0.1.0/docs/cpp/html/_arithmetic_8hpp.js +26 -0
- stratax-0.1.0/docs/cpp/html/_arithmetic_8hpp_source.html +468 -0
- stratax-0.1.0/docs/cpp/html/_arithmetic_8md.html +140 -0
- stratax-0.1.0/docs/cpp/html/_buffer_8hpp.html +166 -0
- stratax-0.1.0/docs/cpp/html/_buffer_8hpp.js +5 -0
- stratax-0.1.0/docs/cpp/html/_buffer_8hpp_source.html +572 -0
- stratax-0.1.0/docs/cpp/html/_buffer_8md.html +140 -0
- stratax-0.1.0/docs/cpp/html/_comparison_8hpp.html +255 -0
- stratax-0.1.0/docs/cpp/html/_comparison_8hpp.js +5 -0
- stratax-0.1.0/docs/cpp/html/_comparison_8hpp_source.html +175 -0
- stratax-0.1.0/docs/cpp/html/_comparison_8md.html +140 -0
- stratax-0.1.0/docs/cpp/html/_concepts_8hpp.html +200 -0
- stratax-0.1.0/docs/cpp/html/_concepts_8hpp.js +25 -0
- stratax-0.1.0/docs/cpp/html/_concepts_8hpp_source.html +298 -0
- stratax-0.1.0/docs/cpp/html/_concepts_8md.html +140 -0
- stratax-0.1.0/docs/cpp/html/_config_8hpp.html +163 -0
- stratax-0.1.0/docs/cpp/html/_config_8hpp.js +8 -0
- stratax-0.1.0/docs/cpp/html/_config_8hpp_source.html +158 -0
- stratax-0.1.0/docs/cpp/html/_conversions_8hpp.html +420 -0
- stratax-0.1.0/docs/cpp/html/_conversions_8hpp.js +9 -0
- stratax-0.1.0/docs/cpp/html/_conversions_8hpp_source.html +275 -0
- stratax-0.1.0/docs/cpp/html/_conversions_8md.html +140 -0
- stratax-0.1.0/docs/cpp/html/_creation_8hpp.html +172 -0
- stratax-0.1.0/docs/cpp/html/_creation_8hpp.js +7 -0
- stratax-0.1.0/docs/cpp/html/_creation_8hpp_source.html +203 -0
- stratax-0.1.0/docs/cpp/html/_creation_8md.html +140 -0
- stratax-0.1.0/docs/cpp/html/_exceptions_8hpp.html +165 -0
- stratax-0.1.0/docs/cpp/html/_exceptions_8hpp.js +10 -0
- stratax-0.1.0/docs/cpp/html/_exceptions_8hpp_source.html +205 -0
- stratax-0.1.0/docs/cpp/html/_exceptions_8md.html +140 -0
- stratax-0.1.0/docs/cpp/html/_indexing_8hpp.html +207 -0
- stratax-0.1.0/docs/cpp/html/_indexing_8hpp.js +4 -0
- stratax-0.1.0/docs/cpp/html/_indexing_8hpp_source.html +217 -0
- stratax-0.1.0/docs/cpp/html/_indexing_8md.html +140 -0
- stratax-0.1.0/docs/cpp/html/_matrix_8hpp.html +162 -0
- stratax-0.1.0/docs/cpp/html/_matrix_8hpp.js +4 -0
- stratax-0.1.0/docs/cpp/html/_matrix_8hpp_source.html +562 -0
- stratax-0.1.0/docs/cpp/html/_matrix_8md.html +140 -0
- stratax-0.1.0/docs/cpp/html/_print_8hpp.html +171 -0
- stratax-0.1.0/docs/cpp/html/_print_8hpp.js +7 -0
- stratax-0.1.0/docs/cpp/html/_print_8hpp_source.html +293 -0
- stratax-0.1.0/docs/cpp/html/_print_8md.html +140 -0
- stratax-0.1.0/docs/cpp/html/_r_e_a_d_m_e_8md.html +140 -0
- stratax-0.1.0/docs/cpp/html/_reshape_8hpp.html +237 -0
- stratax-0.1.0/docs/cpp/html/_reshape_8hpp.js +5 -0
- stratax-0.1.0/docs/cpp/html/_reshape_8hpp_source.html +198 -0
- stratax-0.1.0/docs/cpp/html/_reshape_8md.html +140 -0
- stratax-0.1.0/docs/cpp/html/_shape_8hpp.html +164 -0
- stratax-0.1.0/docs/cpp/html/_shape_8hpp.js +6 -0
- stratax-0.1.0/docs/cpp/html/_shape_8hpp_source.html +378 -0
- stratax-0.1.0/docs/cpp/html/_shape_8md.html +140 -0
- stratax-0.1.0/docs/cpp/html/_strides_8hpp.html +166 -0
- stratax-0.1.0/docs/cpp/html/_strides_8hpp.js +5 -0
- stratax-0.1.0/docs/cpp/html/_strides_8hpp_source.html +420 -0
- stratax-0.1.0/docs/cpp/html/_strides_8md.html +140 -0
- stratax-0.1.0/docs/cpp/html/_tensor_8hpp.html +164 -0
- stratax-0.1.0/docs/cpp/html/_tensor_8hpp.js +4 -0
- stratax-0.1.0/docs/cpp/html/_tensor_8hpp_source.html +556 -0
- stratax-0.1.0/docs/cpp/html/_tensor_8md.html +140 -0
- stratax-0.1.0/docs/cpp/html/_types_8hpp.html +172 -0
- stratax-0.1.0/docs/cpp/html/_types_8hpp.js +20 -0
- stratax-0.1.0/docs/cpp/html/_types_8hpp_source.html +185 -0
- stratax-0.1.0/docs/cpp/html/_types_8md.html +140 -0
- stratax-0.1.0/docs/cpp/html/_validation_8hpp.html +206 -0
- stratax-0.1.0/docs/cpp/html/_validation_8hpp.js +20 -0
- stratax-0.1.0/docs/cpp/html/_validation_8hpp_source.html +367 -0
- stratax-0.1.0/docs/cpp/html/_validation_8md.html +140 -0
- stratax-0.1.0/docs/cpp/html/_vector_8hpp.html +161 -0
- stratax-0.1.0/docs/cpp/html/_vector_8hpp.js +4 -0
- stratax-0.1.0/docs/cpp/html/_vector_8hpp_source.html +492 -0
- stratax-0.1.0/docs/cpp/html/_vector_8md.html +140 -0
- stratax-0.1.0/docs/cpp/html/annotated.html +160 -0
- stratax-0.1.0/docs/cpp/html/annotated_dup.js +29 -0
- stratax-0.1.0/docs/cpp/html/architecture_8md.html +140 -0
- stratax-0.1.0/docs/cpp/html/binary_8hpp.html +150 -0
- stratax-0.1.0/docs/cpp/html/binary_8hpp_source.html +135 -0
- stratax-0.1.0/docs/cpp/html/broadcasting_8hpp.html +150 -0
- stratax-0.1.0/docs/cpp/html/broadcasting_8hpp_source.html +135 -0
- stratax-0.1.0/docs/cpp/html/class_exceptions_1_1_broadcast_error.html +161 -0
- stratax-0.1.0/docs/cpp/html/class_exceptions_1_1_broadcast_error.png +0 -0
- stratax-0.1.0/docs/cpp/html/class_exceptions_1_1_dimension_error.html +161 -0
- stratax-0.1.0/docs/cpp/html/class_exceptions_1_1_dimension_error.png +0 -0
- stratax-0.1.0/docs/cpp/html/class_exceptions_1_1_index_error.html +161 -0
- stratax-0.1.0/docs/cpp/html/class_exceptions_1_1_index_error.png +0 -0
- stratax-0.1.0/docs/cpp/html/class_exceptions_1_1_shape_error.html +161 -0
- stratax-0.1.0/docs/cpp/html/class_exceptions_1_1_shape_error.png +0 -0
- stratax-0.1.0/docs/cpp/html/class_exceptions_1_1_stratax_error.html +166 -0
- stratax-0.1.0/docs/cpp/html/class_exceptions_1_1_stratax_error.png +0 -0
- stratax-0.1.0/docs/cpp/html/class_exceptions_1_1_type_error.html +161 -0
- stratax-0.1.0/docs/cpp/html/class_exceptions_1_1_type_error.png +0 -0
- stratax-0.1.0/docs/cpp/html/class_exceptions_1_1_zero_division_error.html +161 -0
- stratax-0.1.0/docs/cpp/html/class_exceptions_1_1_zero_division_error.png +0 -0
- stratax-0.1.0/docs/cpp/html/classes.html +165 -0
- stratax-0.1.0/docs/cpp/html/classstratax_1_1container_1_1_matrix-members.html +180 -0
- stratax-0.1.0/docs/cpp/html/classstratax_1_1container_1_1_matrix.html +1825 -0
- stratax-0.1.0/docs/cpp/html/classstratax_1_1container_1_1_matrix.js +48 -0
- stratax-0.1.0/docs/cpp/html/classstratax_1_1container_1_1_tensor-members.html +180 -0
- stratax-0.1.0/docs/cpp/html/classstratax_1_1container_1_1_tensor.html +1865 -0
- stratax-0.1.0/docs/cpp/html/classstratax_1_1container_1_1_tensor.js +48 -0
- stratax-0.1.0/docs/cpp/html/classstratax_1_1container_1_1_vector-members.html +178 -0
- stratax-0.1.0/docs/cpp/html/classstratax_1_1container_1_1_vector.html +1681 -0
- stratax-0.1.0/docs/cpp/html/classstratax_1_1container_1_1_vector.js +46 -0
- stratax-0.1.0/docs/cpp/html/classstratax_1_1core_1_1_buffer-members.html +170 -0
- stratax-0.1.0/docs/cpp/html/classstratax_1_1core_1_1_buffer.html +1525 -0
- stratax-0.1.0/docs/cpp/html/classstratax_1_1core_1_1_buffer.js +39 -0
- stratax-0.1.0/docs/cpp/html/classstratax_1_1core_1_1_shape-members.html +155 -0
- stratax-0.1.0/docs/cpp/html/classstratax_1_1core_1_1_shape.html +913 -0
- stratax-0.1.0/docs/cpp/html/classstratax_1_1core_1_1_shape.js +24 -0
- stratax-0.1.0/docs/cpp/html/classstratax_1_1core_1_1_slice-members.html +142 -0
- stratax-0.1.0/docs/cpp/html/classstratax_1_1core_1_1_slice.html +428 -0
- stratax-0.1.0/docs/cpp/html/classstratax_1_1core_1_1_slice.js +10 -0
- stratax-0.1.0/docs/cpp/html/classstratax_1_1core_1_1_strides-members.html +165 -0
- stratax-0.1.0/docs/cpp/html/classstratax_1_1core_1_1_strides.html +1167 -0
- stratax-0.1.0/docs/cpp/html/classstratax_1_1core_1_1_strides.js +33 -0
- stratax-0.1.0/docs/cpp/html/clipboard.js +61 -0
- stratax-0.1.0/docs/cpp/html/codefolding.js +143 -0
- stratax-0.1.0/docs/cpp/html/concept_arithmetic.html +156 -0
- stratax-0.1.0/docs/cpp/html/concept_array.html +144 -0
- stratax-0.1.0/docs/cpp/html/concept_complex.html +154 -0
- stratax-0.1.0/docs/cpp/html/concept_float.html +154 -0
- stratax-0.1.0/docs/cpp/html/concept_floating.html +153 -0
- stratax-0.1.0/docs/cpp/html/concept_integer.html +155 -0
- stratax-0.1.0/docs/cpp/html/concept_integral.html +157 -0
- stratax-0.1.0/docs/cpp/html/concept_n_darray.html +161 -0
- stratax-0.1.0/docs/cpp/html/concept_numeric.html +156 -0
- stratax-0.1.0/docs/cpp/html/concept_real.html +155 -0
- stratax-0.1.0/docs/cpp/html/concept_scalar.html +154 -0
- stratax-0.1.0/docs/cpp/html/concept_signed_integer.html +156 -0
- stratax-0.1.0/docs/cpp/html/concept_unsigned_integer.html +156 -0
- stratax-0.1.0/docs/cpp/html/concepts.html +156 -0
- stratax-0.1.0/docs/cpp/html/concepts.js +26 -0
- stratax-0.1.0/docs/cpp/html/conceptstratax_1_1core_1_1concept__detail_1_1_bool_like.html +143 -0
- stratax-0.1.0/docs/cpp/html/conceptstratax_1_1core_1_1concept__detail_1_1_character_like.html +152 -0
- stratax-0.1.0/docs/cpp/html/conceptstratax_1_1core_1_1concept__detail_1_1_same_as_any.html +143 -0
- stratax-0.1.0/docs/cpp/html/conceptstratax_1_1core_1_1concept__detail_1_1_supported_complex.html +148 -0
- stratax-0.1.0/docs/cpp/html/contributing_8md.html +140 -0
- stratax-0.1.0/docs/cpp/html/cookie.js +58 -0
- stratax-0.1.0/docs/cpp/html/core_2_slice_8hpp.html +155 -0
- stratax-0.1.0/docs/cpp/html/core_2_slice_8hpp.js +4 -0
- stratax-0.1.0/docs/cpp/html/core_2_slice_8hpp_source.html +215 -0
- stratax-0.1.0/docs/cpp/html/core_2_slice_8md.html +140 -0
- stratax-0.1.0/docs/cpp/html/csv_8hpp.html +150 -0
- stratax-0.1.0/docs/cpp/html/csv_8hpp_source.html +135 -0
- stratax-0.1.0/docs/cpp/html/curl_8hpp.html +150 -0
- stratax-0.1.0/docs/cpp/html/curl_8hpp_source.html +135 -0
- stratax-0.1.0/docs/cpp/html/decomposition_8hpp.html +150 -0
- stratax-0.1.0/docs/cpp/html/decomposition_8hpp_source.html +135 -0
- stratax-0.1.0/docs/cpp/html/derivative_8hpp.html +150 -0
- stratax-0.1.0/docs/cpp/html/derivative_8hpp_source.html +135 -0
- stratax-0.1.0/docs/cpp/html/descriptive_8hpp.html +150 -0
- stratax-0.1.0/docs/cpp/html/descriptive_8hpp_source.html +135 -0
- stratax-0.1.0/docs/cpp/html/determinant_8hpp.html +150 -0
- stratax-0.1.0/docs/cpp/html/determinant_8hpp_source.html +135 -0
- stratax-0.1.0/docs/cpp/html/dir_16056853f7473a064857dbb9d2d0c186.html +140 -0
- stratax-0.1.0/docs/cpp/html/dir_223cff0965e44113c97bcd6507f5d06c.html +149 -0
- stratax-0.1.0/docs/cpp/html/dir_223cff0965e44113c97bcd6507f5d06c.js +6 -0
- stratax-0.1.0/docs/cpp/html/dir_351a1bae25f593a7b3ae290281b962ad.html +152 -0
- stratax-0.1.0/docs/cpp/html/dir_351a1bae25f593a7b3ae290281b962ad.js +7 -0
- stratax-0.1.0/docs/cpp/html/dir_3777d40ea6a06f8da7b3fd0321a74898.html +140 -0
- stratax-0.1.0/docs/cpp/html/dir_3db998c1dbae004fbb297176032f9160.html +156 -0
- stratax-0.1.0/docs/cpp/html/dir_3db998c1dbae004fbb297176032f9160.js +9 -0
- stratax-0.1.0/docs/cpp/html/dir_46b59f691780e73bdb80ba0636be5830.html +140 -0
- stratax-0.1.0/docs/cpp/html/dir_49e56c817e5e54854c35e136979f97ca.html +145 -0
- stratax-0.1.0/docs/cpp/html/dir_49e56c817e5e54854c35e136979f97ca.js +4 -0
- stratax-0.1.0/docs/cpp/html/dir_4dc4647a8575faa8c6083e550692641f.html +149 -0
- stratax-0.1.0/docs/cpp/html/dir_4dc4647a8575faa8c6083e550692641f.js +8 -0
- stratax-0.1.0/docs/cpp/html/dir_5179a46a04c00f26153add2c2c09d3cf.html +148 -0
- stratax-0.1.0/docs/cpp/html/dir_5179a46a04c00f26153add2c2c09d3cf.js +7 -0
- stratax-0.1.0/docs/cpp/html/dir_5a5db20e45deba4b829739d47af895d1.html +150 -0
- stratax-0.1.0/docs/cpp/html/dir_5a5db20e45deba4b829739d47af895d1.js +6 -0
- stratax-0.1.0/docs/cpp/html/dir_877384a994e0793257361be2b1c55de1.html +158 -0
- stratax-0.1.0/docs/cpp/html/dir_877384a994e0793257361be2b1c55de1.js +10 -0
- stratax-0.1.0/docs/cpp/html/dir_8e383a1d2ade32854ed7904f21bcc60f.html +153 -0
- stratax-0.1.0/docs/cpp/html/dir_8e383a1d2ade32854ed7904f21bcc60f.js +10 -0
- stratax-0.1.0/docs/cpp/html/dir_ac792f0f17fbe3860dab8ca9a4d32742.html +154 -0
- stratax-0.1.0/docs/cpp/html/dir_ac792f0f17fbe3860dab8ca9a4d32742.js +8 -0
- stratax-0.1.0/docs/cpp/html/dir_c2863c0ad027e16b27c27f7e4021d7f3.html +140 -0
- stratax-0.1.0/docs/cpp/html/dir_d44c64559bbebec7f509842c48db8b23.html +149 -0
- stratax-0.1.0/docs/cpp/html/dir_d44c64559bbebec7f509842c48db8b23.js +5 -0
- stratax-0.1.0/docs/cpp/html/dir_d81e4652eb261ab36273d7eb7356393d.html +153 -0
- stratax-0.1.0/docs/cpp/html/dir_d81e4652eb261ab36273d7eb7356393d.js +12 -0
- stratax-0.1.0/docs/cpp/html/dir_dc51df17c4a34e29a69d782eec26d6c5.html +154 -0
- stratax-0.1.0/docs/cpp/html/dir_dc51df17c4a34e29a69d782eec26d6c5.js +12 -0
- stratax-0.1.0/docs/cpp/html/divergence_8hpp.html +150 -0
- stratax-0.1.0/docs/cpp/html/divergence_8hpp_source.html +135 -0
- stratax-0.1.0/docs/cpp/html/doxygen.css +2560 -0
- stratax-0.1.0/docs/cpp/html/doxygen.svg +28 -0
- stratax-0.1.0/docs/cpp/html/doxygen_crawl.html +821 -0
- stratax-0.1.0/docs/cpp/html/eigen_8hpp.html +150 -0
- stratax-0.1.0/docs/cpp/html/eigen_8hpp_source.html +135 -0
- stratax-0.1.0/docs/cpp/html/files.html +203 -0
- stratax-0.1.0/docs/cpp/html/files_dup.js +5 -0
- stratax-0.1.0/docs/cpp/html/functions.html +137 -0
- stratax-0.1.0/docs/cpp/html/functions_b.html +138 -0
- stratax-0.1.0/docs/cpp/html/functions_c.html +140 -0
- stratax-0.1.0/docs/cpp/html/functions_d.html +136 -0
- stratax-0.1.0/docs/cpp/html/functions_dup.js +17 -0
- stratax-0.1.0/docs/cpp/html/functions_e.html +138 -0
- stratax-0.1.0/docs/cpp/html/functions_f.html +137 -0
- stratax-0.1.0/docs/cpp/html/functions_func.html +136 -0
- stratax-0.1.0/docs/cpp/html/functions_func.js +16 -0
- stratax-0.1.0/docs/cpp/html/functions_func_b.html +138 -0
- stratax-0.1.0/docs/cpp/html/functions_func_c.html +140 -0
- stratax-0.1.0/docs/cpp/html/functions_func_d.html +136 -0
- stratax-0.1.0/docs/cpp/html/functions_func_e.html +138 -0
- stratax-0.1.0/docs/cpp/html/functions_func_f.html +137 -0
- stratax-0.1.0/docs/cpp/html/functions_func_m.html +136 -0
- stratax-0.1.0/docs/cpp/html/functions_func_o.html +140 -0
- stratax-0.1.0/docs/cpp/html/functions_func_r.html +139 -0
- stratax-0.1.0/docs/cpp/html/functions_func_s.html +144 -0
- stratax-0.1.0/docs/cpp/html/functions_func_t.html +136 -0
- stratax-0.1.0/docs/cpp/html/functions_func_v.html +136 -0
- stratax-0.1.0/docs/cpp/html/functions_func_~.html +141 -0
- stratax-0.1.0/docs/cpp/html/functions_m.html +136 -0
- stratax-0.1.0/docs/cpp/html/functions_o.html +140 -0
- stratax-0.1.0/docs/cpp/html/functions_r.html +140 -0
- stratax-0.1.0/docs/cpp/html/functions_s.html +144 -0
- stratax-0.1.0/docs/cpp/html/functions_t.html +136 -0
- stratax-0.1.0/docs/cpp/html/functions_type.html +135 -0
- stratax-0.1.0/docs/cpp/html/functions_u.html +136 -0
- stratax-0.1.0/docs/cpp/html/functions_v.html +137 -0
- stratax-0.1.0/docs/cpp/html/functions_vars.html +135 -0
- stratax-0.1.0/docs/cpp/html/functions_~.html +141 -0
- stratax-0.1.0/docs/cpp/html/generators_8hpp.html +150 -0
- stratax-0.1.0/docs/cpp/html/generators_8hpp_source.html +135 -0
- stratax-0.1.0/docs/cpp/html/globals.html +174 -0
- stratax-0.1.0/docs/cpp/html/globals_func.html +174 -0
- stratax-0.1.0/docs/cpp/html/gradient_8hpp.html +150 -0
- stratax-0.1.0/docs/cpp/html/gradient_8hpp_source.html +135 -0
- stratax-0.1.0/docs/cpp/html/hierarchy.html +162 -0
- stratax-0.1.0/docs/cpp/html/hierarchy.js +33 -0
- stratax-0.1.0/docs/cpp/html/hypothesis_8hpp.html +150 -0
- stratax-0.1.0/docs/cpp/html/hypothesis_8hpp_source.html +135 -0
- stratax-0.1.0/docs/cpp/html/index.html +133 -0
- stratax-0.1.0/docs/cpp/html/integration_8hpp.html +150 -0
- stratax-0.1.0/docs/cpp/html/integration_8hpp_source.html +135 -0
- stratax-0.1.0/docs/cpp/html/inverse_8hpp.html +150 -0
- stratax-0.1.0/docs/cpp/html/inverse_8hpp_source.html +135 -0
- stratax-0.1.0/docs/cpp/html/kernels_8hpp.html +150 -0
- stratax-0.1.0/docs/cpp/html/kernels_8hpp_source.html +135 -0
- stratax-0.1.0/docs/cpp/html/logical_8hpp.html +150 -0
- stratax-0.1.0/docs/cpp/html/logical_8hpp_source.html +135 -0
- stratax-0.1.0/docs/cpp/html/md__r_e_a_d_m_e.html +248 -0
- stratax-0.1.0/docs/cpp/html/md_docs_2dev_2architecture.html +200 -0
- stratax-0.1.0/docs/cpp/html/md_docs_2dev_2containers_2_conversions.html +203 -0
- stratax-0.1.0/docs/cpp/html/md_docs_2dev_2containers_2_creation.html +199 -0
- stratax-0.1.0/docs/cpp/html/md_docs_2dev_2containers_2_matrix.html +228 -0
- stratax-0.1.0/docs/cpp/html/md_docs_2dev_2containers_2_tensor.html +226 -0
- stratax-0.1.0/docs/cpp/html/md_docs_2dev_2containers_2_vector.html +224 -0
- stratax-0.1.0/docs/cpp/html/md_docs_2dev_2contributing.html +200 -0
- stratax-0.1.0/docs/cpp/html/md_docs_2dev_2core_2_buffer.html +221 -0
- stratax-0.1.0/docs/cpp/html/md_docs_2dev_2core_2_concepts.html +202 -0
- stratax-0.1.0/docs/cpp/html/md_docs_2dev_2core_2_exceptions.html +202 -0
- stratax-0.1.0/docs/cpp/html/md_docs_2dev_2core_2_shape.html +214 -0
- stratax-0.1.0/docs/cpp/html/md_docs_2dev_2core_2_slice.html +199 -0
- stratax-0.1.0/docs/cpp/html/md_docs_2dev_2core_2_strides.html +221 -0
- stratax-0.1.0/docs/cpp/html/md_docs_2dev_2core_2_types.html +212 -0
- stratax-0.1.0/docs/cpp/html/md_docs_2dev_2core_2_validation.html +219 -0
- stratax-0.1.0/docs/cpp/html/md_docs_2dev_2io_2_print.html +203 -0
- stratax-0.1.0/docs/cpp/html/md_docs_2dev_2ops_2_arithmetic.html +237 -0
- stratax-0.1.0/docs/cpp/html/md_docs_2dev_2ops_2_comparison.html +194 -0
- stratax-0.1.0/docs/cpp/html/md_docs_2dev_2ops_2_indexing.html +196 -0
- stratax-0.1.0/docs/cpp/html/md_docs_2dev_2ops_2_reshape.html +198 -0
- stratax-0.1.0/docs/cpp/html/md_docs_2dev_2ops_2_slice.html +208 -0
- stratax-0.1.0/docs/cpp/html/md_docs_2dev_2roadmap.html +349 -0
- stratax-0.1.0/docs/cpp/html/memory_8hpp.html +150 -0
- stratax-0.1.0/docs/cpp/html/memory_8hpp_source.html +135 -0
- stratax-0.1.0/docs/cpp/html/menu.js +569 -0
- stratax-0.1.0/docs/cpp/html/menudata.js +100 -0
- stratax-0.1.0/docs/cpp/html/namespace_exceptions.html +158 -0
- stratax-0.1.0/docs/cpp/html/namespace_exceptions.js +10 -0
- stratax-0.1.0/docs/cpp/html/namespacecore.html +145 -0
- stratax-0.1.0/docs/cpp/html/namespacecore.js +10 -0
- stratax-0.1.0/docs/cpp/html/namespacecore_1_1config.html +285 -0
- stratax-0.1.0/docs/cpp/html/namespacecreation.html +318 -0
- stratax-0.1.0/docs/cpp/html/namespacemembers.html +224 -0
- stratax-0.1.0/docs/cpp/html/namespacemembers_func.html +155 -0
- stratax-0.1.0/docs/cpp/html/namespacemembers_type.html +149 -0
- stratax-0.1.0/docs/cpp/html/namespacemembers_vars.html +136 -0
- stratax-0.1.0/docs/cpp/html/namespaces.html +148 -0
- stratax-0.1.0/docs/cpp/html/namespaces_dup.js +11 -0
- stratax-0.1.0/docs/cpp/html/namespacestratax.html +147 -0
- stratax-0.1.0/docs/cpp/html/namespacestratax.js +6 -0
- stratax-0.1.0/docs/cpp/html/namespacestratax_1_1container.html +276 -0
- stratax-0.1.0/docs/cpp/html/namespacestratax_1_1container.js +12 -0
- stratax-0.1.0/docs/cpp/html/namespacestratax_1_1container_1_1detail.html +204 -0
- stratax-0.1.0/docs/cpp/html/namespacestratax_1_1core.html +253 -0
- stratax-0.1.0/docs/cpp/html/namespacestratax_1_1core.js +55 -0
- stratax-0.1.0/docs/cpp/html/namespacestratax_1_1core_1_1concept__detail.html +181 -0
- stratax-0.1.0/docs/cpp/html/namespacestratax_1_1core_1_1concept__detail.js +8 -0
- stratax-0.1.0/docs/cpp/html/namespacestratax_1_1core_1_1config.html +285 -0
- stratax-0.1.0/docs/cpp/html/namespacestratax_1_1core_1_1dtype.html +434 -0
- stratax-0.1.0/docs/cpp/html/namespacestratax_1_1core_1_1validation.html +1027 -0
- stratax-0.1.0/docs/cpp/html/namespacestratax_1_1ops.html +145 -0
- stratax-0.1.0/docs/cpp/html/namespacestratax_1_1ops.js +7 -0
- stratax-0.1.0/docs/cpp/html/namespacestratax_1_1ops_1_1detail.html +234 -0
- stratax-0.1.0/docs/cpp/html/navtree.css +327 -0
- stratax-0.1.0/docs/cpp/html/navtree.js +1161 -0
- stratax-0.1.0/docs/cpp/html/navtreedata.js +370 -0
- stratax-0.1.0/docs/cpp/html/navtreeindex0.js +253 -0
- stratax-0.1.0/docs/cpp/html/navtreeindex1.js +253 -0
- stratax-0.1.0/docs/cpp/html/navtreeindex2.js +253 -0
- stratax-0.1.0/docs/cpp/html/navtreeindex3.js +253 -0
- stratax-0.1.0/docs/cpp/html/navtreeindex4.js +28 -0
- stratax-0.1.0/docs/cpp/html/norms_8hpp.html +150 -0
- stratax-0.1.0/docs/cpp/html/norms_8hpp_source.html +135 -0
- stratax-0.1.0/docs/cpp/html/ops_2_slice_8hpp.html +321 -0
- stratax-0.1.0/docs/cpp/html/ops_2_slice_8hpp.js +8 -0
- stratax-0.1.0/docs/cpp/html/ops_2_slice_8hpp_source.html +343 -0
- stratax-0.1.0/docs/cpp/html/ops_2_slice_8md.html +140 -0
- stratax-0.1.0/docs/cpp/html/pages.html +159 -0
- stratax-0.1.0/docs/cpp/html/random_2distributions_8hpp.html +150 -0
- stratax-0.1.0/docs/cpp/html/random_2distributions_8hpp_source.html +135 -0
- stratax-0.1.0/docs/cpp/html/regression_8hpp.html +150 -0
- stratax-0.1.0/docs/cpp/html/regression_8hpp_source.html +135 -0
- stratax-0.1.0/docs/cpp/html/roadmap_8md.html +140 -0
- stratax-0.1.0/docs/cpp/html/sampling_8hpp.html +150 -0
- stratax-0.1.0/docs/cpp/html/sampling_8hpp_source.html +135 -0
- stratax-0.1.0/docs/cpp/html/search/all_0.js +4 -0
- stratax-0.1.0/docs/cpp/html/search/all_1.js +4 -0
- stratax-0.1.0/docs/cpp/html/search/all_10.js +4 -0
- stratax-0.1.0/docs/cpp/html/search/all_11.js +7 -0
- stratax-0.1.0/docs/cpp/html/search/all_12.js +14 -0
- stratax-0.1.0/docs/cpp/html/search/all_13.js +12 -0
- stratax-0.1.0/docs/cpp/html/search/all_14.js +23 -0
- stratax-0.1.0/docs/cpp/html/search/all_15.js +20 -0
- stratax-0.1.0/docs/cpp/html/search/all_16.js +5 -0
- stratax-0.1.0/docs/cpp/html/search/all_17.js +29 -0
- stratax-0.1.0/docs/cpp/html/search/all_18.js +55 -0
- stratax-0.1.0/docs/cpp/html/search/all_19.js +25 -0
- stratax-0.1.0/docs/cpp/html/search/all_1a.js +16 -0
- stratax-0.1.0/docs/cpp/html/search/all_1b.js +14 -0
- stratax-0.1.0/docs/cpp/html/search/all_1c.js +4 -0
- stratax-0.1.0/docs/cpp/html/search/all_1d.js +5 -0
- stratax-0.1.0/docs/cpp/html/search/all_1e.js +9 -0
- stratax-0.1.0/docs/cpp/html/search/all_2.js +4 -0
- stratax-0.1.0/docs/cpp/html/search/all_3.js +4 -0
- stratax-0.1.0/docs/cpp/html/search/all_4.js +4 -0
- stratax-0.1.0/docs/cpp/html/search/all_5.js +4 -0
- stratax-0.1.0/docs/cpp/html/search/all_6.js +4 -0
- stratax-0.1.0/docs/cpp/html/search/all_7.js +29 -0
- stratax-0.1.0/docs/cpp/html/search/all_8.js +19 -0
- stratax-0.1.0/docs/cpp/html/search/all_9.js +49 -0
- stratax-0.1.0/docs/cpp/html/search/all_a.js +15 -0
- stratax-0.1.0/docs/cpp/html/search/all_b.js +16 -0
- stratax-0.1.0/docs/cpp/html/search/all_c.js +17 -0
- stratax-0.1.0/docs/cpp/html/search/all_d.js +6 -0
- stratax-0.1.0/docs/cpp/html/search/all_e.js +4 -0
- stratax-0.1.0/docs/cpp/html/search/all_f.js +29 -0
- stratax-0.1.0/docs/cpp/html/search/classes_0.js +4 -0
- stratax-0.1.0/docs/cpp/html/search/classes_1.js +6 -0
- stratax-0.1.0/docs/cpp/html/search/classes_2.js +4 -0
- stratax-0.1.0/docs/cpp/html/search/classes_3.js +8 -0
- stratax-0.1.0/docs/cpp/html/search/classes_4.js +5 -0
- stratax-0.1.0/docs/cpp/html/search/classes_5.js +8 -0
- stratax-0.1.0/docs/cpp/html/search/classes_6.js +6 -0
- stratax-0.1.0/docs/cpp/html/search/classes_7.js +4 -0
- stratax-0.1.0/docs/cpp/html/search/classes_8.js +5 -0
- stratax-0.1.0/docs/cpp/html/search/classes_9.js +4 -0
- stratax-0.1.0/docs/cpp/html/search/concepts_0.js +5 -0
- stratax-0.1.0/docs/cpp/html/search/concepts_1.js +4 -0
- stratax-0.1.0/docs/cpp/html/search/concepts_2.js +5 -0
- stratax-0.1.0/docs/cpp/html/search/concepts_3.js +5 -0
- stratax-0.1.0/docs/cpp/html/search/concepts_4.js +5 -0
- stratax-0.1.0/docs/cpp/html/search/concepts_5.js +5 -0
- stratax-0.1.0/docs/cpp/html/search/concepts_6.js +4 -0
- stratax-0.1.0/docs/cpp/html/search/concepts_7.js +7 -0
- stratax-0.1.0/docs/cpp/html/search/concepts_8.js +4 -0
- stratax-0.1.0/docs/cpp/html/search/files_0.js +6 -0
- stratax-0.1.0/docs/cpp/html/search/files_1.js +7 -0
- stratax-0.1.0/docs/cpp/html/search/files_10.js +4 -0
- stratax-0.1.0/docs/cpp/html/search/files_11.js +7 -0
- stratax-0.1.0/docs/cpp/html/search/files_2.js +15 -0
- stratax-0.1.0/docs/cpp/html/search/files_3.js +9 -0
- stratax-0.1.0/docs/cpp/html/search/files_4.js +6 -0
- stratax-0.1.0/docs/cpp/html/search/files_5.js +5 -0
- stratax-0.1.0/docs/cpp/html/search/files_6.js +4 -0
- stratax-0.1.0/docs/cpp/html/search/files_7.js +7 -0
- stratax-0.1.0/docs/cpp/html/search/files_8.js +4 -0
- stratax-0.1.0/docs/cpp/html/search/files_9.js +4 -0
- stratax-0.1.0/docs/cpp/html/search/files_a.js +6 -0
- stratax-0.1.0/docs/cpp/html/search/files_b.js +4 -0
- stratax-0.1.0/docs/cpp/html/search/files_c.js +5 -0
- stratax-0.1.0/docs/cpp/html/search/files_d.js +8 -0
- stratax-0.1.0/docs/cpp/html/search/files_e.js +13 -0
- stratax-0.1.0/docs/cpp/html/search/files_f.js +10 -0
- stratax-0.1.0/docs/cpp/html/search/functions_0.js +5 -0
- stratax-0.1.0/docs/cpp/html/search/functions_1.js +6 -0
- stratax-0.1.0/docs/cpp/html/search/functions_10.js +9 -0
- stratax-0.1.0/docs/cpp/html/search/functions_2.js +10 -0
- stratax-0.1.0/docs/cpp/html/search/functions_3.js +4 -0
- stratax-0.1.0/docs/cpp/html/search/functions_4.js +6 -0
- stratax-0.1.0/docs/cpp/html/search/functions_5.js +7 -0
- stratax-0.1.0/docs/cpp/html/search/functions_6.js +4 -0
- stratax-0.1.0/docs/cpp/html/search/functions_7.js +4 -0
- stratax-0.1.0/docs/cpp/html/search/functions_8.js +6 -0
- stratax-0.1.0/docs/cpp/html/search/functions_9.js +19 -0
- stratax-0.1.0/docs/cpp/html/search/functions_a.js +5 -0
- stratax-0.1.0/docs/cpp/html/search/functions_b.js +18 -0
- stratax-0.1.0/docs/cpp/html/search/functions_c.js +16 -0
- stratax-0.1.0/docs/cpp/html/search/functions_d.js +7 -0
- stratax-0.1.0/docs/cpp/html/search/functions_e.js +4 -0
- stratax-0.1.0/docs/cpp/html/search/functions_f.js +4 -0
- stratax-0.1.0/docs/cpp/html/search/namespaces_0.js +4 -0
- stratax-0.1.0/docs/cpp/html/search/namespaces_1.js +4 -0
- stratax-0.1.0/docs/cpp/html/search/namespaces_2.js +13 -0
- stratax-0.1.0/docs/cpp/html/search/pages_0.js +4 -0
- stratax-0.1.0/docs/cpp/html/search/pages_1.js +4 -0
- stratax-0.1.0/docs/cpp/html/search/pages_10.js +10 -0
- stratax-0.1.0/docs/cpp/html/search/pages_11.js +6 -0
- stratax-0.1.0/docs/cpp/html/search/pages_12.js +7 -0
- stratax-0.1.0/docs/cpp/html/search/pages_13.js +16 -0
- stratax-0.1.0/docs/cpp/html/search/pages_14.js +5 -0
- stratax-0.1.0/docs/cpp/html/search/pages_15.js +7 -0
- stratax-0.1.0/docs/cpp/html/search/pages_16.js +19 -0
- stratax-0.1.0/docs/cpp/html/search/pages_17.js +13 -0
- stratax-0.1.0/docs/cpp/html/search/pages_18.js +5 -0
- stratax-0.1.0/docs/cpp/html/search/pages_19.js +8 -0
- stratax-0.1.0/docs/cpp/html/search/pages_1a.js +4 -0
- stratax-0.1.0/docs/cpp/html/search/pages_2.js +4 -0
- stratax-0.1.0/docs/cpp/html/search/pages_3.js +4 -0
- stratax-0.1.0/docs/cpp/html/search/pages_4.js +4 -0
- stratax-0.1.0/docs/cpp/html/search/pages_5.js +4 -0
- stratax-0.1.0/docs/cpp/html/search/pages_6.js +4 -0
- stratax-0.1.0/docs/cpp/html/search/pages_7.js +22 -0
- stratax-0.1.0/docs/cpp/html/search/pages_8.js +8 -0
- stratax-0.1.0/docs/cpp/html/search/pages_9.js +24 -0
- stratax-0.1.0/docs/cpp/html/search/pages_a.js +6 -0
- stratax-0.1.0/docs/cpp/html/search/pages_b.js +10 -0
- stratax-0.1.0/docs/cpp/html/search/pages_c.js +8 -0
- stratax-0.1.0/docs/cpp/html/search/pages_d.js +4 -0
- stratax-0.1.0/docs/cpp/html/search/pages_e.js +12 -0
- stratax-0.1.0/docs/cpp/html/search/pages_f.js +6 -0
- stratax-0.1.0/docs/cpp/html/search/search.css +377 -0
- stratax-0.1.0/docs/cpp/html/search/search.js +708 -0
- stratax-0.1.0/docs/cpp/html/search/searchdata.js +39 -0
- stratax-0.1.0/docs/cpp/html/search/typedefs_0.js +4 -0
- stratax-0.1.0/docs/cpp/html/search/typedefs_1.js +7 -0
- stratax-0.1.0/docs/cpp/html/search/typedefs_2.js +6 -0
- stratax-0.1.0/docs/cpp/html/search/typedefs_3.js +8 -0
- stratax-0.1.0/docs/cpp/html/search/typedefs_4.js +4 -0
- stratax-0.1.0/docs/cpp/html/search/typedefs_5.js +4 -0
- stratax-0.1.0/docs/cpp/html/search/typedefs_6.js +7 -0
- stratax-0.1.0/docs/cpp/html/search/typedefs_7.js +4 -0
- stratax-0.1.0/docs/cpp/html/search/variables_0.js +4 -0
- stratax-0.1.0/docs/cpp/html/search/variables_1.js +4 -0
- stratax-0.1.0/docs/cpp/html/search/variables_2.js +4 -0
- stratax-0.1.0/docs/cpp/html/search/variables_3.js +7 -0
- stratax-0.1.0/docs/cpp/html/simd_8hpp.html +150 -0
- stratax-0.1.0/docs/cpp/html/simd_8hpp_source.html +135 -0
- stratax-0.1.0/docs/cpp/html/solve_8hpp.html +150 -0
- stratax-0.1.0/docs/cpp/html/solve_8hpp_source.html +135 -0
- stratax-0.1.0/docs/cpp/html/statistics_2distributions_8hpp.html +150 -0
- stratax-0.1.0/docs/cpp/html/statistics_2distributions_8hpp_source.html +135 -0
- stratax-0.1.0/docs/cpp/html/stratax_8hpp.html +191 -0
- stratax-0.1.0/docs/cpp/html/stratax_8hpp_source.html +241 -0
- stratax-0.1.0/docs/cpp/html/structis__array.html +165 -0
- stratax-0.1.0/docs/cpp/html/structis__array.png +0 -0
- 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
- 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
- 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
- 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
- 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
- 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
- stratax-0.1.0/docs/cpp/html/structstratax_1_1core_1_1_buffer_1_1uninitialized__t.html +149 -0
- stratax-0.1.0/docs/cpp/html/structstratax_1_1core_1_1_shape_1_1allow__zero__t.html +148 -0
- stratax-0.1.0/docs/cpp/html/tabs.css +482 -0
- stratax-0.1.0/docs/cpp/html/threading_8hpp.html +150 -0
- stratax-0.1.0/docs/cpp/html/threading_8hpp_source.html +135 -0
- stratax-0.1.0/docs/cpp/html/traits_8hpp.html +150 -0
- stratax-0.1.0/docs/cpp/html/traits_8hpp_source.html +135 -0
- stratax-0.1.0/docs/cpp/html/transforms_8hpp.html +150 -0
- stratax-0.1.0/docs/cpp/html/transforms_8hpp_source.html +135 -0
- stratax-0.1.0/docs/cpp/html/utilities_8hpp.html +150 -0
- stratax-0.1.0/docs/cpp/html/utilities_8hpp_source.html +135 -0
- stratax-0.1.0/docs/dev/architecture.md +53 -0
- stratax-0.1.0/docs/dev/containers/Conversions.md +56 -0
- stratax-0.1.0/docs/dev/containers/Creation.md +52 -0
- stratax-0.1.0/docs/dev/containers/Matrix.md +77 -0
- stratax-0.1.0/docs/dev/containers/Tensor.md +75 -0
- stratax-0.1.0/docs/dev/containers/Vector.md +73 -0
- stratax-0.1.0/docs/dev/contributing.md +51 -0
- stratax-0.1.0/docs/dev/core/Buffer.md +70 -0
- stratax-0.1.0/docs/dev/core/Concepts.md +55 -0
- stratax-0.1.0/docs/dev/core/Exceptions.md +53 -0
- stratax-0.1.0/docs/dev/core/Shape.md +63 -0
- stratax-0.1.0/docs/dev/core/Slice.md +50 -0
- stratax-0.1.0/docs/dev/core/Strides.md +70 -0
- stratax-0.1.0/docs/dev/core/Types.md +59 -0
- stratax-0.1.0/docs/dev/core/Validation.md +66 -0
- stratax-0.1.0/docs/dev/io/Print.md +54 -0
- stratax-0.1.0/docs/dev/ops/Arithmetic.md +82 -0
- stratax-0.1.0/docs/dev/ops/Comparison.md +49 -0
- stratax-0.1.0/docs/dev/ops/Indexing.md +49 -0
- stratax-0.1.0/docs/dev/ops/Reshape.md +51 -0
- stratax-0.1.0/docs/dev/ops/Slice.md +59 -0
- stratax-0.1.0/docs/dev/roadmap.md +110 -0
- stratax-0.1.0/examples/cpp/matrix.cpp +28 -0
- stratax-0.1.0/examples/cpp/shape.cpp +23 -0
- stratax-0.1.0/examples/cpp/tensor.cpp +26 -0
- stratax-0.1.0/examples/cpp/vector.cpp +24 -0
- stratax-0.1.0/examples/python/matrix.py +28 -0
- stratax-0.1.0/examples/python/shape.py +19 -0
- stratax-0.1.0/examples/python/tensor.py +25 -0
- stratax-0.1.0/examples/python/vector.py +21 -0
- stratax-0.1.0/include/stratax/containers/Conversions.hpp +163 -0
- stratax-0.1.0/include/stratax/containers/Creation.hpp +80 -0
- stratax-0.1.0/include/stratax/containers/Matrix.hpp +541 -0
- stratax-0.1.0/include/stratax/containers/Tensor.hpp +563 -0
- stratax-0.1.0/include/stratax/containers/Vector.hpp +472 -0
- stratax-0.1.0/include/stratax/core/Buffer.hpp +600 -0
- stratax-0.1.0/include/stratax/core/Concepts.hpp +219 -0
- stratax-0.1.0/include/stratax/core/Config.hpp +26 -0
- stratax-0.1.0/include/stratax/core/Exceptions.hpp +55 -0
- stratax-0.1.0/include/stratax/core/Shape.hpp +306 -0
- stratax-0.1.0/include/stratax/core/Slice.hpp +106 -0
- stratax-0.1.0/include/stratax/core/Strides.hpp +356 -0
- stratax-0.1.0/include/stratax/core/Types.hpp +32 -0
- stratax-0.1.0/include/stratax/core/Validation.hpp +340 -0
- stratax-0.1.0/include/stratax/io/Print.hpp +167 -0
- stratax-0.1.0/include/stratax/ops/Arithmetic.hpp +475 -0
- stratax-0.1.0/include/stratax/ops/Comparison.hpp +51 -0
- stratax-0.1.0/include/stratax/ops/Indexing.hpp +78 -0
- stratax-0.1.0/include/stratax/ops/Reshape.hpp +65 -0
- stratax-0.1.0/include/stratax/ops/Slice.hpp +220 -0
- stratax-0.1.0/include/stratax.h +25 -0
- stratax-0.1.0/pyproject.toml +60 -0
- stratax-0.1.0/python/stratax/__init__.py +28 -0
- stratax-0.1.0/python/stratax/_core.cp313-win_amd64.pyd +0 -0
- stratax-0.1.0/python/stratax/_core.pyi +531 -0
- stratax-0.1.0/python/stratax/exceptions.py +32 -0
- stratax-0.1.0/python/stratax/exceptions.pyi +13 -0
- stratax-0.1.0/python/stratax/matrix.py +223 -0
- stratax-0.1.0/python/stratax/matrix.pyi +165 -0
- stratax-0.1.0/python/stratax/py.typed +0 -0
- stratax-0.1.0/python/stratax/shape.py +82 -0
- stratax-0.1.0/python/stratax/shape.pyi +65 -0
- stratax-0.1.0/python/stratax/tensor.py +214 -0
- stratax-0.1.0/python/stratax/tensor.pyi +155 -0
- stratax-0.1.0/python/stratax/vector.py +211 -0
- stratax-0.1.0/python/stratax/vector.pyi +155 -0
- stratax-0.1.0/tests/cpp/containers/Conversions.cpp +232 -0
- stratax-0.1.0/tests/cpp/containers/Creation.cpp +150 -0
- stratax-0.1.0/tests/cpp/containers/Matrix.cpp +417 -0
- stratax-0.1.0/tests/cpp/containers/Tensor.cpp +486 -0
- stratax-0.1.0/tests/cpp/containers/Vector.cpp +323 -0
- stratax-0.1.0/tests/cpp/core/Buffer.cpp +285 -0
- stratax-0.1.0/tests/cpp/core/Concepts.cpp +182 -0
- stratax-0.1.0/tests/cpp/core/Shape.cpp +215 -0
- stratax-0.1.0/tests/cpp/core/Slice.cpp +62 -0
- stratax-0.1.0/tests/cpp/core/Strides.cpp +294 -0
- stratax-0.1.0/tests/cpp/core/Types.cpp +30 -0
- stratax-0.1.0/tests/cpp/core/Validation.cpp +254 -0
- stratax-0.1.0/tests/cpp/io/Print.cpp +178 -0
- stratax-0.1.0/tests/cpp/ops/Arithmetic.cpp +471 -0
- stratax-0.1.0/tests/cpp/ops/Comparison.cpp +189 -0
- stratax-0.1.0/tests/cpp/ops/Indexing.cpp +144 -0
- stratax-0.1.0/tests/cpp/ops/Reshape.cpp +211 -0
- stratax-0.1.0/tests/cpp/ops/Slice.cpp +272 -0
- stratax-0.1.0/tests/python/matrix_tests.py +221 -0
- stratax-0.1.0/tests/python/package_tests.py +41 -0
- stratax-0.1.0/tests/python/shape_tests.py +127 -0
- stratax-0.1.0/tests/python/tensor_tests.py +223 -0
- stratax-0.1.0/tests/python/vector_tests.py +213 -0
stratax-0.1.0/.gitignore
ADDED
|
@@ -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
|
stratax-0.1.0/README.md
ADDED
|
@@ -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
|