Geant4-11
Functions
ptwXY_unitaryOperators.cc File Reference
#include <cmath>
#include <float.h>
#include "ptwXY.h"

Go to the source code of this file.

Functions

nfu_status ptwXY_abs (ptwXYPoints *ptwXY)
 
nfu_status ptwXY_neg (ptwXYPoints *ptwXY)
 

Function Documentation

◆ ptwXY_abs()

nfu_status ptwXY_abs ( ptwXYPoints ptwXY)

Definition at line 19 of file ptwXY_unitaryOperators.cc.

19 {
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}
@ nfu_Okay
Definition: nf_utilities.h:25
int64_t ptwXY_getNonOverflowLength(ptwXYPoints const *ptwXY)
Definition: ptwXY_core.cc:590
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

References ptwXYOverflowPoint_s::next, nfu_Okay, ptwXYPoints_s::overflowHeader, ptwXYOverflowPoint_s::point, ptwXYPoints_s::points, ptwXY_getNonOverflowLength(), ptwXYPoints_s::status, and ptwXYPoint_s::y.

◆ ptwXY_neg()

nfu_status ptwXY_neg ( ptwXYPoints ptwXY)

Definition at line 34 of file ptwXY_unitaryOperators.cc.

34 {
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}

References ptwXYOverflowPoint_s::next, nfu_Okay, ptwXYPoints_s::overflowHeader, ptwXYOverflowPoint_s::point, ptwXYPoints_s::points, ptwXY_getNonOverflowLength(), ptwXYPoints_s::status, and ptwXYPoint_s::y.

Referenced by ptwXY_sub_ptwXY().