init solver
This commit is contained in:
50
src/solver.c
Normal file
50
src/solver.c
Normal file
@@ -0,0 +1,50 @@
|
||||
/* solver.c */
|
||||
|
||||
#include "computorv1.h"
|
||||
|
||||
/*
|
||||
e_delta_sign delta_sign; // DELTA_PLUS or DELTA_MINUS or DELTA_ZERO
|
||||
double delta_absolute; // |Δ| == |b² - 4ac|
|
||||
int first_term_pgcd; // pgcd(b, 2a)
|
||||
int first_term_numerator; // -b / pgcd
|
||||
int first_term_denominator; // 2a / pgcd
|
||||
double first_term; // double (-b / 2a)
|
||||
int second_term_pgcd; // pgcd(√|Δ|, 2a)
|
||||
int second_term_numerator; // √|Δ| / pgcd
|
||||
int second_term_denominator; // 2a / pgcd
|
||||
double second_term; // double (√|Δ| / 2a)
|
||||
double solution1; // first_term + second_term
|
||||
double solution2; // first_term - second_term
|
||||
*/
|
||||
|
||||
void solve(const double *polynom, s_solution *solution)
|
||||
{
|
||||
double delta;
|
||||
double a;
|
||||
double b;
|
||||
double c;
|
||||
|
||||
a = polynom[2];
|
||||
b = polynom[1];
|
||||
c = polynom[0];
|
||||
delta = b * b - 4 * a * c;
|
||||
solution->delta_sign = ft_sign(delta);
|
||||
solution->delta_absolute = ft_abs(delta);
|
||||
// solution->first_term_pgcd = find_pgcd(b, 2 * a);
|
||||
// solution->first_term_numerator = ;
|
||||
// solution->first_term_denominator = ;
|
||||
// solution->first_term = ;
|
||||
// solution->second_term_pgcd = ;
|
||||
// solution->second_term_numerator = ;
|
||||
// solution->second_term_denominator = ;
|
||||
// solution->second_term = ;
|
||||
// solution->solution1 = solution->first_term;
|
||||
// if (solution->delta_sign == DELTA_ZERO)
|
||||
// {
|
||||
// solution->solution2 = ;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// solution->solution2 = 0.0;
|
||||
// }
|
||||
}
|
||||
Reference in New Issue
Block a user