FreePOOMA
2.4.1
|
This file defines the prototypes for routines used in the domain calculus computations. More...
Functions | |
bool | findLeftCommonEndpoint (int a0, int a1, int s, int b0, int b1, int t, int &endpoint) |
findLeftCommonEndpoint is used by the domain calculus routines to find the leftmost common endpoint for two domains defined by [a0:a1:s] and [b0:b1:t]. | |
bool | findIntersectionEndpoints (int a0, int a1, int s, int b0, int b1, int t, int &i0, int &i1, int &is) |
findIntersectionEndpoints is used by the domain calculus routines to find the endpoints and stride of an intersection domain given two other strided domains defined by [a0:a1:s] and [b0:b1:t]. |
This file defines the prototypes for routines used in the domain calculus computations.
These routines are not part of the main user API, they are mainly for the domain calculus implementation.
bool findLeftCommonEndpoint | ( | int | a0, |
int | a1, | ||
int | s, | ||
int | b0, | ||
int | b1, | ||
int | t, | ||
int & | endpoint | ||
) |
findLeftCommonEndpoint is used by the domain calculus routines to find the leftmost common endpoint for two domains defined by [a0:a1:s] and [b0:b1:t].
If an endpoint is possible, this returns true and the endpoint in the final argument. If one is not possible, due to incompatible striding, this returns false and leaves the final argument unchanged.
Referenced by TouchesDomainSingle< T1, T2, true >::touches().
bool findIntersectionEndpoints | ( | int | a0, |
int | a1, | ||
int | s, | ||
int | b0, | ||
int | b1, | ||
int | t, | ||
int & | i0, | ||
int & | i1, | ||
int & | is | ||
) |
findIntersectionEndpoints is used by the domain calculus routines to find the endpoints and stride of an intersection domain given two other strided domains defined by [a0:a1:s] and [b0:b1:t].
If this is possible, this return true and the min, max, stride of the resulting domain [i0,i1,is] in the final arguments. If no intersection is possible, due to incompatible striding, this returns false and leaves the final arguments unchanged. Note that if a domain is returned, it will always be true that i0 <= i1, is > 0.
Referenced by IntersectDomainSingle< T1, T2, T3, Dim, true >::intersect().