Example #1
0
static void
local_fillParticleDataFromStais(float *partData, uint64_t pos, stai_t *data)
{
	for (int i = 0; i < 6; i++) {
		if (data[i] != NULL) {
			if (stai_getSizeOfElementInBytes(data[i]) == sizeof(float)) {
				stai_getElement(data[i], pos, partData + i);
			} else if (stai_getSizeOfElementInBytes(data[i])
			           == sizeof(double)) {
				double d;
				stai_getElement(data[i], pos, &d);
				partData[i] = (float)d;
			}
		} else {
			partData[i] = NAN;
		}
	}
}
Example #2
0
static void
local_fillBufferFromStai(float *buffer, stai_t stai, int numValues)
{
	if (stai_getSizeOfElementInBytes(stai) == sizeof(float)) {
		stai_getElementsMulti(stai, 0, buffer, numValues);
	} else if (stai_getSizeOfElementInBytes(stai) == sizeof(double)) {
		double d;
		for (int i = 0; i < numValues; i++) {
			stai_getElement(stai, i, &d);
			buffer[i] = (float)d;
		}
	} else {
		diediedie(EXIT_FAILURE);
	}
}