Units / nurbs
nlib.crv_adv_p1 green
- Layer
- 8
- Upstream lines
- 2,031
- Functions
- 7
- Rust module
nurbs::crv_adv::p1
Source: crates/solidcore/src/nurbs/crv_adv/p1.rs
Upstream: source/SMLib/src/NL_CrvAdv.cpp
Notes
difftest: 2670 cases (670 fixtures on the six pt_TestFiles .smc curves, SM_API_test rectangle/hexagon edges and edge cases + 2000 generated), 2670 pass bit-for-bit, 0 deferred; 100,670-case run clean; no UNPORTED(nlib.crv_adv_p1) stubs to wire; ST_curxcdr/ST_curxcrr ported as Curve::extend_by_dist_at_depth / extend_by_param_dist_at_depth (wrappers N_CrvExtendBy* are in nlib.crv_adv_p2); in-place ST_curxcrr G2 recursion frees an uninitialised curve upstream (findings.md); 7 fns; largest: ST_curxcdr, ST_curxcrr, N_CrvEvalEvenSpacedPts, N_CrvGetMax2ndDeriv
Difftest
- Cases
- 2,670
- Passed
- 2,670
- Deferred
- 0
- Failed
- 0
- Both errored
- 0
- 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: nlib.crv_basic green nlib.crv_nurb green nlib.crv_tool_p1 green nlib.geom green nlib.knots green nlib.math green
Soft dependencies: nlib.basis_basic green nlib.crv_geom green
Dependents: nlib.crv_adv_p2 green
Soft dependents: nlib.crv_approx green nlib.srf_adv_p3 green nlib.srf_adv_p5 green nurbs.b_spline_curve_n_lib green
Upstream functions
| Upstream function | Defined at | Lines | Rust (from the file header) |
|---|---|---|---|
N_CrvEvalPt | NL_CrvAdv.cpp:74 | 63 | [Curve::eval_pt] |
N_CrvDerivsAtKnot | NL_CrvAdv.cpp:181 | 66 | [Curve::derivs_at_knot] |
N_CrvEvalEvenSpacedPts | NL_CrvAdv.cpp:391 | 167 | [Curve::eval_even_spaced_pts], [EvenSpacedPts] |
ST_curxcdr | NL_CrvAdv.cpp:640 | 958 | [Curve::extend_by_dist_at_depth] |
N_CrvGetMax2ndDeriv | NL_CrvAdv.cpp:3059 | 74 | [Curve::max_2nd_deriv] |
N_CrvPlanarOffsetGetDeriv | NL_CrvAdv.cpp:3184 | 55 | [Curve::planar_offset_derivs] |
ST_curxcrr | NL_CrvAdv.cpp:3540 | 648 | [Curve::extend_by_param_dist_at_depth] |
Module file-header table (11 rows)
| Rust | Upstream |
|---|---|
[Curve::eval_pt] | N_CrvEvalPt |
[Curve::derivs_at_knot] | N_CrvDerivsAtKnot |
[Curve::eval_even_spaced_pts], [EvenSpacedPts] | N_CrvEvalEvenSpacedPts |
[Curve::max_2nd_deriv] | N_CrvGetMax2ndDeriv |
[Curve::planar_offset_derivs] | N_CrvPlanarOffsetGetDeriv |
[Curve::extend_by_dist_at_depth] | ST_curxcdr (file-private) |
[Curve::extend_by_param_dist_at_depth] | ST_curxcrr (file-private) |
[CurveEnd] | NL_START / NL_END |
[Continuity] | NL_G1 / NL_G2 / NL_CMAX |
[KNOT_TOL] | KN_TOL (file-private) |
[MAX_DIST_DEPTH], [MAX_PARAM_DEPTH] | recursion limits of ST_curxcdr / ST_curxcrr |
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