void testBinaryRepresentation_float(CuTest* testCase) { cactusSerialisationTestSetup(); void *vA2 = vA; float i = 3.145678; float j = 2.714342; binaryRepresentation_writeFloat(i, writeFn); binaryRepresentation_writeFloat(j, writeFn); CuAssertTrue(testCase, i == binaryRepresentation_getFloat(&vA2)); CuAssertTrue(testCase, j == binaryRepresentation_getFloat(&vA2)); cactusSerialisationTestTeardown(); }
Event *event_loadFromBinaryRepresentation(void **binaryString, EventTree *eventTree) { Event *event, *parentEvent; Name name; float branchLength; char *header; event = NULL; if (binaryRepresentation_peekNextElementType(*binaryString) == CODE_EVENT) { binaryRepresentation_popNextElementType(binaryString); parentEvent = eventTree_getEvent(eventTree, binaryRepresentation_getName(binaryString)); assert(parentEvent != NULL); name = binaryRepresentation_getName(binaryString); branchLength = binaryRepresentation_getFloat(binaryString); header = binaryRepresentation_getString(binaryString); event = event_construct(name, header, branchLength, parentEvent, eventTree); event_setOutgroupStatus(event, binaryRepresentation_getBool(binaryString)); free(header); } return event; }