351     int64_t overflowSize, i, i1 = 0, i2 = 0, n1 = ptwXY1->
length, n2 = ptwXY2->
length, length;
 
  354     double x1 = 0., x2 = 0., y1 = 0., y2 = 0., y, biSectionMax, accuracy;
 
  366     if( ( n1 == 1 ) || ( n2 == 1 ) ) {
 
  376                         if( fillWithFirst ) {
 
  377                             if( i1 < ( ptwXY1->
length - 1 ) ) {
 
  412     length = ( n1 - i1 ) + ( n2 - i2 );
 
  415     if( biSectionMax < ptwXY2->biSectionMax ) biSectionMax = ptwXY2->
biSectionMax;
 
  417     if( accuracy < ptwXY2->accuracy ) accuracy = ptwXY2->
accuracy;
 
  419     if( n == NULL ) 
return( NULL );
 
  421     for( i = 0; ( i1 < n1 ) && ( i2 < n2 ); i++ ) {
 
  425             if( fillWithFirst ) {
 
  427                 if( i1 < ( ptwXY1->
length - 1 ) ) {
 
  441             if( fillWithFirst && ( ( y1 != 0. ) || ( y2 != 0. ) ) ) {
 
  453     for( ; i1 < n1; i1++, i++ ) {
 
  455         if( fillWithFirst ) y = ptwXY1->
points[i1].
y;
 
  458     for( ; i2 < n2; i2++, i++ ) {
 
  460         if( fillWithFirst && trim && ( n->
points[i].
x <= x2 ) ) {
 
ptwXY_interpolation interpolation
 
nfu_status ptwXY_interpolatePoint(ptwXY_interpolation interpolation, double x, double *y, double x1, double y1, double x2, double y2)
 
ptwXYPoints * ptwXY_free(ptwXYPoints *ptwXY)
 
#define ptwXY_union_mergeClosePoints
 
ptwXYPoints * ptwXY_new(ptwXY_interpolation interpolation, ptwXY_interpolationOtherInfo const *interpolationOtherInfo, double biSectionMax, double accuracy, int64_t primarySize, int64_t secondarySize, nfu_status *status, int userFlag)
 
int64_t overflowAllocatedSize
 
nfu_status ptwXY_simpleCoalescePoints(ptwXYPoints *ptwXY)
 
nfu_status ptwXY_mergeClosePoints(ptwXYPoints *ptwXY, double epsilon)
 
#define ptwXY_minimumSize