Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/processes/hadronic/models/lend/include/ptwX.h

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

  1 /*
  2 # <<BEGIN-copyright>>
  3 # <<END-copyright>>
  4 */
  5 
  6 #ifndef ptwX_h_included
  7 #define ptwX_h_included
  8 
  9 #include <stdio.h>
 10 #include <stdint.h>
 11 
 12 #include <nf_utilities.h>
 13 
 14 #if defined __cplusplus
 15     extern "C" {
 16     namespace GIDI {
 17 #endif
 18 
 19 #define ptwX_minimumSize 10
 20 
 21 enum ptwX_sort_order { ptwX_sort_order_descending, ptwX_sort_order_ascending };
 22 
 23 typedef
 24     struct ptwXPoints_s {
 25         nfu_status status;
 26         int64_t length;
 27         int64_t allocatedSize;
 28         int64_t mallocFailedSize;
 29         double *points;
 30     } ptwXPoints;
 31 
 32 /*
 33 * Routines in ptwX_core.c
 34 */
 35 ptwXPoints *ptwX_new( int64_t size, nfu_status *status );
 36 nfu_status ptwX_setup( ptwXPoints *ptwX, int64_t size );
 37 ptwXPoints *ptwX_create( int64_t size, int64_t length, double const *xs, nfu_status *status );
 38 ptwXPoints *ptwX_createLine( int64_t size, int64_t length, double slope, double offset, nfu_status *status );
 39 nfu_status ptwX_copy( ptwXPoints *dest, ptwXPoints *src );
 40 ptwXPoints *ptwX_clone( ptwXPoints *ptwX, nfu_status *status );
 41 ptwXPoints *ptwX_slice( ptwXPoints *ptwX, int64_t index1, int64_t index2, nfu_status *status );
 42 nfu_status ptwX_reallocatePoints( ptwXPoints *ptwX, int64_t size, int forceSmallerResize );
 43 nfu_status ptwX_clear( ptwXPoints *ptwX );
 44 nfu_status ptwX_release( ptwXPoints *ptwX );
 45 ptwXPoints *ptwX_free( ptwXPoints *ptwX );
 46 
 47 int64_t ptwX_length( ptwXPoints *ptwX );
 48 nfu_status ptwX_setData( ptwXPoints *ptwX, int64_t length, double const *xs );
 49 nfu_status ptwX_deletePoints( ptwXPoints *ptwX, int64_t i1, int64_t i2 );
 50 double *ptwX_getPointAtIndex( ptwXPoints *ptwX, int64_t index );
 51 double ptwX_getPointAtIndex_Unsafely( ptwXPoints *ptwX, int64_t index );
 52 nfu_status ptwX_setPointAtIndex( ptwXPoints *ptwX, int64_t index, double x );
 53 nfu_status ptwX_insertPointsAtIndex( ptwXPoints *ptwX, int64_t index, int64_t n1, double const *xs );
 54 int ptwX_ascendingOrder( ptwXPoints *ptwX );
 55 ptwXPoints *ptwX_fromString( char const *str, char **endCharacter, nfu_status *status );
 56 nfu_status ptwX_countOccurrences( ptwXPoints *ptwX, double value, int *count );
 57 nfu_status ptwX_reverse( ptwXPoints *ptwX );
 58 nfu_status ptwX_sort( ptwXPoints *ptwX, enum ptwX_sort_order order );
 59 nfu_status ptwX_closesDifference( ptwXPoints *ptwX, double value, int64_t *index, double *difference );
 60 nfu_status ptwX_closesDifferenceInRange( ptwXPoints *ptwX, int64_t i1, int64_t i2, double value, int64_t *index, double *difference );
 61 ptwXPoints *ptwX_unique( ptwXPoints *ptwX, int order, nfu_status *status );
 62 
 63 nfu_status ptwX_abs( ptwXPoints *ptwX );
 64 nfu_status ptwX_neg( ptwXPoints *ptwX );
 65 nfu_status ptwX_add_double( ptwXPoints *ptwX, double value );
 66 nfu_status ptwX_mul_double( ptwXPoints *ptwX, double value );
 67 nfu_status ptwX_slopeOffset( ptwXPoints *ptwX, double slope, double offset );
 68 nfu_status ptwX_add_ptwX( ptwXPoints *ptwX1, ptwXPoints *ptwX2 );
 69 nfu_status ptwX_sub_ptwX( ptwXPoints *ptwX1, ptwXPoints *ptwX2 );
 70 
 71 nfu_status ptwX_xMinMax( ptwXPoints *ptwX, double *xMin, double *xMax );
 72 
 73 nfu_status ptwX_compare( ptwXPoints *ptwX1, ptwXPoints *ptwX2, int *comparison );
 74 int ptwX_close( ptwXPoints *ptwX1, ptwXPoints *ptwX2, int epsilonFactor, double epsilon, nfu_status *status );
 75 
 76 /*
 77 * Routines in ptwX_misc.c
 78 */
 79 void ptwX_simpleWrite( ptwXPoints const *ptwX, FILE *f, char const *format );
 80 void ptwX_simplePrint( ptwXPoints const *ptwX, char const *format );
 81 
 82 #if defined __cplusplus
 83     }
 84     }
 85 #endif
 86 
 87 #endif          /* End of ptwX_h_included. */
 88