Geant4 11.2.2
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
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
enum nfu_status_e nfu_status
int64_t ptwXY_getNonOverflowLength(ptwXYPoints const *ptwXY)
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