2020-06-13

2020-06-13

しょうもないコードを書いた。C言語のassertの使い方を知りたかった。
2点の距離を求める関数と、その動作を確認するassertの組み合わせ。

#include <assert.h>
#include <math.h>

double distance(double p1x, double p1y, double p2x, double p2y) {
    return sqrt((p1x-p2x) * (p1x-p2x) + (p1y-p2y) * (p1y-p2y));
}

int main(int argc, char *argv[]) {
    const double r2 = 1.41421356;
    const double e = 0.000001;
    const double d = distance(0, 0, 5, 5);
    assert(5*r2-e < d && d < 5*r2+e);
    return 0;
}