Skip to content

Commit abf902c

Browse files
committed
add p_are_equal
1 parent 0c3f69f commit abf902c

File tree

2 files changed

+35
-0
lines changed

2 files changed

+35
-0
lines changed

lib/polynomial.c

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,3 +220,34 @@ degree p_derivate(const polynomial p, degree dp, polynomial r)
220220

221221
return dr;
222222
}
223+
224+
/**
225+
* Return 1 if the polynomials p and q are equal, 0 else.
226+
*
227+
* @param p first polynomial
228+
* @param dp degree of p
229+
* @param q second polynomial
230+
* @param dq degree of q
231+
* @return p == q
232+
*/
233+
int p_are_equal(const polynomial p, degree dp, const polynomial q, degree dq)
234+
{
235+
unsigned int i;
236+
237+
/* Test degree */
238+
if (dp != dq)
239+
{
240+
return 0;
241+
}
242+
243+
/* Test coefficients */
244+
for (i = 0; i <= dp; i++)
245+
{
246+
if (p[i] != q[i])
247+
{
248+
return 0;
249+
}
250+
}
251+
252+
return 1;
253+
}

lib/polynomial.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,3 +36,7 @@ integer p_horner(const polynomial p, degree dp, integer x);
3636
/* Derivate */
3737

3838
degree p_derivate(const polynomial p, degree dp, polynomial r);
39+
40+
/* Test */
41+
42+
int p_are_equal(const polynomial p, degree dp, const polynomial q, degree dq);

0 commit comments

Comments
 (0)