@@ -327,7 +327,7 @@ end function fitpack_parametric_curve_c_mse
327327 ! > Get begin endpoint
328328 real (FP_REAL) function fitpack_parametric_curve_c_ubegin(this) &
329329 bind(c,name= ' fitpack_parametric_curve_c_ubegin' )
330- type (fitpack_parametric_curve_c), intent (inout ) :: this
330+ type (fitpack_parametric_curve_c), intent (in ) :: this
331331
332332 type (fitpack_parametric_curve), pointer :: fcurve
333333
@@ -345,7 +345,7 @@ end function fitpack_parametric_curve_c_ubegin
345345 ! > Get end endpoint
346346 real (FP_REAL) function fitpack_parametric_curve_c_uend(this) &
347347 bind(c,name= ' fitpack_parametric_curve_c_uend' )
348- type (fitpack_parametric_curve_c), intent (inout ) :: this
348+ type (fitpack_parametric_curve_c), intent (in ) :: this
349349
350350 type (fitpack_parametric_curve), pointer :: fcurve
351351
@@ -360,6 +360,43 @@ real(FP_REAL) function fitpack_parametric_curve_c_uend(this) &
360360
361361 end function fitpack_parametric_curve_c_uend
362362
363+ ! > Get a reference to begin endpoint
364+ type (c_ptr) function fitpack_parametric_curve_c_ubegin_ref(this,ubegin) &
365+ bind(c,name= ' fitpack_parametric_curve_c_ubegin_ref' ) result(ptr)
366+ type (fitpack_parametric_curve_c), intent (inout ) :: this
367+ type (c_ptr), intent (out ) :: ubegin
368+
369+ type (fitpack_parametric_curve), pointer :: fcurve
370+
371+ ! > Get object; allocate it in case
372+ call fitpack_parametric_curve_c_get_pointer(this,fcurve)
373+
374+ if (associated (fcurve)) then
375+ ptr = c_loc(fcurve% ubegin)
376+ else
377+ ptr = c_null_ptr
378+ end if
379+
380+ end function fitpack_parametric_curve_c_ubegin_ref
381+
382+ ! > Get end endpoint
383+ type (c_ptr) function fitpack_parametric_curve_c_uend_ref(this) &
384+ bind(c,name= ' fitpack_parametric_curve_c_uend_ref' ) result(ptr)
385+ type (fitpack_parametric_curve_c), intent (inout ) :: this
386+
387+ type (fitpack_parametric_curve), pointer :: fcurve
388+
389+ ! > Get object; allocate it in case
390+ call fitpack_parametric_curve_c_get_pointer(this,fcurve)
391+
392+ if (associated (fcurve)) then
393+ ptr = c_loc(fcurve% uend)
394+ else
395+ ptr = c_null_ptr
396+ end if
397+
398+ end function fitpack_parametric_curve_c_uend_ref
399+
363400 ! > Get spline degree
364401 integer (FP_SIZE) function fitpack_parametric_curve_c_degree(this) &
365402 bind(c,name= ' fitpack_parametric_curve_c_degree' )
0 commit comments