Пример #1
0
int f64_test(void)
{
    f64 a,b,c;

    a = f64_from_double(A);
    b = f64_from_double(B);
    c = f64_from_double(C);

    printf("************ F64\n\n");

    printf("*** ADD\n\n");
    printf("Result is        ");
    f64_print(f64_add(a,b));
    printf("\nResult should be %f\n\n", A+B);
    printf("Result is        ");
    f64_print(f64_add(b,c));
    printf("\nResult should be %f\n\n", B+C);
    printf("Result is        ");
    f64_print(f64_add(c,a));
    printf("\nResult should be %f\n\n", C+A);

    printf("*** SUB\n\n");
    printf("Result is        ");
    f64_print(f64_sub(a,b));
    printf("\nResult should be %f\n\n", A-B);
    printf("Result is        ");
    f64_print(f64_sub(b,c));
    printf("\nResult should be %f\n\n", B-C);
    printf("Result is        ");
    f64_print(f64_sub(c,a));
    printf("\nResult should be %f\n\n", C-A);

    printf("*** INV\n\n");
    printf("Result is        ");
    f64_print(f64_inv(a));
    printf("\nResult should be %f\n\n", 1.0/A);
    printf("Result is        ");
    f64_print(f64_inv(b));
    printf("\nResult should be %f\n\n", 1.0/B);
    printf("Result is        ");
    f64_print(f64_inv(c));
    printf("\nResult should be %f\n\n", 1.0/C);

    printf("*** MUL\n\n");
    printf("Result is        ");
    f64_print(f64_mul(a,b));
    printf("\nResult should be %f\n\n", A*B);
    printf("Result is        ");
    f64_print(f64_mul(b,c));
    printf("\nResult should be %f\n\n", B*C);
    printf("Result is        ");
    f64_print(f64_mul(c,a));
    printf("\nResult should be %f\n\n", C*A);

    printf("*** DIV\n\n");
    printf("Result is        ");
    f64_print(f64_div(a,b));
    printf("\nResult should be %f\n\n", A/B);
    printf("Result is        ");
    f64_print(f64_div(b,c));
    printf("\nResult should be %f\n\n", B/C);
    printf("Result is        ");
    f64_print(f64_div(c,a));
    printf("\nResult should be %f\n\n", C/A);

    printf("*** SQRT\n\n");
    printf("Result is        ");
    f64_print(f64_sqrt(a));
    f64_sqrt(a);
    printf("\nResult should be %f\n\n", sqrt(A));
    printf("Result is        ");
    f64_print(f64_sqrt(b));
    printf("\nResult should be %f\n\n", sqrt(B));
    printf("Result is        ");
    f64_print(f64_sqrt(c));
    printf("\nResult should be %f\n\n", sqrt(C));


    return 0;
}
Пример #2
0
f64 f64_div(f64 a, f64 b)
{
	if (F64_IS_ZERO(b))
		return F64_NAN;
	return f64_mul(a,f64_inv(b));
}