add gcd if all int
This commit is contained in:
@@ -11,31 +11,49 @@ static void print_solution_degree_1(s_solution_degree_1 solution)
|
||||
static void print_solution_delta_zero(s_solution_degree_2 solution)
|
||||
{
|
||||
ft_printf("Discriminant is equal to zero, the solution is:\n");
|
||||
printf("%g\n", solution.first_term);
|
||||
printf("%g\n", solution.left_term);
|
||||
}
|
||||
|
||||
static void print_solution_delta_positiv(s_solution_degree_2 solution)
|
||||
{
|
||||
ft_printf("Discriminant is strictly positive, the two solutions are:\n");
|
||||
printf("%g\n", solution.first_term + solution.second_term);
|
||||
printf("%g\n", solution.first_term - solution.second_term);
|
||||
printf("%g\n", solution.left_term + solution.right_term);
|
||||
printf("%g\n", solution.left_term - solution.right_term);
|
||||
}
|
||||
|
||||
static void print_solution_delta_negativ(s_solution_degree_2 solution)
|
||||
{
|
||||
ft_printf("Discriminant is strictly negative, the two complex solutions are:\n");
|
||||
|
||||
// solution 1
|
||||
if (solution.b)
|
||||
printf("%g/%g + ", solution.b * -1, solution.a * 2);
|
||||
printf("%gi/%g\n", solution.delta_sqrt, solution.a * 2);
|
||||
if (solution.all_int)
|
||||
{
|
||||
// solution 1
|
||||
if (solution.b != 0.0)
|
||||
printf("%g/%g + ", solution.b * -1, solution.a * 2);
|
||||
printf("%gi/%g\n", solution.delta_sqrt, solution.a * 2);
|
||||
|
||||
// solution 2
|
||||
if (solution.b)
|
||||
printf("%g/%g - ", solution.b * -1, solution.a * 2);
|
||||
// solution 2
|
||||
if (solution.b != 0.0)
|
||||
printf("%g/%g - ", solution.b * -1, solution.a * 2);
|
||||
else
|
||||
printf("-");
|
||||
printf("%gi/%g\n", solution.delta_sqrt, solution.a * 2);
|
||||
}
|
||||
else
|
||||
printf("-");
|
||||
printf("%gi/%g\n", solution.delta_sqrt, solution.a * 2);
|
||||
{
|
||||
// solution 1
|
||||
if (solution.left_term != 0.0)
|
||||
printf("%g + ", solution.left_term);
|
||||
if (solution.right_term != 0.0)
|
||||
printf("i * %g\n", solution.right_term);
|
||||
|
||||
// solution 2
|
||||
if (solution.left_term != 0.0)
|
||||
printf("%g - ", solution.left_term);
|
||||
else
|
||||
printf("-");
|
||||
printf("i * %g\n", solution.right_term);
|
||||
}
|
||||
}
|
||||
|
||||
void print_solution(s_solution *solution)
|
||||
@@ -53,11 +71,11 @@ void print_solution(s_solution *solution)
|
||||
{
|
||||
solution_d2 = solution->solution_degree_2;
|
||||
delta_sign = solution_d2.delta_sign;
|
||||
if (delta_sign == 0)
|
||||
if (delta_sign == DELTA_ZERO)
|
||||
print_solution_delta_zero(solution_d2);
|
||||
else if (delta_sign > 0)
|
||||
else if (delta_sign == DELTA_PLUS)
|
||||
print_solution_delta_positiv(solution_d2);
|
||||
else if (delta_sign < 0)
|
||||
else if (delta_sign == DELTA_MINUS)
|
||||
print_solution_delta_negativ(solution_d2);
|
||||
else
|
||||
stop_errors("delta sign is wrong : '%i' , delta : '%g'", solution_d2.delta_sign, solution_d2.delta);
|
||||
|
||||
Reference in New Issue
Block a user