Units / nurbs
nlib.funcs_basic green
- Layer
- 3
- Upstream lines
- 538
- Functions
- 32
- Rust module
nurbs::funcs_basic
Source: crates/solidcore/src/nurbs/funcs_basic.rs
Upstream: source/SMLib/src/NL_FuncsBasic.cpp
Notes
32 fns; largest: N_SrfFuncEvalPt, N_CFuncDerivs, N_CFuncEval, N_CrvFuncCompact; 160 upstream test entry points reach this unit; GREEN: difftest 3130 cases (130 fixture + 3000 generated), 0 deferred, bit-identical (max_rel_err 0); 50k-seed run clean; no UNPORTED stubs to wire
Difftest
- Cases
- 3,130
- Passed
- 3,130
- 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: none
Soft dependencies: nlib.basis_basic green nlib.knots green
Dependents: nlib.crv_adv_p2 green nlib.crv_approx green nlib.crv_basic green nlib.funcs_adv green nlib.srf_adv_p6 green nlib.srf_fit green
Soft dependents: nlib.crv_fit_p2 green nlib.srf_adv_p1 green nlib.srf_adv_p4 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_CrvIsFuncSized | NL_FuncsBasic.cpp:47 | 18 | [CurveFunction::is_sized] |
N_CValueFromArray | NL_FuncsBasic.cpp:296 | 5 | [CurveFunction::new], [CurveFunction::with_indices] |
N_CFuncFromKnotVector | NL_FuncsBasic.cpp:613 | 6 | [CurveFunction::new], [CurveFunction::with_indices] |
N_CrvAreFuncArraysNULL | NL_FuncsBasic.cpp:717 | 23 | None / Option::is_none on Option<CurveFunction> |
N_CFuncInitArrays | NL_FuncsBasic.cpp:837 | 6 | None / Option::is_none on Option<CurveFunction> |
N_CFuncSetSizeIndices | NL_FuncsBasic.cpp:874 | 6 | [CurveFunction::set_size_indices] |
N_CFuncSizeArrays | NL_FuncsBasic.cpp:922 | 27 | [CurveFunction::size_arrays] |
N_CrvFuncCompact | NL_FuncsBasic.cpp:985 | 46 | [CurveFunction::compact] |
N_CFuncGetArrayAndKnotVector | NL_FuncsBasic.cpp:1311 | 6 | the accessors above |
N_CrvFuncCntrlValKnotVector | NL_FuncsBasic.cpp:1348 | 6 | the accessors above |
N_CFuncGetArraySizes | NL_FuncsBasic.cpp:1382 | 5 | [CurveFunction::array_sizes], [CurveFunction::n], [CurveFunction::m] |
N_CFuncGetKnotVector | NL_FuncsBasic.cpp:1450 | 4 | [CurveFunction::knot_vector] |
N_CFuncGetDegree | NL_FuncsBasic.cpp:1481 | 4 | [CurveFunction::degree] |
N_CrvFuncCntrlValKnots | NL_FuncsBasic.cpp:1513 | 5 | [CurveFunction::values], [CurveFunction::knots], [CurveFunction::values_mut], [CurveFunction::knots_mut] |
N_CFuncGetData | NL_FuncsBasic.cpp:1552 | 8 | the accessors above |
N_CrvFuncSetPtrs | NL_FuncsBasic.cpp:1588 | 5 | [CurveFunction::set_arrays] |
N_CFuncEval | NL_FuncsBasic.cpp:1630 | 62 | [CurveFunction::eval] |
N_CFuncDerivs | NL_FuncsBasic.cpp:1736 | 63 | [CurveFunction::derivs] |
N_SrfIsFuncSized | NL_FuncsBasic.cpp:1833 | 22 | [SurfaceFunction::is_sized] |
N_SValueFromArray | NL_FuncsBasic.cpp:2086 | 6 | [SurfaceFunction::new], [SurfaceFunction::with_indices] |
N_SFuncFromKnotVectors | NL_FuncsBasic.cpp:2460 | 8 | [SurfaceFunction::new], [SurfaceFunction::with_indices] |
N_SrfAreFuncArraysNULL | NL_FuncsBasic.cpp:2572 | 23 | None / Option::is_none on Option<SurfaceFunction> |
N_SFuncInitArrays | NL_FuncsBasic.cpp:2692 | 8 | None / Option::is_none on Option<SurfaceFunction> |
N_SFuncSetSizeIndices | NL_FuncsBasic.cpp:2730 | 9 | [SurfaceFunction::set_size_indices] |
N_SFuncSizeArrays | NL_FuncsBasic.cpp:2779 | 27 | [SurfaceFunction::size_arrays] |
N_SFuncGetKnots | NL_FuncsBasic.cpp:3151 | 6 | [SurfaceFunction::u_knots], [SurfaceFunction::v_knots] |
N_SrfFuncCntrlVal | NL_FuncsBasic.cpp:3186 | 6 | [SurfaceFunction::rows], [SurfaceFunction::value] |
N_SFuncGetKnotVectors | NL_FuncsBasic.cpp:3343 | 5 | [SurfaceFunction::knot_vectors] |
N_SFuncGetDegrees | NL_FuncsBasic.cpp:3375 | 5 | [SurfaceFunction::degrees] |
N_SFuncGetArraySizes | NL_FuncsBasic.cpp:3408 | 7 | [SurfaceFunction::array_sizes] |
N_SFuncGetArrayAndKnotVectors | NL_FuncsBasic.cpp:3446 | 8 | the accessors above |
N_SrfFuncEvalPt | NL_FuncsBasic.cpp:3526 | 93 | [SurfaceFunction::eval] |
Module file-header table (28 rows)
| Rust | Upstream |
|---|---|
[CurveFunction] | NL_CFUN (with its NL_CVALUE and NL_KNOTVECTOR) |
[CurveFunction::new], [CurveFunction::with_indices] | N_CFuncFromKnotVector + N_CValueFromArray |
[CurveFunction::is_sized] | N_CrvIsFuncSized |
None / Option::is_none on Option<CurveFunction> | N_CFuncInitArrays / N_CrvAreFuncArraysNULL |
[CurveFunction::set_size_indices] | N_CFuncSetSizeIndices |
[CurveFunction::size_arrays] | N_CFuncSizeArrays |
[CurveFunction::compact] | N_CrvFuncCompact |
[CurveFunction::set_arrays] | N_CrvFuncSetPtrs |
[CurveFunction::array_sizes], [CurveFunction::n], [CurveFunction::m] | N_CFuncGetArraySizes |
[CurveFunction::degree] | N_CFuncGetDegree |
[CurveFunction::knot_vector] | N_CFuncGetKnotVector |
[CurveFunction::values], [CurveFunction::knots], [CurveFunction::values_mut], [CurveFunction::knots_mut] | N_CrvFuncCntrlValKnots |
| the accessors above | N_CFuncGetArrayAndKnotVector, N_CrvFuncCntrlValKnotVector, N_CFuncGetData |
[CurveFunction::eval] | N_CFuncEval |
[CurveFunction::derivs] | N_CFuncDerivs |
[SurfaceFunction] | NL_SFUN (with its NL_SVALUE and NL_KNOTVECTORs) |
[SurfaceFunction::new], [SurfaceFunction::with_indices] | N_SFuncFromKnotVectors + N_SValueFromArray |
[SurfaceFunction::is_sized] | N_SrfIsFuncSized |
None / Option::is_none on Option<SurfaceFunction> | N_SFuncInitArrays / N_SrfAreFuncArraysNULL |
[SurfaceFunction::set_size_indices] | N_SFuncSetSizeIndices |
[SurfaceFunction::size_arrays] | N_SFuncSizeArrays |
[SurfaceFunction::array_sizes] | N_SFuncGetArraySizes |
[SurfaceFunction::degrees] | N_SFuncGetDegrees |
[SurfaceFunction::knot_vectors] | N_SFuncGetKnotVectors |
[SurfaceFunction::rows], [SurfaceFunction::value] | N_SrfFuncCntrlVal |
[SurfaceFunction::u_knots], [SurfaceFunction::v_knots] | N_SFuncGetKnots |
| the accessors above | N_SFuncGetArrayAndKnotVectors |
[SurfaceFunction::eval] | N_SrfFuncEvalPt |
Upstream tests reaching this unit
SM_API_test:TestSmCreateSurfaceFromPoints, SM_API_test:TestSmCreateSkinSurface, SM_API_test:TestSmCreateExtrude, SM_API_test:TestSmCreateSkinFromFaces, SM_API_test:TestSmCreateSkinPrimitive, prog_test:my_test_parallel_projection