8 #ifndef HELICS_APISHAREDDATA_FUNCTIONS_H_
9 #define HELICS_APISHAREDDATA_FUNCTIONS_H_
17 #include "helics_export.h"
20 HELICS_EXPORT
HelicsDataBuffer helicsCreateDataBuffer(int32_t initialCapacity);
26 HELICS_EXPORT
HelicsDataBuffer helicsWrapDataInBuffer(
void* data,
int dataSize,
int dataCapacity);
48 HELICS_EXPORT int32_t helicsIntegerToBytes(int64_t value,
HelicsDataBuffer data);
51 HELICS_EXPORT int32_t helicsDoubleToBytes(
double value,
HelicsDataBuffer data);
54 HELICS_EXPORT int32_t helicsStringToBytes(
const char* value,
HelicsDataBuffer data);
57 HELICS_EXPORT int32_t helicsRawStringToBytes(
const char* str,
int stringSize,
HelicsDataBuffer data);
69 HELICS_EXPORT int32_t helicsComplexToBytes(
double real,
double imag,
HelicsDataBuffer data);
75 HELICS_EXPORT int32_t helicsVectorToBytes(
const double* value,
int dataSize,
HelicsDataBuffer data);
78 HELICS_EXPORT int32_t helicsNamedPointToBytes(
const char* name,
double value,
HelicsDataBuffer data);
81 HELICS_EXPORT int32_t helicsComplexVectorToBytes(
const double* value,
int dataSize,
HelicsDataBuffer data);
104 HELICS_EXPORT
void helicsDataBufferToString(
HelicsDataBuffer data,
char* outputString,
int maxStringLen,
int* actualLength);
108 HELICS_EXPORT
void helicsDataBufferToRawString(
HelicsDataBuffer data,
char* outputString,
int maxStringLen,
int* actualLength);
117 HELICS_EXPORT
void helicsDataBufferToComplex(
HelicsDataBuffer data,
double* real,
double* imag);
123 HELICS_EXPORT
void helicsDataBufferToVector(
HelicsDataBuffer data,
double values[],
int maxlen,
int* actualSize);
131 HELICS_EXPORT
void helicsDataBufferToComplexVector(
HelicsDataBuffer data,
double values[],
int maxlen,
int* actualSize);
134 helicsDataBufferToNamedPoint(
HelicsDataBuffer data,
char* outputString,
int maxStringLength,
int* actualLength,
double* val);