13 @addtogroup A_POLY polynomial
17 #if defined(__cplusplus)
19 #endif /* __cplusplus */
20 #if defined(LIBA_POLY_C)
22 #define A_INTERN A_INLINE
23 #endif /* LIBA_POLY_C */
26 @brief swap between \f$ \sum_{i=0}^{n}a_{i}x^{i} \f$ and \f$ \sum_{i=0}^{n}a_{i}x^{n-i} \f$
28 A_EXTERN a_float
*a_poly_swap(a_float
*a
, a_size n
);
31 @brief horner function for polynomial \f$ \sum_{i=0}^{n}a_{i}x^{i} \f$
33 \left\{\begin{array}{l}
35 S_i = xS_{i+1} + a_i,\quad(i=n-1,n-2,\cdots,1,0)\\
40 #if !defined A_HAVE_INLINE || defined(LIBA_POLY_C)
41 A_EXTERN a_float
a_poly_eval(a_float
const *a
, a_size n
, a_float x
);
42 #endif /* A_HAVE_INLINE */
43 A_EXTERN a_float
a_poly_eval_(a_float
const *a
, a_float
const *b
, a_float x
);
44 #if defined(A_HAVE_INLINE) || defined(LIBA_POLY_C)
45 A_INTERN a_float
a_poly_eval(a_float
const *a
, a_size n
, a_float x
)
47 return n
? a_poly_eval_(a
, a
+ n
, x
) : 0;
49 #endif /* A_HAVE_INLINE */
52 @brief horner function for polynomial \f$ \sum_{i=0}^{n}a_{i}x^{n-i} \f$
54 \left\{\begin{array}{l}
56 S_i = xS_{i-1} + a_i,\quad(i=1,2,\cdots,n-1,n)\\
61 #if !defined A_HAVE_INLINE || defined(LIBA_POLY_C)
62 A_EXTERN a_float
a_poly_evar(a_float
const *a
, a_size n
, a_float x
);
63 #endif /* A_HAVE_INLINE */
64 A_EXTERN a_float
a_poly_evar_(a_float
const *a
, a_float
const *b
, a_float x
);
65 #if defined(A_HAVE_INLINE) || defined(LIBA_POLY_C)
66 A_INTERN a_float
a_poly_evar(a_float
const *a
, a_size n
, a_float x
)
68 return n
? a_poly_evar_(a
, a
+ n
, x
) : 0;
70 #endif /* A_HAVE_INLINE */
72 #if defined(LIBA_POLY_C)
74 #define A_INTERN static A_INLINE
75 #endif /* LIBA_POLY_C */
76 #if defined(__cplusplus)
78 #endif /* __cplusplus */