Units / nurbs
nlib.knots green
- Layer
- 0
- Upstream lines
- 768
- Functions
- 12
- Rust module
nurbs::knots
Source: crates/solidcore/src/nurbs/knots.rs
Upstream: source/SMLib/src/NL_BasisBasic.cpp
Notes
12 fns; largest: N_BasisIDerivs, N_BasisIEval, N_BasisFindSpan, N_BasisEval; 317 upstream test entry points reach this unit; GREEN: difftest 2953 cases (1753 fixture + 1200 generated), max_rel_err 0 (bit-identical); 50k-seed run clean
Difftest
- Cases
- 2,953
- Passed
- 2,953
- Deferred
- 0
- Failed
- 0
- Both errored
- 564
- 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: none
Dependents: nlib.basis_adv green nlib.basis_basic green nlib.crv_adv_p1 green nlib.crv_adv_p2 green nlib.crv_fit_p1 green nlib.crv_fit_p2 green nlib.crv_fit_p3 green nlib.crv_nurb green nlib.crv_tool_p1 green nlib.crv_tool_p2 green nlib.funcs_adv green nlib.srf_fit green nlib.srf_tool_p1 green nlib.srf_tool_p2 green nurbs.nurbs_crv green nurbs.nurbs_srf green
Soft dependents: curve.curve_cache green nlib.crv_approx green nlib.crv_geom green nlib.funcs_basic green nlib.iges green nlib.srf_adv_p2 green nlib.srf_adv_p3 green nlib.srf_adv_p4 green nlib.srf_adv_p5 green nlib.srf_adv_p6 green nlib.srf_basic green nlib.srf_nurb green nlib.srf_tool_p3 green nurbs.b_spline_curve_n_lib green nurbs.b_spline_curve_p2 green nurbs.b_spline_surface_n_lib_p1 green surface.surface_cache_p2 partial
Upstream functions
| Upstream function | Defined at | Lines | Rust (from the file header) |
|---|---|---|---|
N_KnotVectorIsParamOutOfBounds | NL_BasisBasic.cpp:55 | 18 | [KnotVector::is_param_out_of_bounds] |
N_KnotVectorIsEndParam | NL_BasisBasic.cpp:110 | 21 | [KnotVector::is_end_param] |
N_KnotVectorIsValid | NL_BasisBasic.cpp:172 | 61 | [KnotVector::validate] |
N_KnotVectorGetKnots | NL_BasisBasic.cpp:519 | 5 | [KnotVector::knots], [KnotVector::last_index] |
N_KnotVectorFromRealArray | NL_BasisBasic.cpp:557 | 8 | [KnotVector::new] |
N_SetKnotIndex | NL_BasisBasic.cpp:592 | 4 | [KnotVector::set_last_index] |
N_BasisFindSpan | NL_BasisBasic.cpp:1429 | 121 | [KnotVector::find_span] |
N_BasisFindSpanAndMult | NL_BasisBasic.cpp:1597 | 65 | [KnotVector::find_span_and_mult] |
N_BasisGetSpanCount | NL_BasisBasic.cpp:1696 | 17 | [KnotVector::span_count] |
N_BasisEval | NL_BasisBasic.cpp:2838 | 99 | [KnotVector::basis_eval] |
N_BasisIEval | NL_BasisBasic.cpp:3206 | 138 | [KnotVector::basis_i_eval] |
N_BasisIDerivs | NL_BasisBasic.cpp:3394 | 211 | [KnotVector::basis_i_derivs] |
Module file-header table (16 rows)
| Rust | Upstream |
|---|---|
[KnotVector] | NL_KNOTVECTOR |
[KnotVector::new] | N_KnotVectorFromRealArray |
[KnotVector::from_slice] | N_KnotVectorFromRealArray (m = len-1) |
[KnotVector::knots], [KnotVector::last_index] | N_KnotVectorGetKnots |
[KnotVector::set_last_index] | N_SetKnotIndex |
[KnotVector::is_param_out_of_bounds] | N_KnotVectorIsParamOutOfBounds |
[KnotVector::is_end_param] | N_KnotVectorIsEndParam |
[KnotVector::validate] | N_KnotVectorIsValid |
[KnotVector::find_span] | N_BasisFindSpan |
[KnotVector::find_span_and_mult] | N_BasisFindSpanAndMult |
[KnotVector::span_count] | N_BasisGetSpanCount |
[KnotVector::basis_eval] | N_BasisEval |
[KnotVector::basis_i_eval] | N_BasisIEval |
[KnotVector::basis_i_derivs] | N_BasisIDerivs |
[Side] | NL_LEFT / NL_RIGHT flags |
[MAX_DEGREE] | NL_MAXDEG |
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