long.c
560 Bytes
#include <quiz.h>
#include <stdint.h>
#include <assert.h>
void assert_int64t_approximatively_equals_int64t(int64_t i, int64_t j) {
assert(i-j < 1000000);
assert(j-i < 1000000);
}
QUIZ_CASE(long_arithmetic) {
int64_t i = 123456789101112;
assert((float)i == 1.23456789101112e14f);
assert((double)i == 1.23456789101112e14);
float f = 123456789101112.12345f;
assert_int64t_approximatively_equals_int64t((int64_t)f, 123456789101112);
double d = 123456789101112.12345f;
assert_int64t_approximatively_equals_int64t((int64_t)d, 123456789101112);
}