Geant4-11
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
12namespace GIDI {
13using 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
@ nfu_Okay
Definition: nf_utilities.h:25
enum nfu_status_e nfu_status
int64_t ptwXY_getNonOverflowLength(ptwXYPoints const *ptwXY)
Definition: ptwXY_core.cc:590
nfu_status ptwXY_neg(ptwXYPoints *ptwXY)
nfu_status ptwXY_abs(ptwXYPoints *ptwXY)
struct ptwXYOverflowPoint_s * next
Definition: ptwXY.h:78
ptwXYPoint point
Definition: ptwXY.h:80
double y
Definition: ptwXY.h:62
ptwXYOverflowPoint overflowHeader
Definition: ptwXY.h:98
ptwXYPoint * points
Definition: ptwXY.h:99
nfu_status status
Definition: ptwXY.h:85