Geant4  10.03.p01
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ptwXY_unitaryOperators.cc
Go to the documentation of this file.
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 */
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 */
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
ptwXYPoint point
Definition: ptwXY.h:80
ptwXYPoint * points
Definition: ptwXY.h:99
const char * p
Definition: xmltok.h:285
nfu_status ptwXY_neg(ptwXYPoints *ptwXY)
nfu_status ptwXY_abs(ptwXYPoints *ptwXY)
int64_t ptwXY_getNonOverflowLength(ptwXYPoints const *ptwXY)
Definition: ptwXY_core.cc:590
enum nfu_status_e nfu_status
double y
Definition: ptwXY.h:62
struct ptwXYOverflowPoint_s * next
Definition: ptwXY.h:78
nfu_status status
Definition: ptwXY.h:85
ptwXYOverflowPoint overflowHeader
Definition: ptwXY.h:98