|
int main() {
|
|
printf("=== Double Data Type Tests ===\n");
|
|
|
|
printf("Test 1: Double variable declaration and assignment\n");
|
|
double pi = 3.14159;
|
|
printf("pi = %f\n", pi);
|
|
printf("PASS: Double variable works\n");
|
|
|
|
printf("Test 2: Double arithmetic using helper functions\n");
|
|
double a = 10.5;
|
|
double b = 2.5;
|
|
printf("a = %f, b = %f\n", a, b);
|
|
|
|
double sum = double_add(a, b);
|
|
printf("a + b = %f\n", sum);
|
|
|
|
double diff = double_sub(a, b);
|
|
printf("a - b = %f\n", diff);
|
|
|
|
double prod = double_mul(a, b);
|
|
printf("a * b = %f\n", prod);
|
|
|
|
double quot = double_div(a, b);
|
|
printf("a / b = %f\n", quot);
|
|
printf("PASS: Double arithmetic works\n");
|
|
|
|
printf("Test 3: Type conversions\n");
|
|
int x = 42;
|
|
double dx = int_to_double(x);
|
|
printf("int %d converted to double: %f\n", x, dx);
|
|
|
|
double y = 99.9;
|
|
int iy = double_to_int(y);
|
|
printf("double %f converted to int: %d\n", y, iy);
|
|
printf("PASS: Type conversions work\n");
|
|
|
|
printf("Test 4: Double with mathematical functions\n");
|
|
double num = 16.0;
|
|
double sq = sqrt(double_to_int(num));
|
|
double sq_double = int_to_double(sq);
|
|
printf("sqrt(%f) = %f\n", num, sq_double);
|
|
printf("PASS: Math functions work with doubles\n");
|
|
|
|
printf("Test 5: Complex calculation\n");
|
|
double radius = 5.0;
|
|
double pi2 = 3.14159;
|
|
double area = double_mul(pi2, double_mul(radius, radius));
|
|
printf("Circle area (r=%f): %f\n", radius, area);
|
|
printf("PASS: Complex calculations work\n");
|
|
|
|
printf("\n=== All Double Tests Completed ===\n");
|
|
return 0;
|
|
}
|