10#include "tpcclibConfig.h"
26#define BRANCHING_O 0.999
28#define BRANCHING_C 0.998
30#define BRANCHING_Cu64 0.174
32#define BRANCHING_N 0.998
34#define BRANCHING_F 0.967
36#define BRANCHING_Ge 0.891
38#define BRANCHING_Ga 0.891
40#define BRANCHING_Rb 0.950
51#define HL_Ge68 396000.0
64#define HL_Cu64 762.018
68#define HL_Na22 1368000.0
76#define HL_I124 6013.44
80 TPCISOT_BR_75, TPCISOT_BR_76, TPCISOT_CU_62, TPCISOT_CU_64,
81 TPCISOT_FE_52, TPCISOT_GA_68, TPCISOT_GE_68, TPCISOT_NA_22,
82 TPCISOT_RB_82, TPCISOT_ZN_62, TPCISOT_F_18, TPCISOT_C_11,
83 TPCISOT_N_13, TPCISOT_O_15, TPCISOT_O_14, TPCISOT_I_124,
90#define M_LN2 0.69314718055994530942
95#define MAX_UNITS_LEN 31
104 CUNIT_SEC_KBQ_PER_ML,
109 CUNIT_ML_PER_ML_PER_MIN,
110 CUNIT_ML_PER_DL_PER_MIN,
116 CUNIT_UMOL_PER_MIN_PER_100G,
117 CUNIT_MG_PER_MIN_PER_100G,
118 CUNIT_UMOL_PER_MIN_PER_DL,
119 CUNIT_MG_PER_MIN_PER_DL,
122 CUNIT_MIN_KBQ_PER_ML,
152#ifndef MAX_REGIONNAME_LEN
154#define MAX_REGIONNAME_LEN 20
156#ifndef MAX_REGIONSUBNAME_LEN
158#define MAX_REGIONSUBNAME_LEN 6
161#ifndef MAX_STUDYNR_LEN
163#define MAX_STUDYNR_LEN 255
170extern int fileCopy(
char *filename1,
char *filename2,
char *status);
181extern struct tm*
gmtime_r(
const time_t* t,
struct tm* tm);
183#ifndef HAVE_LOCALTIME_R
184extern struct tm*
localtime_r(
const time_t* t,
struct tm* tm);
187extern time_t
timegm(
struct tm *tm);
189extern char*
ctime_r_int(
const time_t *t,
char *buf);
190extern int isdate(
char *str);
191extern int isdate2(
char *str,
char *intdate);
192extern int isdate3(
char *str,
char *intdate);
193extern int isdate4(
int dateint,
int *year,
int *month,
int *day);
194extern int istime(
char *str);
195extern int isdatetime(
char *str,
char *intdate);
196extern int get_datetime(
char *str,
struct tm *date,
int verbose);
197extern int get_date(
char *str,
struct tm *date);
198extern long int math_div(
long int a,
long int b);
200extern long int leaps_between(
long int year1,
long int year2);
201extern void time_to_tm(time_t totalsecs,
int offset,
struct tm *result);
202extern double tmDifference(
struct tm *tm1,
struct tm *tm0);
203extern void tmAdd(
int s,
struct tm *d);
212extern int dec_nr(
char *str);
213extern int atof_with_check(
char *double_as_string,
double *result_value);
215extern int atoi_with_check(
const char *int_as_string,
int *result_value);
223extern int fnmatch(
const char *fname,
const char *key);
224extern int fncasematch(
const char *fname,
const char *key);
234extern double hlLambda2factor(
double lambda,
double frametime,
double framedur);
243extern int id_crypt(
const char *
string,
const char *key,
char *out,
int decrypt);
249enum {IFT_OK, IFT_FAULT, IFT_NOMEMORY, IFT_CANNOTREAD, IFT_CANNOTWRITE,
250 IFT_UNKNOWNFORMAT, IFT_KEYNOTFOUND, IFT_NODATA, IFT_VALUENOTFOUND};
292extern int iftPut(
IFT *ift,
char *key,
char *value,
char *cmt_type,
int verbose);
293extern int iftPutDouble(
IFT *ift,
char *key,
double value,
char *cmt_type,
int verbose);
294extern int iftRead(
IFT *ift,
char *filename,
int is_key_required,
int verbose);
295extern char *
iftReadValue(
char *filename,
char *keystr,
int verbose);
297extern int iftWrite(
IFT *ift,
char *filename,
int verbose);
298extern int defRead(
IFT *ift,
char *filename,
int verbose);
299extern int iftGet(
IFT *ift,
char *key,
int verbose);
300extern int iftGetNth(
IFT *ift,
char *key,
int n,
int verbose);
304extern int iftGetFrom(
IFT *ift,
int si,
const char *key,
int verbose);
308extern int iftGetIntValue(
IFT *ift,
int si,
const char *key,
int *value,
int verbose);
348 const char *s1,
const char *s2,
INTEGER_LIST *l,
const int ifnew
351 const char *s1,
const char *s2,
INTEGER_LIST *l,
const int ifnew
371extern int tpcProcessStdOptions(
const char *s,
int *print_usage,
int *print_version,
int *verbose_level);
372extern void tpcProgramName(
const char *program,
int version,
int copyright,
char *prname,
int n);
373extern void tpcPrintUsage(
const char *program,
char *text[], FILE *fp);
374extern int tpcHtmlUsage(
const char *program,
char *text[],
const char *path);
381extern int strnCopyClean(
char *str1,
const char *str2,
int maxlen);
402extern int readStrtokens(
const char *filename,
char ***toklist);
408extern int rnameSplit(
char *rname,
char *name1,
char *name2,
char *name3,
int max_name_len);
409extern int rnameMatch(
char *rname,
int rnr,
char *test_str);
411extern int rnameCatenate(
char *rname,
int max_rname_len,
char *name1,
char *name2,
char *name3,
char space);
417extern int strTokenNr(
const char *str1,
const char *str2);
419 const char *str1,
const char *str2,
int i,
char *str3,
int count
421extern char *
strTokenDup(
const char *s1,
const char *s2,
int *next);
422extern int strChrCount(
const char *str1,
const char *str2);
426extern size_t strnlen(
const char *s,
size_t n);
429extern size_t strlcat(
char *dst,
const char *src,
size_t dstsize);
432extern size_t strlcpy(
char *dst,
const char *src,
size_t dstsize);
434extern char *
strcasestr(
const char *haystack,
const char *needle);
456extern void swap(
void *orig,
void *
new,
int size);
457extern void swabip(
void *buf,
long long int size);
458extern void swawbip(
void *buf,
long long int size);
459extern void swawip(
void *buf,
long long int size);
465extern int doubleMatch(
const double v1,
const double v2,
const double lim);
466extern int doubleMatchRel(
const double v1,
const double v2,
const double lim);
468extern void doubleCopy(
double *t,
double *s,
const unsigned int n);
469extern unsigned int doubleMaxIndex(
double *a,
const unsigned int n);
470extern double doubleSum(
double *a,
const unsigned int n);
471extern double doubleMean(
double *a,
const unsigned int n);
474extern double inverfc(
double x);
475extern void statSortDouble(
double *data,
unsigned int n,
int order);
476extern void statSortFloat(
float *data,
unsigned int n,
int order);
int iftFindNthValue(IFT *ift, char *str, int n, int verbose)
int atof_with_check(char *double_as_string, double *result_value)
int rnameRmDots(char *rname1, char *rname2)
char * strstr_noquotation(const char *str1, const char *str2)
int tpcProcessStdOptions(const char *s, int *print_usage, int *print_version, int *verbose_level)
int integerListEmpty(INTEGER_LIST *l)
int studynr_from_fname2(char *fname, char *studynr, int force)
int iftGetFloatValue(IFT *ift, int si, const char *key, float *value, int verbose)
int doubleSpanPositives(double *a, const int n)
int studynr_in_fname(char *fname, char *studynr)
int rnameCatenate(char *rname, int max_rname_len, char *name1, char *name2, char *name3, char space)
int get_datetime(char *str, struct tm *date, int verbose)
void swawip(void *buf, long long int size)
char * ctime_r_int(const time_t *t, char *buf)
Convert calendard time t into a null-terminated string of the form YYYY-MM-DD hh:mm:ss,...
void str_token_list_empty(STR_TOKEN_LIST *lst)
int integerListInit(INTEGER_LIST *l)
int iftWriteItem(IFT *ift, int item, FILE *fp, int verbose)
int studynr_to_lowercase(char *studynr)
int str_token_list_del(STR_TOKEN_LIST *lst, int item)
int petCunitId(const char *unit)
double hl2lambda(double halflife)
int iftdup(IFT *ift1, IFT *ift2, int verbose)
int doubleCSpanPositives(double *a, const int n)
int studynr_validity_check2(char *studynr, int zero_ok)
int isdate2(char *str, char *intdate)
int defRead(IFT *ift, char *filename, int verbose)
void dec_separator_change(char *str, int decsep)
char * iftReadValue(char *filename, char *keystr, int verbose)
char * filenameGetExtension(char *s)
Get the last extension of a filename.
int integerListSort(INTEGER_LIST *l)
char * hlIsotopeCode(int isotope)
void filenameRmPath(char *s)
int fileCopy(char *filename1, char *filename2, char *status)
int doubleMatch(const double v1, const double v2, const double lim)
int doubleMatchRel(const double v1, const double v2, const double lim)
int integerListAddFromString(const char *s1, const char *s2, INTEGER_LIST *l, const int ifnew)
void swabip(void *buf, long long int size)
INT_list intMerge(INT_list *list1, INT_list *list2)
int rnameMatch(char *rname, int rnr, char *test_str)
time_t timegm(struct tm *tm)
Inverse of gmtime, converting struct tm to time_t.
int iftGetDoubleValue(IFT *ift, int si, const char *key, double *value, int verbose)
double hlLambda2factor(double lambda, double frametime, double framedur)
unsigned int doubleMaxIndex(double *a, const unsigned int n)
int textfileReadLines(const char *filename, STR_TOKEN_LIST *lst)
void filenameRmExtensions(char *s)
int backupExistingFile(char *filename, char *backup_ext, char *status)
int iftPutDouble(IFT *ift, char *key, double value, char *cmt_type, int verbose)
int intExpand(char *text, INT_list *list)
void strCleanForXML(char *s)
double atof_dpi(char *str)
void intInit(INT_list *list)
char * petCunit(int cunit)
int strCleanSpaces(char *s)
int integerListExpandFromString(const char *s1, const char *s2, INTEGER_LIST *l, const int ifnew)
int iftPut(IFT *ift, char *key, char *value, char *cmt_type, int verbose)
int atoi_with_check(const char *int_as_string, int *result_value)
int iftDeleteItem(IFT *ift, int item, int verbose)
int rnameSplit(char *rname, char *name1, char *name2, char *name3, int max_name_len)
int iftFindNthKey(IFT *ift, char *str, int n, int verbose)
void tmAdd(int s, struct tm *d)
int roinameExists(char *roiname)
Verifies whether TAC name exists or not.
int isleapyear(long int year)
int studynr_match(char *studynr1, char *studynr2)
char * strEncodeForXML(const char *s)
int strChrCount(const char *str1, const char *str2)
int iftRead(IFT *ift, char *filename, int is_key_required, int verbose)
void time_to_tm(time_t totalsecs, int offset, struct tm *result)
void strReplaceChar(char *str, char c1, char c2)
void str_token_list_init(STR_TOKEN_LIST *lst)
size_t strnlen(const char *s, size_t n)
int strTokenNCpy(const char *str1, const char *str2, int i, char *str3, int count)
int strncpyCleanSpaces(char *s1, const char *s2, int maxlen)
int str_token_list_add(STR_TOKEN_LIST *lst, char *new_item)
void swawbip(void *buf, long long int size)
int strTokenNr(const char *str1, const char *str2)
size_t strlcpy(char *dst, const char *src, size_t dstsize)
void printf32bits(void *buf)
void tpcProgramName(const char *program, int version, int copyright, char *prname, int n)
int str_token_list_read(const char *filename, STR_TOKEN_LIST *lst)
int studynr_rm_zeroes(char *studynr)
int asciiCommentLine(const char *line, int *cont)
int iftGet(IFT *ift, char *key, int verbose)
int iftGetFullmatchFrom(IFT *ift, int si, const char *key, const char *value, int verbose)
char * strTokenDup(const char *s1, const char *s2, int *next)
char * petTunit(int tunit)
int get_date(char *str, struct tm *date)
int isdate4(int dateint, int *year, int *month, int *day)
long int math_div(long int a, long int b)
void iftSetStatus(IFT *ift, int status)
int strUppercaseCount(const char *s)
int iftGetIntValue(IFT *ift, int si, const char *key, int *value, int verbose)
void statSortDouble(double *data, unsigned int n, int order)
int isdatetime(char *str, char *intdate)
int iftWrite(IFT *ift, char *filename, int verbose)
int filenameRmExtension(char *s)
struct tm * gmtime_r(const time_t *t, struct tm *tm)
Convert time_t to GMT struct tm.
float hlLambda2factor_float(float lambda, float frametime, float framedur)
void intEmpty(INT_list *list)
int _intexadd(INT_list *list, int a)
char * filenameGetExtensions(char *s)
Get all extensions of a filename.
char * strPtrToNextValue(char *str, char **nxtp)
int fnmatch(const char *fname, const char *key)
int dec_comma_is(char *str)
int id_crypt(const char *string, const char *key, char *out, int decrypt)
char * strcasestr(const char *haystack, const char *needle)
int tpcHtmlUsage(const char *program, char *text[], const char *path)
int readStrtokens(const char *filename, char ***toklist)
int isdate3(char *str, char *intdate)
long int leaps_between(long int year1, long int year2)
int iftGetFrom(IFT *ift, int si, const char *key, int verbose)
double doubleSum(double *a, const unsigned int n)
int iftGetKeyNr(IFT *ift, const char *key, int verbose)
int studynr_from_fname(char *fname, char *studynr)
void doubleCopy(double *t, double *s, const unsigned int n)
int iftReplaceNthValue(IFT *ift, int item, char *value, int verbose)
int dec_separator(char *str)
size_t strlcat(char *dst, const char *src, size_t dstsize)
int petTunitId(const char *timeunit)
char * hlCorrectIsotopeCode(char *isocode)
int strnCopyClean(char *str1, const char *str2, int maxlen)
float branchingFraction(int isotope)
int studynr_validity_check(char *studynr)
double hlFromIsotope(char *isocode)
double doubleMean(double *a, const unsigned int n)
void tpcPrintBuild(const char *program, FILE *fp)
int hlIsotopeFromHalflife(double halflife)
int integerListAdd(INTEGER_LIST *l, int v, int ifnew)
void statSortFloat(float *data, unsigned int n, int order)
struct tm * localtime_r(const time_t *t, struct tm *tm)
Convert time_t to local time in struct tm.
int fncasematch(const char *fname, const char *key)
const char * libpet_idcrypt_version(void)
double tmDifference(struct tm *tm1, struct tm *tm0)
void tpcPrintUsage(const char *program, char *text[], FILE *fp)
int iftGetNth(IFT *ift, char *key, int n, int verbose)
void swap(void *orig, void *new, int size)
int cunitFromFilename(char *fname)