solidcore

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 functionDefined atLinesRust (from the file header)
N_CrvIsFuncSizedNL_FuncsBasic.cpp:4718[CurveFunction::is_sized]
N_CValueFromArrayNL_FuncsBasic.cpp:2965[CurveFunction::new], [CurveFunction::with_indices]
N_CFuncFromKnotVectorNL_FuncsBasic.cpp:6136[CurveFunction::new], [CurveFunction::with_indices]
N_CrvAreFuncArraysNULLNL_FuncsBasic.cpp:71723None / Option::is_none on Option<CurveFunction>
N_CFuncInitArraysNL_FuncsBasic.cpp:8376None / Option::is_none on Option<CurveFunction>
N_CFuncSetSizeIndicesNL_FuncsBasic.cpp:8746[CurveFunction::set_size_indices]
N_CFuncSizeArraysNL_FuncsBasic.cpp:92227[CurveFunction::size_arrays]
N_CrvFuncCompactNL_FuncsBasic.cpp:98546[CurveFunction::compact]
N_CFuncGetArrayAndKnotVectorNL_FuncsBasic.cpp:13116the accessors above
N_CrvFuncCntrlValKnotVectorNL_FuncsBasic.cpp:13486the accessors above
N_CFuncGetArraySizesNL_FuncsBasic.cpp:13825[CurveFunction::array_sizes], [CurveFunction::n], [CurveFunction::m]
N_CFuncGetKnotVectorNL_FuncsBasic.cpp:14504[CurveFunction::knot_vector]
N_CFuncGetDegreeNL_FuncsBasic.cpp:14814[CurveFunction::degree]
N_CrvFuncCntrlValKnotsNL_FuncsBasic.cpp:15135[CurveFunction::values], [CurveFunction::knots], [CurveFunction::values_mut], [CurveFunction::knots_mut]
N_CFuncGetDataNL_FuncsBasic.cpp:15528the accessors above
N_CrvFuncSetPtrsNL_FuncsBasic.cpp:15885[CurveFunction::set_arrays]
N_CFuncEvalNL_FuncsBasic.cpp:163062[CurveFunction::eval]
N_CFuncDerivsNL_FuncsBasic.cpp:173663[CurveFunction::derivs]
N_SrfIsFuncSizedNL_FuncsBasic.cpp:183322[SurfaceFunction::is_sized]
N_SValueFromArrayNL_FuncsBasic.cpp:20866[SurfaceFunction::new], [SurfaceFunction::with_indices]
N_SFuncFromKnotVectorsNL_FuncsBasic.cpp:24608[SurfaceFunction::new], [SurfaceFunction::with_indices]
N_SrfAreFuncArraysNULLNL_FuncsBasic.cpp:257223None / Option::is_none on Option<SurfaceFunction>
N_SFuncInitArraysNL_FuncsBasic.cpp:26928None / Option::is_none on Option<SurfaceFunction>
N_SFuncSetSizeIndicesNL_FuncsBasic.cpp:27309[SurfaceFunction::set_size_indices]
N_SFuncSizeArraysNL_FuncsBasic.cpp:277927[SurfaceFunction::size_arrays]
N_SFuncGetKnotsNL_FuncsBasic.cpp:31516[SurfaceFunction::u_knots], [SurfaceFunction::v_knots]
N_SrfFuncCntrlValNL_FuncsBasic.cpp:31866[SurfaceFunction::rows], [SurfaceFunction::value]
N_SFuncGetKnotVectorsNL_FuncsBasic.cpp:33435[SurfaceFunction::knot_vectors]
N_SFuncGetDegreesNL_FuncsBasic.cpp:33755[SurfaceFunction::degrees]
N_SFuncGetArraySizesNL_FuncsBasic.cpp:34087[SurfaceFunction::array_sizes]
N_SFuncGetArrayAndKnotVectorsNL_FuncsBasic.cpp:34468the accessors above
N_SrfFuncEvalPtNL_FuncsBasic.cpp:352693[SurfaceFunction::eval]
Module file-header table (28 rows)
RustUpstream
[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 aboveN_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 aboveN_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