Blame view

epsilon-master/liba/test/long.c 560 Bytes
6663b6c9   adorian   projet complet av...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
  #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);
  }