|
fitpack
Modern Fortran library for curve and surface fitting with splines
|
C interface to fitpack_grid_sphere. More...
Data Types | |
| interface | f_associated |
| Pointer-identity check (Fortran-side wrapper of the bind(C) function). 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 |
| Get pointer to embedded Fortran object. More... | |
| interface | fitpack_grid_sphere_c |
| Construct from Fortran object. More... | |
Functions/Subroutines | |
| logical(c_bool) function, public | fitpack_grid_sphere_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_grid_sphere) function, pointer | fitpack_grid_sphere_c_get_pointer (this) |
| Get pointer to embedded Fortran object (non-allocating) | |
| logical function | fitpack_grid_sphere_c_pointer (this, fthis) |
| Get/allocate embedded Fortran object (internal, not bind(C)) Returns .true. on success, .false. on allocation failure. | |
| subroutine, public | fitpack_grid_sphere_c_allocate (this, status) |
| [bind(C)] Allocate new object | |
| subroutine, public | fitpack_grid_sphere_c_destroy (this, status) |
| [bind(C)] Deallocate object | |
| subroutine, public | fitpack_grid_sphere_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_grid_sphere_c_associate (this, that, status) |
| [bind(C)] Shallow copy (pointer semantics — Fortran "associate" construct) | |
| subroutine, public | fitpack_grid_sphere_c_move_alloc (to, from, status) |
| [bind(C)] Move allocation (transfer ownership) | |
| type(fitpack_grid_sphere_c) function | fitpack_grid_sphere_c_f2c (f) |
| Create from Fortran object (owns copy) | |
| type(fitpack_grid_sphere_c) function | fitpack_grid_sphere_c_fptr2c (f, want_pointer) |
| Create from Fortran object (optionally as pointer) | |
| 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. | |
| subroutine, public | fitpack_grid_sphere_c_bc_north_pole (this, z0, exact, differentiable, zero_grad) |
| BC_north_pole. | |
| subroutine, public | fitpack_grid_sphere_c_bc_south_pole (this, z0, exact, differentiable, zero_grad) |
| BC_south_pole. | |
| integer(c_int32_t) function, public | fitpack_grid_sphere_c_fit (this, smoothing, keep_knots) |
| fit | |
| integer(c_int32_t) function, public | fitpack_grid_sphere_c_least_squares (this, smoothing, reset_knots) |
| least_squares | |
| integer(c_int32_t) function, public | fitpack_grid_sphere_c_interpolate (this, reset_knots) |
| interpolate | |
| real(c_double) function, public | fitpack_grid_sphere_c_gridded_eval_one (this, u, v, ierr) |
| gridded_eval_one | |
| integer(c_int32_t) function, public | fitpack_grid_sphere_c_comm_size (this) |
| comm_size | |
| subroutine, public | fitpack_grid_sphere_c_write (this, filename) |
| write | |
| real(c_double) function, public | fitpack_grid_sphere_c_mse (this) |
| mse | |
| integer(c_int32_t) function, public | fitpack_grid_sphere_c_core_comm_size (this) |
| core_comm_size | |
| subroutine, public | fitpack_grid_sphere_c_destroy_base (this) |
| destroy_base | |
| subroutine, public | fitpack_grid_sphere_c_new_points (this, n, u, v, z_n1, z_n2, z) |
| new_points | |
| integer(c_int32_t) function, public | fitpack_grid_sphere_c_new_fit (this, n, u, v, z_n1, z_n2, z, smoothing) |
| new_fit | |
| subroutine, public | fitpack_grid_sphere_c_gridded_eval_many (this, n, u, v, ierr, result, n_result, max_size) |
| gridded_eval_many | |
| subroutine, public | fitpack_grid_sphere_c_comm_pack (this, n, buffer) |
| comm_pack | |
| subroutine, public | fitpack_grid_sphere_c_comm_expand (this, n, buffer) |
| comm_expand | |
| subroutine, public | fitpack_grid_sphere_c_core_comm_pack (this, n, buffer) |
| core_comm_pack | |
| subroutine, public | fitpack_grid_sphere_c_core_comm_expand (this, n, buffer) |
| core_comm_expand | |
| subroutine, public | fitpack_grid_sphere_c_getcomp_u (this, ptr, extents) |
Raw view of component 'u': 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_grid_sphere_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_grid_sphere_c_getcomp_z (this, ptr, extents) |
Raw view of component 'z': address of the first element, plus the component's 2 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_grid_sphere_c_getcomp_t (this, ptr, extents) |
Raw view of component 't': address of the first element, plus the component's 2 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_grid_sphere_c_ref_nmax (this) |
| Get pointer to scalar property 'nmax'. | |
C interface to fitpack_grid_sphere.
|
private |
Turn array of characters to a character string.
| subroutine, public fitpack_gridded_sphere_c::fitpack_grid_sphere_c_allocate | ( | type(fitpack_grid_sphere_c), intent(inout) | this, |
| type(fx_status), intent(out), optional | status ) |
[bind(C)] Allocate new object
| status | Optional. If absent, allocation failure triggers error stop. |

| subroutine, public fitpack_gridded_sphere_c::fitpack_grid_sphere_c_associate | ( | type(fitpack_grid_sphere_c), intent(inout) | this, |
| type(fitpack_grid_sphere_c), intent(in) | that, | ||
| type(fx_status), intent(out), optional | status ) |
[bind(C)] Shallow copy (pointer semantics — Fortran "associate" construct)
| status | Optional. If absent, errors trigger error stop. |

| subroutine, public fitpack_gridded_sphere_c::fitpack_grid_sphere_c_bc_north_pole | ( | type(fitpack_grid_sphere_c), intent(inout) | this, |
| real(c_double), intent(in), optional | z0, | ||
| logical(c_bool), intent(in), optional | exact, | ||
| logical(c_bool), intent(in), optional | differentiable, | ||
| logical(c_bool), intent(in), optional | zero_grad ) |
BC_north_pole.
| subroutine, public fitpack_gridded_sphere_c::fitpack_grid_sphere_c_bc_south_pole | ( | type(fitpack_grid_sphere_c), intent(inout) | this, |
| real(c_double), intent(in), optional | z0, | ||
| logical(c_bool), intent(in), optional | exact, | ||
| logical(c_bool), intent(in), optional | differentiable, | ||
| logical(c_bool), intent(in), optional | zero_grad ) |
BC_south_pole.
| subroutine, public fitpack_gridded_sphere_c::fitpack_grid_sphere_c_comm_expand | ( | type(fitpack_grid_sphere_c), intent(inout) | this, |
| integer(c_int32_t), intent(in), value | n, | ||
| real(c_double), dimension(n), intent(in) | buffer ) |
comm_expand
| subroutine, public fitpack_gridded_sphere_c::fitpack_grid_sphere_c_comm_pack | ( | type(fitpack_grid_sphere_c), intent(inout) | this, |
| integer(c_int32_t), intent(in), value | n, | ||
| real(c_double), dimension(n), intent(inout) | buffer ) |
comm_pack
| integer(c_int32_t) function, public fitpack_gridded_sphere_c::fitpack_grid_sphere_c_comm_size | ( | type(fitpack_grid_sphere_c), intent(in) | this | ) |
comm_size

| subroutine, public fitpack_gridded_sphere_c::fitpack_grid_sphere_c_copy | ( | type(fitpack_grid_sphere_c), intent(inout) | this, |
| type(fitpack_grid_sphere_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.
| deep_copy | When .true., always allocate a fresh Fortran object and deep-copy data, even if the source is a view. |
| status | Optional. If absent, errors trigger error stop. |

| subroutine, public fitpack_gridded_sphere_c::fitpack_grid_sphere_c_core_comm_expand | ( | type(fitpack_grid_sphere_c), intent(inout) | this, |
| integer(c_int32_t), intent(in), value | n, | ||
| real(c_double), dimension(n), intent(in) | buffer ) |
core_comm_expand
| subroutine, public fitpack_gridded_sphere_c::fitpack_grid_sphere_c_core_comm_pack | ( | type(fitpack_grid_sphere_c), intent(inout) | this, |
| integer(c_int32_t), intent(in), value | n, | ||
| real(c_double), dimension(n), intent(inout) | buffer ) |
core_comm_pack
| integer(c_int32_t) function, public fitpack_gridded_sphere_c::fitpack_grid_sphere_c_core_comm_size | ( | type(fitpack_grid_sphere_c), intent(in) | this | ) |
core_comm_size

| subroutine, public fitpack_gridded_sphere_c::fitpack_grid_sphere_c_destroy | ( | type(fitpack_grid_sphere_c), intent(inout) | this, |
| type(fx_status), intent(out), optional | status ) |
[bind(C)] Deallocate object
| status | Optional. If absent, deallocation failure triggers error stop. |

| subroutine, public fitpack_gridded_sphere_c::fitpack_grid_sphere_c_destroy_base | ( | type(fitpack_grid_sphere_c), intent(inout) | this | ) |
destroy_base
|
private |
Create from Fortran object (owns copy)
| integer(c_int32_t) function, public fitpack_gridded_sphere_c::fitpack_grid_sphere_c_fit | ( | type(fitpack_grid_sphere_c), intent(in) | this, |
| real(c_double), intent(in), optional | smoothing, | ||
| logical(c_bool), intent(in), optional | keep_knots ) |
fit

|
private |
Create from Fortran object (optionally as pointer)
|
private |
Get pointer to embedded Fortran object (non-allocating)
| subroutine, public fitpack_gridded_sphere_c::fitpack_grid_sphere_c_getcomp_t | ( | type(fitpack_grid_sphere_c), intent(in) | this, |
| type(c_ptr), intent(out) | ptr, | ||
| integer(c_int64_t), dimension(2), intent(out) | extents ) |
Raw view of component 't': address of the first element, plus the component's 2 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_gridded_sphere_c::fitpack_grid_sphere_c_getcomp_u | ( | type(fitpack_grid_sphere_c), intent(in) | this, |
| type(c_ptr), intent(out) | ptr, | ||
| integer(c_int64_t), dimension(1), intent(out) | extents ) |
Raw view of component 'u': 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_gridded_sphere_c::fitpack_grid_sphere_c_getcomp_v | ( | type(fitpack_grid_sphere_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>.
| subroutine, public fitpack_gridded_sphere_c::fitpack_grid_sphere_c_getcomp_z | ( | type(fitpack_grid_sphere_c), intent(in) | this, |
| type(c_ptr), intent(out) | ptr, | ||
| integer(c_int64_t), dimension(2), intent(out) | extents ) |
Raw view of component 'z': address of the first element, plus the component's 2 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_gridded_sphere_c::fitpack_grid_sphere_c_gridded_eval_many | ( | type(fitpack_grid_sphere_c), intent(inout) | this, |
| integer(c_int32_t), intent(in), value | n, | ||
| real(c_double), dimension(n), intent(in) | u, | ||
| real(c_double), dimension(n), intent(in) | v, | ||
| integer(c_int32_t), intent(out), optional | ierr, | ||
| real(c_double), dimension(*), intent(inout) | result, | ||
| integer(c_int32_t), intent(out) | n_result, | ||
| integer(c_int32_t), intent(in), value | max_size ) |
gridded_eval_many
| real(c_double) function, public fitpack_gridded_sphere_c::fitpack_grid_sphere_c_gridded_eval_one | ( | type(fitpack_grid_sphere_c), intent(in) | this, |
| real(c_double), intent(in), value | u, | ||
| real(c_double), intent(in), value | v, | ||
| integer(c_int32_t), intent(out), optional | ierr ) |
gridded_eval_one

| integer(c_int32_t) function, public fitpack_gridded_sphere_c::fitpack_grid_sphere_c_interpolate | ( | type(fitpack_grid_sphere_c), intent(in) | this, |
| logical(c_bool), intent(in), optional | reset_knots ) |
interpolate

| logical(c_bool) function, public fitpack_gridded_sphere_c::fitpack_grid_sphere_c_is_same | ( | type(fitpack_grid_sphere_c), intent(in) | this, |
| type(fitpack_grid_sphere_c), intent(in) | that ) |
Pointer-identity check: true iff both wrappers point to the same underlying Fortran object (and that object is allocated).
| integer(c_int32_t) function, public fitpack_gridded_sphere_c::fitpack_grid_sphere_c_least_squares | ( | type(fitpack_grid_sphere_c), intent(in) | this, |
| real(c_double), intent(in), optional | smoothing, | ||
| logical(c_bool), intent(in), optional | reset_knots ) |
least_squares

| subroutine, public fitpack_gridded_sphere_c::fitpack_grid_sphere_c_move_alloc | ( | type(fitpack_grid_sphere_c), intent(inout) | to, |
| type(fitpack_grid_sphere_c), intent(inout) | from, | ||
| type(fx_status), intent(out), optional | status ) |
[bind(C)] Move allocation (transfer ownership)
| status | Optional. If absent, errors trigger error stop. |

| real(c_double) function, public fitpack_gridded_sphere_c::fitpack_grid_sphere_c_mse | ( | type(fitpack_grid_sphere_c), intent(in) | this | ) |
mse

| integer(c_int32_t) function, public fitpack_gridded_sphere_c::fitpack_grid_sphere_c_new_fit | ( | type(fitpack_grid_sphere_c), intent(in) | this, |
| integer(c_int32_t), intent(in), value | n, | ||
| real(c_double), dimension(n), intent(in) | u, | ||
| real(c_double), dimension(n), intent(in) | v, | ||
| integer(c_int32_t), intent(in), value | z_n1, | ||
| integer(c_int32_t), intent(in), value | z_n2, | ||
| real(c_double), dimension(z_n1, z_n2), intent(in) | z, | ||
| real(c_double), intent(in), optional | smoothing ) |
new_fit

| subroutine, public fitpack_gridded_sphere_c::fitpack_grid_sphere_c_new_points | ( | type(fitpack_grid_sphere_c), intent(inout) | this, |
| integer(c_int32_t), intent(in), value | n, | ||
| real(c_double), dimension(n), intent(in) | u, | ||
| real(c_double), dimension(n), intent(in) | v, | ||
| integer(c_int32_t), intent(in), value | z_n1, | ||
| integer(c_int32_t), intent(in), value | z_n2, | ||
| real(c_double), dimension(z_n1, z_n2), intent(in) | z ) |
new_points
|
private |
Get/allocate embedded Fortran object (internal, not bind(C)) Returns .true. on success, .false. on allocation failure.
| type(c_ptr) function, public fitpack_gridded_sphere_c::fitpack_grid_sphere_c_ref_nmax | ( | type(fitpack_grid_sphere_c), intent(in) | this | ) |
Get pointer to scalar property 'nmax'.

| subroutine, public fitpack_gridded_sphere_c::fitpack_grid_sphere_c_write | ( | type(fitpack_grid_sphere_c), intent(inout) | this, |
| character(kind=c_char), dimension(*), intent(in), optional, target | filename ) |
write
|
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.