fossil_implicit_points
Source: src/lib/fossil_implicit_points.f90
Dependencies
Contents
- implicit_point_t
- rerr_t
- expn_t
- operator(+)
- operator(-)
- operator(*)
- homog_r
- homog_x
- grow
- split3
- sort3
- ip_explicit
- ip_lpi
- ip_ssi
- ip_eei
- ip_same
- ip_approx
- ip_orient3d
- ip_orient2d
- ip_compare
- ip_lex_compare
- ip_identity_compare
- ip_rank
- det3_r
- det3_x
- r_of
- r_add
- r_sub
- r_mul
- r_sign
- x_of
- x_add
- x_sub
- x_mul
- x_sign
- x_estimate
- truncate18
- same_plane
- collinear_by_construction
- rsgn
- lex_less
Variables
| Name | Type | Attributes | Description |
|---|---|---|---|
IPK_EXPLICIT | integer(kind=I4P) | parameter | |
IPK_LPI | integer(kind=I4P) | parameter | |
IPK_SSI | integer(kind=I4P) | parameter | |
IPK_EEI | integer(kind=I4P) | parameter | |
U_ROUND | real(kind=R8P) | parameter |
Derived Types
implicit_point_t
Components
| Name | Type | Attributes | Description |
|---|---|---|---|
kind | integer(kind=I4P) | ||
v | real(kind=R8P) | ||
drop | integer(kind=I4P) |
rerr_t
Components
| Name | Type | Attributes | Description |
|---|---|---|---|
v | real(kind=R8P) | ||
e | real(kind=R8P) |
expn_t
Components
| Name | Type | Attributes | Description |
|---|---|---|---|
c | real(kind=R8P) | allocatable | |
n | integer(kind=I4P) |
Interfaces
operator(+)
Module procedures: r_add, x_add
operator(-)
Module procedures: r_sub, x_sub
operator(*)
Module procedures: r_mul, x_mul
Subroutines
homog_r
Attributes: pure
subroutine homog_r(p, x, w)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
p | type(implicit_point_t) | in | ||
x | type(rerr_t) | out | ||
w | type(rerr_t) | out |
Call graph
homog_x
Attributes: pure
subroutine homog_x(p, x, w)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
p | type(implicit_point_t) | in | ||
x | type(expn_t) | out | ||
w | type(expn_t) | out |
Call graph
grow
Attributes: pure
subroutine grow(e, n, b)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
e | real(kind=R8P) | inout | ||
n | integer(kind=I4P) | inout | ||
b | real(kind=R8P) | in |
Call graph
split3
Attributes: pure
subroutine split3(x, piece)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
x | real(kind=R8P) | in | ||
piece | real(kind=R8P) | out |
Call graph
sort3
Attributes: pure
subroutine sort3(w)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
w | real(kind=R8P) | inout |
Call graph
Functions
ip_explicit
Attributes: pure
Returns: type(implicit_point_t)
function ip_explicit(x) result(p)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
x | real(kind=R8P) | in |
Call graph
ip_lpi
Attributes: pure
Returns: type(implicit_point_t)
function ip_lpi(p0, q0, r0, s0, t0) result(p)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
p0 | real(kind=R8P) | in | ||
q0 | real(kind=R8P) | in | ||
r0 | real(kind=R8P) | in | ||
s0 | real(kind=R8P) | in | ||
t0 | real(kind=R8P) | in |
Call graph
ip_ssi
Attributes: pure
Returns: type(implicit_point_t)
function ip_ssi(a0, b0, c0, d0, drop) result(p)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
a0 | real(kind=R8P) | in | ||
b0 | real(kind=R8P) | in | ||
c0 | real(kind=R8P) | in | ||
d0 | real(kind=R8P) | in | ||
drop | integer(kind=I4P) | in |
Call graph
ip_eei
Attributes: pure
Returns: type(implicit_point_t)
function ip_eei(a0, b0, c0, d0) result(p)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
a0 | real(kind=R8P) | in | ||
b0 | real(kind=R8P) | in | ||
c0 | real(kind=R8P) | in | ||
d0 | real(kind=R8P) | in |
Call graph
ip_same
Attributes: pure
Returns: logical
function ip_same(a, b) result(same)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
a | type(implicit_point_t) | in | ||
b | type(implicit_point_t) | in |
Call graph
ip_approx
Attributes: pure
Returns: real(kind=R8P)
function ip_approx(p) result(x)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
p | type(implicit_point_t) | in |
Call graph
ip_orient3d
Returns: integer(kind=I4P)
function ip_orient3d(p, a, b, c) result(sg)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
p | type(implicit_point_t) | in | ||
a | real(kind=R8P) | in | ||
b | real(kind=R8P) | in | ||
c | real(kind=R8P) | in |
Call graph
ip_orient2d
Returns: integer(kind=I4P)
function ip_orient2d(p, q, r, drop) result(sg)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
p | type(implicit_point_t) | in | ||
q | type(implicit_point_t) | in | ||
r | type(implicit_point_t) | in | ||
drop | integer(kind=I4P) | in |
Call graph
ip_compare
Attributes: recursive
Returns: integer(kind=I4P)
function ip_compare(p, q, axis) result(sg)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
p | type(implicit_point_t) | in | ||
q | type(implicit_point_t) | in | ||
axis | integer(kind=I4P) | in |
Call graph
ip_lex_compare
Returns: integer(kind=I4P)
function ip_lex_compare(p, q) result(sg)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
p | type(implicit_point_t) | in | ||
q | type(implicit_point_t) | in |
Call graph
ip_identity_compare
Attributes: pure
Returns: integer(kind=I4P)
function ip_identity_compare(p, q) result(sg)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
p | type(implicit_point_t) | in | ||
q | type(implicit_point_t) | in |
Call graph
ip_rank
Attributes: elemental
Returns: integer(kind=I4P)
function ip_rank(p) result(r)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
p | type(implicit_point_t) | in |
Call graph
det3_r
Attributes: pure
Returns: type(rerr_t)
function det3_r(w, x, a, b, c) result(d)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
w | type(rerr_t) | in | ||
x | type(rerr_t) | in | ||
a | real(kind=R8P) | in | ||
b | real(kind=R8P) | in | ||
c | real(kind=R8P) | in |
Call graph
det3_x
Attributes: pure
Returns: type(expn_t)
function det3_x(w, x, a, b, c) result(d)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
w | type(expn_t) | in | ||
x | type(expn_t) | in | ||
a | real(kind=R8P) | in | ||
b | real(kind=R8P) | in | ||
c | real(kind=R8P) | in |
Call graph
r_of
Attributes: pure, elemental
Returns: type(rerr_t)
function r_of(x) result(r)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
x | real(kind=R8P) | in |
Call graph
r_add
Attributes: pure, elemental
Returns: type(rerr_t)
function r_add(a, b) result(r)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
a | type(rerr_t) | in | ||
b | type(rerr_t) | in |
r_sub
Attributes: pure, elemental
Returns: type(rerr_t)
function r_sub(a, b) result(r)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
a | type(rerr_t) | in | ||
b | type(rerr_t) | in |
r_mul
Attributes: pure, elemental
Returns: type(rerr_t)
function r_mul(a, b) result(r)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
a | type(rerr_t) | in | ||
b | type(rerr_t) | in |
r_sign
Attributes: pure
Returns: integer(kind=I4P)
function r_sign(a) result(s)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
a | type(rerr_t) | in |
Call graph
x_of
Attributes: pure
Returns: type(expn_t)
function x_of(x) result(e)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
x | real(kind=R8P) | in |
Call graph
x_add
Attributes: pure
Returns: type(expn_t)
function x_add(a, b) result(r)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
a | type(expn_t) | in | ||
b | type(expn_t) | in |
Call graph
x_sub
Attributes: pure
Returns: type(expn_t)
function x_sub(a, b) result(r)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
a | type(expn_t) | in | ||
b | type(expn_t) | in |
Call graph
x_mul
Attributes: pure
Returns: type(expn_t)
function x_mul(a, b) result(r)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
a | type(expn_t) | in | ||
b | type(expn_t) | in |
Call graph
x_sign
Attributes: pure
Returns: integer(kind=I4P)
function x_sign(a) result(s)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
a | type(expn_t) | in |
Call graph
x_estimate
Attributes: pure
Returns: real(kind=R8P)
function x_estimate(a) result(v)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
a | type(expn_t) | in |
Call graph
truncate18
Attributes: pure
Returns: real(kind=R8P)
function truncate18(x) result(t)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
x | real(kind=R8P) | in |
Call graph
same_plane
Attributes: pure
Returns: logical
function same_plane(w, a, b, c) result(same)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
w | real(kind=R8P) | in | ||
a | real(kind=R8P) | in | ||
b | real(kind=R8P) | in | ||
c | real(kind=R8P) | in |
Call graph
collinear_by_construction
Attributes: pure
Returns: logical
function collinear_by_construction(p, q, r) result(yes)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
p | type(implicit_point_t) | in | ||
q | type(implicit_point_t) | in | ||
r | type(implicit_point_t) | in |
Call graph
rsgn
Attributes: pure
Returns: integer(kind=I4P)
function rsgn(x) result(s)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
x | real(kind=R8P) | in |
Call graph
lex_less
Attributes: pure
Returns: logical
function lex_less(a, b) result(less)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
a | real(kind=R8P) | in | ||
b | real(kind=R8P) | in |
Call graph