Geant4 Cross Reference |
1 /* 1 /* 2 # <<BEGIN-copyright>> 2 # <<BEGIN-copyright>> 3 # <<END-copyright>> 3 # <<END-copyright>> 4 */ 4 */ 5 5 6 #include <cmath> 6 #include <cmath> 7 #include <float.h> 7 #include <float.h> 8 8 9 #include "ptwXY.h" 9 #include "ptwXY.h" 10 10 11 #if defined __cplusplus 11 #if defined __cplusplus 12 namespace GIDI { 12 namespace GIDI { 13 using namespace GIDI; 13 using namespace GIDI; 14 #endif 14 #endif 15 15 16 /* 16 /* 17 ********************************************** 17 ************************************************************ 18 */ 18 */ 19 nfu_status ptwXY_abs( ptwXYPoints *ptwXY ) { 19 nfu_status ptwXY_abs( ptwXYPoints *ptwXY ) { 20 20 21 int64_t i, nonOverflowLength = ptwXY_getNo 21 int64_t i, nonOverflowLength = ptwXY_getNonOverflowLength( ptwXY ); 22 ptwXYPoint *p; 22 ptwXYPoint *p; 23 ptwXYOverflowPoint *o, *overflowHeader = & 23 ptwXYOverflowPoint *o, *overflowHeader = &(ptwXY->overflowHeader); 24 24 25 if( ptwXY->status != nfu_Okay ) return( pt 25 if( ptwXY->status != nfu_Okay ) return( ptwXY->status ); 26 26 27 for( i = 0, p = ptwXY->points; i < nonOver 27 for( i = 0, p = ptwXY->points; i < nonOverflowLength; i++, p++ ) p->y = std::fabs( p->y ); 28 for( o = overflowHeader->next; o != overfl 28 for( o = overflowHeader->next; o != overflowHeader; o = o->next ) o->point.y = std::fabs( o->point.y ); 29 return( ptwXY->status ); 29 return( ptwXY->status ); 30 } 30 } 31 /* 31 /* 32 ********************************************** 32 ************************************************************ 33 */ 33 */ 34 nfu_status ptwXY_neg( ptwXYPoints *ptwXY ) { 34 nfu_status ptwXY_neg( ptwXYPoints *ptwXY ) { 35 35 36 int64_t i, nonOverflowLength = ptwXY_getNo 36 int64_t i, nonOverflowLength = ptwXY_getNonOverflowLength( ptwXY ); 37 ptwXYPoint *p; 37 ptwXYPoint *p; 38 ptwXYOverflowPoint *o, *overflowHeader = & 38 ptwXYOverflowPoint *o, *overflowHeader = &(ptwXY->overflowHeader); 39 39 40 if( ptwXY->status != nfu_Okay ) return( pt 40 if( ptwXY->status != nfu_Okay ) return( ptwXY->status ); 41 41 42 for( i = 0, p = ptwXY->points; i < nonOver 42 for( i = 0, p = ptwXY->points; i < nonOverflowLength; i++, p++ ) p->y = -p->y; 43 for( o = overflowHeader->next; o != overfl 43 for( o = overflowHeader->next; o != overflowHeader; o = o->next ) o->point.y = -o->point.y; 44 return( ptwXY->status ); 44 return( ptwXY->status ); 45 } 45 } 46 46 47 #if defined __cplusplus 47 #if defined __cplusplus 48 } 48 } 49 #endif 49 #endif 50 50