Units / geom
geom.matrix green
- Layer
- 2
- Upstream lines
- 816
- Functions
- 20
- Rust module
geom::matrix
Source: crates/solidcore/src/geom/matrix.rs
Upstream: source/SMLib/inc/SmMatrix.h, source/SMLib/src/SmMatrix.cpp
Notes
20 fns; largest: SmMatrix::EigenSystemJacobiSolver, SmMatrix::LUDecompose, SmMatrix::SolveLinearSystem, SmMatrix::Compute3x3EigenVectors; cycle back-edges (call into later units; stub or co-port): geom.vector3d(2); unit-SCC #22 (220 units); 317 upstream test entry points reach this unit; GREEN: difftest 4044 cases (44 fixture + 4000 generated), 0 deferred, max_rel_err 0 (bit-identical); 100k-seed run clean; back-edges sm_sqrt/SmVector3d::Set (geom.vector3d) co-ported as private helpers
Difftest
- Cases
- 4,044
- Passed
- 4,044
- Deferred
- 0
- Failed
- 0
- Both errored
- 740
- Max rel. error
- 0.0
- Tolerance
- 1e-09 rel.
- Seeds
- 16
Blocked by
Nothing: no deferred cases.
Report JSON (per-case results)
Dependencies
Depends on: none
Soft dependencies: geom.tol green
Dependents: blend.fillet_solver_p1 claimed blend.fillet_standard_solver_p2 todo curve.curve_p3 green curve.curve_p4 partial curve.curve_p5 partial geom.geom_utility_p1 green geom.local_solve_nd green intersect.surface_intersector_p2 partial surface.plane_p2 partial surface.surface_p3 green surface.surface_p4 green surface.volume_p1 green topology.edgeuse_p1 partial
Soft dependents: blend.fillet_custom_solver partial blend.fillet_standard_solver_p1 claimed geom.geom_utility_p2 green
Upstream functions
| Upstream function | Defined at | Lines | Rust (from the file header) |
|---|---|---|---|
SmMatrix::GetNumRows | SmMatrix.h:48 | 1 | [Matrix::num_rows], [Matrix::num_columns] |
SmMatrix::GetNumColumns | SmMatrix.h:49 | 1 | [Matrix::num_rows], [Matrix::num_columns] |
SmMatrix::GetAt | SmMatrix.h:150 | 9 | [Matrix::at] |
SmMatrix::SetAt | SmMatrix.h:165 | 9 | [Matrix::set_at] |
SmMatrix::AddTo | SmMatrix.h:180 | 9 | [Matrix::add_to] |
SmMatrix::operator[] | SmMatrix.h:275 | 6 | [Matrix::row], [Matrix::row_mut] |
SmMatrix::operator[] | SmMatrix.h:287 | 6 | [Matrix::row], [Matrix::row_mut] |
SmMatrix::SmMatrix | SmMatrix.cpp:20 | 32 | [Matrix] |
SmMatrix::SmMatrix | SmMatrix.cpp:90 | 32 | [Matrix] |
SmMatrix::~SmMatrix | SmMatrix.cpp:128 | 9 | [Clone] / [Drop] (derived) |
SmMatrix::SetSize | SmMatrix.cpp:143 | 43 | [Matrix::set_size] |
SmMatrix::IsSymmetric | SmMatrix.cpp:222 | 36 | [Matrix::is_symmetric] |
SmMatrix::Clear | SmMatrix.cpp:297 | 15 | [Matrix::clear] |
SmMatrix::MakeIdentity | SmMatrix.cpp:318 | 31 | [Matrix::make_identity] |
SmMatrix::LUDecompose | SmMatrix.cpp:662 | 105 | [Matrix::lu_decompose] |
SmMatrix::SolveWithLUMatrix | SmMatrix.cpp:774 | 62 | [Matrix::solve_with_lu] |
SmMatrix::SolveLinearSystem | SmMatrix.cpp:843 | 78 | [Matrix::solve_linear_system] |
sm_SortEigenSystem | SmMatrix.cpp:931 | 50 | sort_eigen_system (private) |
SmMatrix::EigenSystemJacobiSolver | SmMatrix.cpp:995 | 205 | [Matrix::eigen_system_jacobi] |
SmMatrix::Compute3x3EigenVectors | SmMatrix.cpp:1482 | 77 | [Matrix::compute_3x3_eigen_vectors] |
Module file-header table (20 rows)
| Rust | Upstream |
|---|---|
[Matrix] | SmMatrix |
[Matrix::new] | SmMatrix(ULONG, ULONG) |
[Clone] / [Drop] (derived) | SmMatrix(const SmMatrix&), ~SmMatrix |
[Matrix::from_row_major] | (none: constructor from values, for callers and tests) |
[Matrix::num_rows], [Matrix::num_columns] | GetNumRows, GetNumColumns |
[Matrix::at] | GetAt |
[Matrix::set_at] | SetAt |
[Matrix::add_to] | AddTo |
[Matrix::row], [Matrix::row_mut] | operator[] (const / non-const) |
[Matrix::as_slice] | (none: the row-major element array m_pdM) |
[Matrix::set_size] | SetSize |
[Matrix::is_symmetric] | IsSymmetric |
[Matrix::clear] | Clear |
[Matrix::make_identity] | MakeIdentity |
[Matrix::lu_decompose] | LUDecompose |
[Matrix::solve_with_lu] | SolveWithLUMatrix |
[Matrix::solve_linear_system] | SolveLinearSystem |
[Matrix::eigen_system_jacobi] | EigenSystemJacobiSolver |
[Matrix::compute_3x3_eigen_vectors] | Compute3x3EigenVectors |
sort_eigen_system (private) | sm_SortEigenSystem |
Upstream tests reaching this unit
prog_test:my_test_surface_closest_point, prog_test:my_test_drop_point, prog_test:my_test_matrix, prog_test:my_test_reversed_line_join, SM_API_test:TestSmCreateRectangle, SM_API_test:TestSmCreateRegularPolygon