19 #define ISOSPEC_ALGO_LAYERED 0
20 #define ISOSPEC_ALGO_ORDERED 1
21 #define ISOSPEC_ALGO_THRESHOLD_ABSOLUTE 2
22 #define ISOSPEC_ALGO_THRESHOLD_RELATIVE 3
23 #define ISOSPEC_ALGO_LAYERED_ESTIMATE 4
32 void * setupIso(
int dimNumber,
33 const int* isotopeNumbers,
34 const int* atomCounts,
35 const double* isotopeMasses,
36 const double* isotopeProbabilities);
38 double getLightestPeakMassIso(
void* iso);
39 double getHeaviestPeakMassIso(
void* iso);
40 double getMonoisotopicPeakMassIso(
void* iso);
41 double getModeLProbIso(
void* iso);
42 double getModeMassIso(
void* iso);
43 double getTheoreticalAverageMassIso(
void* iso);
46 void deleteIso(
void* iso);
48 #define ISOSPEC_C_FN_HEADER(generatorType, dataType, method)\
49 dataType method##generatorType(void* generator);
51 #define ISOSPEC_C_FN_HEADER_GET_CONF_SIGNATURE(generatorType)\
52 void method##generatorType(void* generator);
54 #define ISOSPEC_C_FN_HEADERS(generatorType)\
55 ISOSPEC_C_FN_HEADER(generatorType, double, mass) \
56 ISOSPEC_C_FN_HEADER(generatorType, double, lprob) \
57 ISOSPEC_C_FN_HEADER(generatorType, double, prob) \
58 ISOSPEC_C_FN_HEADER_GET_CONF_SIGNATURE(generatorType) \
59 ISOSPEC_C_FN_HEADER(generatorType, bool, advanceToNextConfiguration) \
60 ISOSPEC_C_FN_HEADER(generatorType, void, delete)
66 void* setupIsoThresholdGenerator(
void* iso,
71 ISOSPEC_C_FN_HEADERS(IsoThresholdGenerator)
75 void* setupIsoLayeredGenerator(
void* iso,
78 ISOSPEC_C_FN_HEADERS(IsoLayeredGenerator)
81 void* setupIsoOrderedGenerator(
void* iso,
84 ISOSPEC_C_FN_HEADERS(IsoOrderedGenerator)
88 void* setupThresholdFixedEnvelope(
void* iso,
96 void deleteThresholdFixedEnvelope(
void* tabulator);
98 const double* massesThresholdFixedEnvelope(
void* tabulator);
99 const double* lprobsThresholdFixedEnvelope(
void* tabulator);
100 const double* probsThresholdFixedEnvelope(
void* tabulator);
101 const int* confsThresholdFixedEnvelope(
void* tabulator);
102 int confs_noThresholdFixedEnvelope(
void* tabulator);
106 void* setupTotalProbFixedEnvelope(
void* iso,
107 double taget_coverage,
114 void deleteTotalProbFixedEnvelope(
void* tabulator);
116 const double* massesTotalProbFixedEnvelope(
void* tabulator);
117 const double* lprobsTotalProbFixedEnvelope(
void* tabulator);
118 const double* probsTotalProbFixedEnvelope(
void* tabulator);
119 const int* confsTotalProbFixedEnvelope(
void* tabulator);
120 int confs_noTotalProbFixedEnvelope(
void* tabulator);
122 void freeReleasedArray(
void* array);