solidcore

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 functionDefined atLinesRust (from the file header)
SmMatrix::GetNumRowsSmMatrix.h:481[Matrix::num_rows], [Matrix::num_columns]
SmMatrix::GetNumColumnsSmMatrix.h:491[Matrix::num_rows], [Matrix::num_columns]
SmMatrix::GetAtSmMatrix.h:1509[Matrix::at]
SmMatrix::SetAtSmMatrix.h:1659[Matrix::set_at]
SmMatrix::AddToSmMatrix.h:1809[Matrix::add_to]
SmMatrix::operator[]SmMatrix.h:2756[Matrix::row], [Matrix::row_mut]
SmMatrix::operator[]SmMatrix.h:2876[Matrix::row], [Matrix::row_mut]
SmMatrix::SmMatrixSmMatrix.cpp:2032[Matrix]
SmMatrix::SmMatrixSmMatrix.cpp:9032[Matrix]
SmMatrix::~SmMatrixSmMatrix.cpp:1289[Clone] / [Drop] (derived)
SmMatrix::SetSizeSmMatrix.cpp:14343[Matrix::set_size]
SmMatrix::IsSymmetricSmMatrix.cpp:22236[Matrix::is_symmetric]
SmMatrix::ClearSmMatrix.cpp:29715[Matrix::clear]
SmMatrix::MakeIdentitySmMatrix.cpp:31831[Matrix::make_identity]
SmMatrix::LUDecomposeSmMatrix.cpp:662105[Matrix::lu_decompose]
SmMatrix::SolveWithLUMatrixSmMatrix.cpp:77462[Matrix::solve_with_lu]
SmMatrix::SolveLinearSystemSmMatrix.cpp:84378[Matrix::solve_linear_system]
sm_SortEigenSystemSmMatrix.cpp:93150sort_eigen_system (private)
SmMatrix::EigenSystemJacobiSolverSmMatrix.cpp:995205[Matrix::eigen_system_jacobi]
SmMatrix::Compute3x3EigenVectorsSmMatrix.cpp:148277[Matrix::compute_3x3_eigen_vectors]
Module file-header table (20 rows)
RustUpstream
[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