291 int64_t i, j, k, zeros = 0, length, iYs;
292 double x1, x2, y1, y2, u1, u2, v1, v2, y, xz, nan =
nfu_getNAN( ), s1, s2;
306 for( i = 0, p = n->
points; i < n->length; i++, p++ ) {
326 if( i < ( n->
length - 1 ) ) {
339 p->
y = ( y1 + y2 ) / iYs;
356 for( i = length - 1; i >= 0; i-- ) {
363 xz = ( u1 * x2 - u2 * x1 ) / ( u1 - u2 );
372 xz = ( v1 * x2 - v2 * x1 ) / ( v1 - v2 );
382 for( i = n->
length - 2; i >= 0; i-- ) {
386 if( !isNAN1 || !isNAN2 ) {
413 for( k = i + 1, j = i; k < n->
length; k++ ) {
nfu_status ptwXY_getValueAtX(ptwXYPoints *ptwXY, double x, double *y)
ptwXY_interpolation interpolation
static ptwXYPoints * ptwXY_div_ptwXY_forFlats(ptwXYPoints *ptwXY1, ptwXYPoints *ptwXY2, nfu_status *status, int safeDivide)
ptwXYPoints * ptwXY_free(ptwXYPoints *ptwXY)
nfu_status ptwXY_setValueAtX(ptwXYPoints *ptwXY, double x, double y)
ptwXYPoints * ptwXY_union(ptwXYPoints *ptwXY1, ptwXYPoints *ptwXY2, nfu_status *status, int unionOptions)
static nfu_status ptwXY_getValueAtX_ignore_XOutsideDomainError(ptwXYPoints *ptwXY1, double x, double *y)
static nfu_status ptwXY_div_s_ptwXY(ptwXYPoints *n, ptwXYPoints *ptwXY1, ptwXYPoints *ptwXY2, double x1, double y1, double x2, double y2, int level, int isNAN1, int isNAN2)
nfu_status ptwXY_areDomainsMutual(ptwXYPoints *ptwXY1, ptwXYPoints *ptwXY2)
#define ptwXY_union_mergeClosePoints
nfu_status ptwXY_simpleCoalescePoints(ptwXYPoints *ptwXY)
void ptwXY_update_biSectionMax(ptwXYPoints *ptwXY1, double oldLength)
nfu_status ptwXY_getSlopeAtX(ptwXYPoints *ptwXY, double x, const char side, double *slope)