fitpack
Modern Fortran library for curve and surface fitting with splines
Loading...
Searching...
No Matches
fitpack_convex_curves_c Module Reference

C interface to fitpack_convex_curve. More...

Data Types

interface  f_associated
 Pointer-identity check (Fortran-side wrapper of the bind(C) function). More...
 
interface  f_pointer
 Get pointer to embedded Fortran object. More...
 
interface  fitpack_convex_curve_c
 Construct from Fortran object. More...
 

Functions/Subroutines

logical(c_bool) function, public fitpack_convex_curve_c_is_same (this, that)
 Pointer-identity check: true iff both wrappers point to the same underlying Fortran object (and that object is allocated).
 
type(fitpack_convex_curve) function, pointer fitpack_convex_curve_c_get_pointer (this)
 Get pointer to embedded Fortran object (non-allocating)
 
logical function fitpack_convex_curve_c_pointer (this, fthis)
 Get/allocate embedded Fortran object (internal, not bind(C)) Returns .true. on success, .false. on allocation failure.
 
subroutine, public fitpack_convex_curve_c_allocate (this, status)
 [bind(C)] Allocate new object
 
subroutine, public fitpack_convex_curve_c_destroy (this, status)
 [bind(C)] Deallocate object
 
subroutine, public fitpack_convex_curve_c_copy (this, that, deep_copy, status)
 [bind(C)] Copy. By default, mirrors source ownership: a view source yields a view (shallow handle copy); an owned source yields a deep copy via Fortran intrinsic assignment. Pass deep_copy=.true. to force a deep copy regardless of the source's ownership.
 
subroutine, public fitpack_convex_curve_c_associate (this, that, status)
 [bind(C)] Shallow copy (pointer semantics — Fortran "associate" construct)
 
subroutine, public fitpack_convex_curve_c_move_alloc (to, from, status)
 [bind(C)] Move allocation (transfer ownership)
 
type(fitpack_convex_curve_c) function fitpack_convex_curve_c_f2c (f)
 Create from Fortran object (owns copy)
 
type(fitpack_convex_curve_c) function fitpack_convex_curve_c_fptr2c (f, want_pointer)
 Create from Fortran object (optionally as pointer)
 
integer(c_int32_t) function, public fitpack_convex_curve_c_fit (this, smoothing, order, keep_knots)
 fit
 
integer(c_int32_t) function, public fitpack_convex_curve_c_least_squares (this, smoothing, reset_knots)
 least_squares
 
integer(c_int32_t) function, public fitpack_convex_curve_c_comm_size (this)
 comm_size
 
real(c_double) function, public fitpack_convex_curve_c_mse (this)
 mse
 
integer(c_int32_t) function, public fitpack_convex_curve_c_core_comm_size (this)
 core_comm_size
 
subroutine, public fitpack_convex_curve_c_destroy_base (this)
 destroy_base
 
subroutine, public fitpack_convex_curve_c_new_points (this, n, x, y, w)
 new_points
 
integer(c_int32_t) function, public fitpack_convex_curve_c_set_convexity (this, n, v)
 set_convexity
 
subroutine, public fitpack_convex_curve_c_comm_pack (this, n, buffer)
 comm_pack
 
subroutine, public fitpack_convex_curve_c_comm_expand (this, n, buffer)
 comm_expand
 
subroutine, public fitpack_convex_curve_c_core_comm_pack (this, n, buffer)
 core_comm_pack
 
subroutine, public fitpack_convex_curve_c_core_comm_expand (this, n, buffer)
 core_comm_expand
 
subroutine, public fitpack_convex_curve_c_getcomp_v (this, ptr, extents)
 Raw view of component 'v': address of the first element, plus the component's 1 extent(s). Null pointer and zero extents when the object or the component is unallocated; an allocated but zero-sized component still reports its true shape, but has no representable address. Symbol uses the getcomp_ infix (not get_) so it can never collide with a type-bound procedure named get_<component>.
 
subroutine, public fitpack_convex_curve_c_getcomp_sx (this, ptr, extents)
 Raw view of component 'sx': address of the first element, plus the component's 1 extent(s). Null pointer and zero extents when the object or the component is unallocated; an allocated but zero-sized component still reports its true shape, but has no representable address. Symbol uses the getcomp_ infix (not get_) so it can never collide with a type-bound procedure named get_<component>.
 
type(c_ptr) function, public fitpack_convex_curve_c_ref_maxtr (this)
 Get pointer to scalar property 'maxtr'.
 
type(c_ptr) function, public fitpack_convex_curve_c_ref_maxbin (this)
 Get pointer to scalar property 'maxbin'.
 

Detailed Description

C interface to fitpack_convex_curve.

Function/Subroutine Documentation

◆ fitpack_convex_curve_c_allocate()

subroutine, public fitpack_convex_curves_c::fitpack_convex_curve_c_allocate ( type(fitpack_convex_curve_c), intent(inout) this,
type(fx_status), intent(out), optional status )

[bind(C)] Allocate new object

Parameters
statusOptional. If absent, allocation failure triggers error stop.
Here is the call graph for this function:

◆ fitpack_convex_curve_c_associate()

subroutine, public fitpack_convex_curves_c::fitpack_convex_curve_c_associate ( type(fitpack_convex_curve_c), intent(inout) this,
type(fitpack_convex_curve_c), intent(in) that,
type(fx_status), intent(out), optional status )

[bind(C)] Shallow copy (pointer semantics — Fortran "associate" construct)

Parameters
statusOptional. If absent, errors trigger error stop.
Here is the call graph for this function:

◆ fitpack_convex_curve_c_comm_expand()

subroutine, public fitpack_convex_curves_c::fitpack_convex_curve_c_comm_expand ( type(fitpack_convex_curve_c), intent(inout) this,
integer(c_int32_t), intent(in), value n,
real(c_double), dimension(n), intent(in) buffer )

comm_expand

◆ fitpack_convex_curve_c_comm_pack()

subroutine, public fitpack_convex_curves_c::fitpack_convex_curve_c_comm_pack ( type(fitpack_convex_curve_c), intent(inout) this,
integer(c_int32_t), intent(in), value n,
real(c_double), dimension(n), intent(inout) buffer )

comm_pack

◆ fitpack_convex_curve_c_comm_size()

integer(c_int32_t) function, public fitpack_convex_curves_c::fitpack_convex_curve_c_comm_size ( type(fitpack_convex_curve_c), intent(in) this)

comm_size

Here is the call graph for this function:

◆ fitpack_convex_curve_c_copy()

subroutine, public fitpack_convex_curves_c::fitpack_convex_curve_c_copy ( type(fitpack_convex_curve_c), intent(inout) this,
type(fitpack_convex_curve_c), intent(in) that,
logical(c_bool), intent(in), value deep_copy,
type(fx_status), intent(out), optional status )

[bind(C)] Copy. By default, mirrors source ownership: a view source yields a view (shallow handle copy); an owned source yields a deep copy via Fortran intrinsic assignment. Pass deep_copy=.true. to force a deep copy regardless of the source's ownership.

Parameters
deep_copyWhen .true., always allocate a fresh Fortran object and deep-copy data, even if the source is a view.
statusOptional. If absent, errors trigger error stop.
Here is the call graph for this function:

◆ fitpack_convex_curve_c_core_comm_expand()

subroutine, public fitpack_convex_curves_c::fitpack_convex_curve_c_core_comm_expand ( type(fitpack_convex_curve_c), intent(inout) this,
integer(c_int32_t), intent(in), value n,
real(c_double), dimension(n), intent(in) buffer )

core_comm_expand

◆ fitpack_convex_curve_c_core_comm_pack()

subroutine, public fitpack_convex_curves_c::fitpack_convex_curve_c_core_comm_pack ( type(fitpack_convex_curve_c), intent(inout) this,
integer(c_int32_t), intent(in), value n,
real(c_double), dimension(n), intent(inout) buffer )

core_comm_pack

◆ fitpack_convex_curve_c_core_comm_size()

integer(c_int32_t) function, public fitpack_convex_curves_c::fitpack_convex_curve_c_core_comm_size ( type(fitpack_convex_curve_c), intent(in) this)

core_comm_size

Here is the call graph for this function:

◆ fitpack_convex_curve_c_destroy()

subroutine, public fitpack_convex_curves_c::fitpack_convex_curve_c_destroy ( type(fitpack_convex_curve_c), intent(inout) this,
type(fx_status), intent(out), optional status )

[bind(C)] Deallocate object

Parameters
statusOptional. If absent, deallocation failure triggers error stop.
Here is the call graph for this function:

◆ fitpack_convex_curve_c_destroy_base()

subroutine, public fitpack_convex_curves_c::fitpack_convex_curve_c_destroy_base ( type(fitpack_convex_curve_c), intent(inout) this)

destroy_base

◆ fitpack_convex_curve_c_f2c()

type(fitpack_convex_curve_c) function fitpack_convex_curves_c::fitpack_convex_curve_c_f2c ( type(fitpack_convex_curve), intent(in) f)
private

Create from Fortran object (owns copy)

◆ fitpack_convex_curve_c_fit()

integer(c_int32_t) function, public fitpack_convex_curves_c::fitpack_convex_curve_c_fit ( type(fitpack_convex_curve_c), intent(in) this,
real(c_double), intent(in), optional smoothing,
integer(c_int32_t), intent(in), optional order,
logical(c_bool), intent(in), optional keep_knots )

fit

Here is the call graph for this function:

◆ fitpack_convex_curve_c_fptr2c()

type(fitpack_convex_curve_c) function fitpack_convex_curves_c::fitpack_convex_curve_c_fptr2c ( type(fitpack_convex_curve), intent(inout), target f,
logical, intent(in) want_pointer )
private

Create from Fortran object (optionally as pointer)

◆ fitpack_convex_curve_c_get_pointer()

type(fitpack_convex_curve) function, pointer fitpack_convex_curves_c::fitpack_convex_curve_c_get_pointer ( type(fitpack_convex_curve_c), intent(in) this)
private

Get pointer to embedded Fortran object (non-allocating)

◆ fitpack_convex_curve_c_getcomp_sx()

subroutine, public fitpack_convex_curves_c::fitpack_convex_curve_c_getcomp_sx ( type(fitpack_convex_curve_c), intent(in) this,
type(c_ptr), intent(out) ptr,
integer(c_int64_t), dimension(1), intent(out) extents )

Raw view of component 'sx': address of the first element, plus the component's 1 extent(s). Null pointer and zero extents when the object or the component is unallocated; an allocated but zero-sized component still reports its true shape, but has no representable address. Symbol uses the getcomp_ infix (not get_) so it can never collide with a type-bound procedure named get_<component>.

◆ fitpack_convex_curve_c_getcomp_v()

subroutine, public fitpack_convex_curves_c::fitpack_convex_curve_c_getcomp_v ( type(fitpack_convex_curve_c), intent(in) this,
type(c_ptr), intent(out) ptr,
integer(c_int64_t), dimension(1), intent(out) extents )

Raw view of component 'v': address of the first element, plus the component's 1 extent(s). Null pointer and zero extents when the object or the component is unallocated; an allocated but zero-sized component still reports its true shape, but has no representable address. Symbol uses the getcomp_ infix (not get_) so it can never collide with a type-bound procedure named get_<component>.

◆ fitpack_convex_curve_c_is_same()

logical(c_bool) function, public fitpack_convex_curves_c::fitpack_convex_curve_c_is_same ( type(fitpack_convex_curve_c), intent(in) this,
type(fitpack_convex_curve_c), intent(in) that )

Pointer-identity check: true iff both wrappers point to the same underlying Fortran object (and that object is allocated).

◆ fitpack_convex_curve_c_least_squares()

integer(c_int32_t) function, public fitpack_convex_curves_c::fitpack_convex_curve_c_least_squares ( type(fitpack_convex_curve_c), intent(in) this,
real(c_double), intent(in), optional smoothing,
logical(c_bool), intent(in), optional reset_knots )

least_squares

Here is the call graph for this function:

◆ fitpack_convex_curve_c_move_alloc()

subroutine, public fitpack_convex_curves_c::fitpack_convex_curve_c_move_alloc ( type(fitpack_convex_curve_c), intent(inout) to,
type(fitpack_convex_curve_c), intent(inout) from,
type(fx_status), intent(out), optional status )

[bind(C)] Move allocation (transfer ownership)

Parameters
statusOptional. If absent, errors trigger error stop.
Here is the call graph for this function:

◆ fitpack_convex_curve_c_mse()

real(c_double) function, public fitpack_convex_curves_c::fitpack_convex_curve_c_mse ( type(fitpack_convex_curve_c), intent(in) this)

mse

Here is the call graph for this function:

◆ fitpack_convex_curve_c_new_points()

subroutine, public fitpack_convex_curves_c::fitpack_convex_curve_c_new_points ( type(fitpack_convex_curve_c), intent(inout) this,
integer(c_int32_t), intent(in), value n,
real(c_double), dimension(n), intent(in) x,
real(c_double), dimension(n), intent(in) y,
real(c_double), dimension(n), intent(in), optional w )

new_points

◆ fitpack_convex_curve_c_pointer()

logical function fitpack_convex_curves_c::fitpack_convex_curve_c_pointer ( type(fitpack_convex_curve_c), intent(inout) this,
type(fitpack_convex_curve), intent(inout), pointer fthis )
private

Get/allocate embedded Fortran object (internal, not bind(C)) Returns .true. on success, .false. on allocation failure.

◆ fitpack_convex_curve_c_ref_maxbin()

type(c_ptr) function, public fitpack_convex_curves_c::fitpack_convex_curve_c_ref_maxbin ( type(fitpack_convex_curve_c), intent(in) this)

Get pointer to scalar property 'maxbin'.

Here is the call graph for this function:

◆ fitpack_convex_curve_c_ref_maxtr()

type(c_ptr) function, public fitpack_convex_curves_c::fitpack_convex_curve_c_ref_maxtr ( type(fitpack_convex_curve_c), intent(in) this)

Get pointer to scalar property 'maxtr'.

Here is the call graph for this function:

◆ fitpack_convex_curve_c_set_convexity()

integer(c_int32_t) function, public fitpack_convex_curves_c::fitpack_convex_curve_c_set_convexity ( type(fitpack_convex_curve_c), intent(in) this,
integer(c_int32_t), intent(in), value n,
real(c_double), dimension(n), intent(in) v )

set_convexity

Here is the call graph for this function: