|
fitpack
Modern Fortran library for curve and surface fitting with splines
|
C interface to module fitpack_fitters. More...
Data Types | |
| interface | f_associated |
Pointer-identity check. Returns true iff a and b view the same underlying Fortran object (their internal c_ptrs match and are non-null). Useful for C-API consumers that want object identity without exposing raw pointers — e.g. GUI panels checking whether an input view points at the same Fortran allocation as the project that owns it. More... | |
| interface | f_char |
Pointer view of a null-terminated C string: a character(:,c_char), pointer result aliasing the C buffer — no copy, no allocation. Always associated: a null, zero-length or ABSENT input yields a 0-length module sentinel, safe to pass to required character(*) dummies and to trim(). Two overloads: More... | |
| interface | f_pointer |
| interface | f_poly_pointer |
Per-consumer-module resolver(s) for polymorphic procedure args. One module procedure per abstract base any wrapper in this module consumes — colocated with the consumer so the resolver sees every bound concrete subtype known at THIS module's regen time (cross-package coverage included via the cumulative all_type_parents registry). Local (not exported); consumer wrappers call it via the local generic below. More... | |
Functions/Subroutines | |
| character(len=:, kind=c_char) function, pointer | from_c_string_ptr_cptr (c_str) |
Pointer view from a type(c_ptr) C string. Aliases the C buffer; always associated (0-length sentinel for null/empty input). The sentinel is a NUL byte viewed as zero-length, so it is simultaneously an empty Fortran string and a valid empty C string: a callee that re-derives the length with strlen (any character(len=1) :: s(*) dummy) stops at the NUL instead of reading on into adjacent statics. | |
| subroutine | c_array_to_string (scalar_len, scalar, ptr) |
| Turn array of characters to a character string. | |
| character(len=:, kind=c_char) function, pointer | from_c_string_ptr_arr (c_str) |
Pointer view from a character(*) assumed-size C buffer. The dummy is optional: an absent argument (NULL passed to the optional bind(C) dummy) maps to the 0-length sentinel — always associated, safe for required character(*) callee dummies. | |
| logical(c_bool) function, public | fitpack_fitter_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(c_ptr) function | fitpack_fitter_c_get_pointer (this) |
| Get opaque pointer to embedded Fortran object (non-allocating) Abstract types cannot use c_f_pointer; return the raw c_ptr instead. | |
| type(fitpack_curve) function, pointer | fitpack_fitter_c_get_accessor_pointer (this) |
| Concrete-typed pointer for reading base-declared components on this proxy-less abstract base. Casts the opaque handle to the first concrete child (fitpack_curve); a base component sits at the same offset in every descendant, so the read is valid for any runtime subtype. | |
| real(c_double) function, public | fitpack_fitter_c_mse (this) |
| integer(c_int32_t) function, public | fitpack_fitter_c_core_comm_size (this) |
| subroutine, public | fitpack_fitter_c_destroy_base (this) |
| subroutine, public | fitpack_fitter_c_core_comm_pack (this, n, buffer) |
| subroutine, public | fitpack_fitter_c_core_comm_expand (this, n, buffer) |
| subroutine, public | fitpack_fitter_c_getcomp_c (this, ptr, extents) |
Raw view of component 'c': 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_fitter_c_getcomp_wrk (this, ptr, extents) |
Raw view of component 'wrk': 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_fitter_c_getcomp_iwrk (this, ptr, extents) |
Raw view of component 'iwrk': 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_fitter_c_ref_iopt (this) |
| Get pointer to scalar property 'iopt'. | |
| type(c_ptr) function, public | fitpack_fitter_c_ref_smoothing (this) |
| Get pointer to scalar property 'smoothing'. | |
| type(c_ptr) function, public | fitpack_fitter_c_ref_fp (this) |
| Get pointer to scalar property 'fp'. | |
| type(c_ptr) function, public | fitpack_fitter_c_ref_lwrk (this) |
| Get pointer to scalar property 'lwrk'. | |
| type(c_ptr) function, public | fitpack_fitter_c_ref_liwrk (this) |
| Get pointer to scalar property 'liwrk'. | |
| class(fitpack_fitter) function, pointer | fitpack_fitter_c_get_poly_pointer (this) |
C interface to module fitpack_fitters.
|
private |
Turn array of characters to a character string.
| subroutine, public fitpack_fitters_c::fitpack_fitter_c_core_comm_expand | ( | type(fitpack_fitter_c), intent(inout) | this, |
| integer(c_int32_t), intent(in), value | n, | ||
| real(c_double), dimension(n), intent(in) | buffer ) |

| subroutine, public fitpack_fitters_c::fitpack_fitter_c_core_comm_pack | ( | type(fitpack_fitter_c), intent(inout) | this, |
| integer(c_int32_t), intent(in), value | n, | ||
| real(c_double), dimension(n), intent(inout) | buffer ) |

| integer(c_int32_t) function, public fitpack_fitters_c::fitpack_fitter_c_core_comm_size | ( | type(fitpack_fitter_c), intent(in) | this | ) |

| subroutine, public fitpack_fitters_c::fitpack_fitter_c_destroy_base | ( | type(fitpack_fitter_c), intent(inout) | this | ) |

|
private |
Concrete-typed pointer for reading base-declared components on this proxy-less abstract base. Casts the opaque handle to the first concrete child (fitpack_curve); a base component sits at the same offset in every descendant, so the read is valid for any runtime subtype.
|
private |
Get opaque pointer to embedded Fortran object (non-allocating) Abstract types cannot use c_f_pointer; return the raw c_ptr instead.
|
private |
| subroutine, public fitpack_fitters_c::fitpack_fitter_c_getcomp_c | ( | type(fitpack_fitter_c), intent(in) | this, |
| type(c_ptr), intent(out) | ptr, | ||
| integer(c_int64_t), dimension(1), intent(out) | extents ) |
Raw view of component 'c': 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_fitters_c::fitpack_fitter_c_getcomp_iwrk | ( | type(fitpack_fitter_c), intent(in) | this, |
| type(c_ptr), intent(out) | ptr, | ||
| integer(c_int64_t), dimension(1), intent(out) | extents ) |
Raw view of component 'iwrk': 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_fitters_c::fitpack_fitter_c_getcomp_wrk | ( | type(fitpack_fitter_c), intent(in) | this, |
| type(c_ptr), intent(out) | ptr, | ||
| integer(c_int64_t), dimension(1), intent(out) | extents ) |
Raw view of component 'wrk': 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>.

| logical(c_bool) function, public fitpack_fitters_c::fitpack_fitter_c_is_same | ( | type(fitpack_fitter_c), intent(in) | this, |
| type(fitpack_fitter_c), intent(in) | that ) |
Pointer-identity check: true iff both wrappers point to the same underlying Fortran object (and that object is allocated).
| real(c_double) function, public fitpack_fitters_c::fitpack_fitter_c_mse | ( | type(fitpack_fitter_c), intent(in) | this | ) |

| type(c_ptr) function, public fitpack_fitters_c::fitpack_fitter_c_ref_fp | ( | type(fitpack_fitter_c), intent(in) | this | ) |
Get pointer to scalar property 'fp'.

| type(c_ptr) function, public fitpack_fitters_c::fitpack_fitter_c_ref_iopt | ( | type(fitpack_fitter_c), intent(in) | this | ) |
Get pointer to scalar property 'iopt'.

| type(c_ptr) function, public fitpack_fitters_c::fitpack_fitter_c_ref_liwrk | ( | type(fitpack_fitter_c), intent(in) | this | ) |
Get pointer to scalar property 'liwrk'.

| type(c_ptr) function, public fitpack_fitters_c::fitpack_fitter_c_ref_lwrk | ( | type(fitpack_fitter_c), intent(in) | this | ) |
Get pointer to scalar property 'lwrk'.

| type(c_ptr) function, public fitpack_fitters_c::fitpack_fitter_c_ref_smoothing | ( | type(fitpack_fitter_c), intent(in) | this | ) |
Get pointer to scalar property 'smoothing'.

|
private |
Pointer view from a character(*) assumed-size C buffer. The dummy is optional: an absent argument (NULL passed to the optional bind(C) dummy) maps to the 0-length sentinel — always associated, safe for required character(*) callee dummies.
|
private |
Pointer view from a type(c_ptr) C string. Aliases the C buffer; always associated (0-length sentinel for null/empty input). The sentinel is a NUL byte viewed as zero-length, so it is simultaneously an empty Fortran string and a valid empty C string: a callee that re-derives the length with strlen (any character(len=1) :: s(*) dummy) stops at the NUL instead of reading on into adjacent statics.