pure quadratic is working

This commit is contained in:
hugogogo
2026-05-14 23:43:58 +02:00
parent 6c6accc289
commit aa78af4e0f
7 changed files with 83 additions and 39 deletions

View File

@@ -33,26 +33,42 @@ static void print_solution_pure_radicand_positiv(s_solution_degree_2_pure soluti
numerator = solution.numerator_sqrt;
denominator = solution.denominator_sqrt;
reduce_fraction(&numerator, &denominator);
printf("%g/%g\n", numerator, denominator);
printf("-%g/%g\n", numerator, denominator);
if (is_nearly_equal(denominator, 1))
{
printf("%g\n", numerator);
printf("-%g\n", numerator);
}
else
{
printf("%g/%g\n", numerator, denominator);
printf("-%g/%g\n", numerator, denominator);
}
}
else if (solution.numerator_sqrt_is_int)
{
printf("%g/√(%g)\n", solution.numerator_sqrt, solution.c);
printf("-%g/√(%g)\n", solution.numerator_sqrt, solution.c);
printf("%g/√(%g)\n", solution.numerator_sqrt, solution.denominator);
printf("-%g/√(%g)\n", solution.numerator_sqrt, solution.denominator);
}
else if (solution.denominator_sqrt_is_int)
{
printf("√(%g)/%g\n", solution.a, solution.denominator_sqrt);
printf("-√(%g)/%g\n", solution.a, solution.denominator_sqrt);
printf("√(%g)/%g\n", solution.numerator, solution.denominator_sqrt);
printf("-√(%g)/%g\n", solution.numerator, solution.denominator_sqrt);
}
else
{
numerator = solution.numerator_sqrt;
denominator = solution.denominator_sqrt;
numerator = solution.numerator;
denominator = solution.denominator;
reduce_fraction(&numerator, &denominator);
printf("√(%g/%g)\n", numerator, denominator);
printf("-√(%g/%g)\n", numerator, denominator);
if (is_nearly_equal(denominator, 1))
{
printf("√(%g)\n", numerator);
printf("-√(%g)\n", numerator);
}
else
{
printf("√(%g/%g)\n", numerator, denominator);
printf("-√(%g/%g)\n", numerator, denominator);
}
}
}
@@ -67,26 +83,42 @@ static void print_solution_pure_radicand_negativ(s_solution_degree_2_pure soluti
numerator = solution.numerator_sqrt;
denominator = solution.denominator_sqrt;
reduce_fraction(&numerator, &denominator);
printf("i%g/%g\n", numerator, denominator);
printf("-i%g/%g\n", numerator, denominator);
if (is_nearly_equal(denominator, 1))
{
printf("i%g\n", numerator);
printf("-i%g\n", numerator);
}
else
{
printf("i%g/%g\n", numerator, denominator);
printf("-i%g/%g\n", numerator, denominator);
}
}
else if (solution.numerator_sqrt_is_int)
{
printf("i%g/√(%g)\n", solution.numerator_sqrt, solution.c);
printf("-i%g/√(%g)\n", solution.numerator_sqrt, solution.c);
printf("i%g/√(%g)\n", solution.numerator_sqrt, solution.denominator);
printf("-i%g/√(%g)\n", solution.numerator_sqrt, solution.denominator);
}
else if (solution.denominator_sqrt_is_int)
{
printf("i√(%g)/%g\n", solution.a, solution.denominator_sqrt);
printf("-i√(%g)/%g\n", solution.a, solution.denominator_sqrt);
printf("i√(%g)/%g\n", solution.numerator, solution.denominator_sqrt);
printf("-i√(%g)/%g\n", solution.numerator, solution.denominator_sqrt);
}
else
{
numerator = solution.a;
denominator = solution.c;
numerator = solution.numerator;
denominator = solution.denominator;
reduce_fraction(&numerator, &denominator);
printf("i√(%g/%g)\n", numerator, denominator);
printf("-i√(%g/%g)\n", numerator, denominator);
if (is_nearly_equal(denominator, 1))
{
printf("i√(%g)\n", numerator);
printf("-i√(%g)\n", numerator);
}
else
{
printf("i√(%g/%g)\n", numerator, denominator);
printf("-i√(%g/%g)\n", numerator, denominator);
}
}
}