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