/** * Write float (32 bit) value to the result * @param context * @param val * @return */ size_t SCPI_ResultFloat(scpi_t * context, float val) { char buffer[32]; size_t result = 0; size_t len = SCPI_FloatToStr(val, buffer, sizeof (buffer)); result += writeDelimiter(context); result += writeData(context, buffer, len); context->output_count++; return result; }
static void test_floatToStr() { const size_t max = 49 + 1; float val[] = {1, -1, 1.1, -1.1, 1e3, 1e30, -1.3e30, -1.3e-30}; int N = sizeof (val) / sizeof (float); int i; char str[max]; char ref[max]; size_t len; for (i = 0; i < N; i++) { len = SCPI_FloatToStr(val[i], str, max); snprintf(ref, max, "%g", val[i]); CU_ASSERT(len == strlen(ref)); CU_ASSERT_STRING_EQUAL(str, ref); } }