poly.c File Reference

#include "common.h"
#include <stdio.h>
#include <math.h>
#include <signal.h>
#include "machine.h"
#include "bu.h"
#include "vmath.h"
#include "bn.h"

Include dependency graph for poly.c:

Go to the source code of this file.

Defines

#define Abs(a)   ((a) >= 0 ? (a) : -(a))
#define Max(a, b)   ((a) > (b) ? (a) : (b))
#define M_PI   3.14159265358979323846
#define PI_DIV_3   (M_PI/3.0)
#define SQRT3   1.732050808
#define THIRD   0.333333333333333333333333333
#define INV_TWENTYSEVEN   0.037037037037037037037037037
#define CUBEROOT(a)   (( (a) >= 0.0 ) ? pow( a, THIRD ) : -pow( -(a), THIRD ))
#define Max3(a, b, c)   ((c)>((a)>(b)?(a):(b)) ? (c) : ((a)>(b)?(a):(b)))

Functions

bn_polybn_poly_mul (register struct bn_poly *product, register const struct bn_poly *m1, register const struct bn_poly *m2)
 multiply two polynomials
bn_polybn_poly_scale (register struct bn_poly *eqn, double factor)
 scale a polynomial
bn_polybn_poly_add (register struct bn_poly *sum, register const struct bn_poly *poly1, register const struct bn_poly *poly2)
 add two polynomials
bn_polybn_poly_sub (register struct bn_poly *diff, register const struct bn_poly *poly1, register const struct bn_poly *poly2)
 subtract two polynomials
void bn_poly_synthetic_division (register struct bn_poly *quo, register struct bn_poly *rem, register const struct bn_poly *dvdend, register const struct bn_poly *dvsor)
 Divides any polynomial into any other polynomial using synthetic division. Both polynomials must have real coefficients.
int bn_poly_quadratic_roots (register struct bn_complex *roots, register const struct bn_poly *quadrat)
 Uses the quadratic formula to find the roots (in `complex' form) of any quadratic equation with real coefficients.
HIDDEN void bn_catch_FPE (int sig)
int bn_poly_cubic_roots (register struct bn_complex *roots, register const struct bn_poly *eqn)
int bn_poly_quartic_roots (register struct bn_complex *roots, register const struct bn_poly *eqn)
 Uses the quartic formula to find the roots ( in `complex' form ) of any quartic equation with real coefficients.
void bn_pr_poly (const char *title, register const struct bn_poly *eqn)
void bn_pr_roots (const char *title, const struct bn_complex *roots, int n)


Detailed Description

Library for dealing with polynomials.

Author - Jeff Hanes

Source - The U. S. Army Research Laboratory Aberdeen Proving Ground, Maryland 21005-5068 USA

Definition in file poly.c.


Define Documentation

#define Max3 a,
b,
 )     ((c)>((a)>(b)?(a):(b)) ? (c) : ((a)>(b)?(a):(b)))
 

Referenced by bn_poly_quartic_roots().


Generated on Mon Sep 18 01:25:03 2006 for BRL-CAD by  doxygen 1.4.6