34 #ifndef MATHLIB_EXP10_SCALAR_H_
35 #define MATHLIB_EXP10_SCALAR_H_
43 #include "../common/MATHLIB_scalarTables.h"
44 #include "../common/MATHLIB_types.h"
45 #include "c6x_migration.h"
53 #pragma CODE_SECTION(MATHLIB_exp10_scalar_ci, ".text:optci");
58 float log2_base_x16 = 16.0f * 3.321928095f;
60 float LnMine = -87.33654475f;
61 float LnMaxe = 88.72283905f;
62 float Maxe = 3.402823466E+38f;
63 float c0 = 0.1667361910f;
64 float c1 = 0.4999999651f;
65 float c2 = 0.9999998881f;
66 float P1 = 0.04331970214844f;
67 float P2 = 1.99663646e-6f;
68 float k10e = 2.302585093f;
69 float pol, r, r2, r3, res, Ye;
70 unsigned int Ttemp, J, K;
78 Nf = (a * log2_base_x16) + Halfe;
81 if ((a * log2_base_x16) < -Halfe) {
86 r = (Ye - (P1 * (float) N)) - (P2 * (
float) N);
90 pol = (r * c2) + ((r3 * c0) + (r2 * c1));
93 K = _extu((
unsigned int) N, 28u, 30u);
94 J = (
unsigned int) N & 0x3u;
98 Ttemp = _hi(dT) + (((
unsigned int) N >> 4) << 20);
99 dT = _itod(Ttemp, _lo(dT));
101 res = (float) (dT * (1.0 + (
double) pol));
104 if (_extu(_ftoi(Ye), 1u, 24u) < 114u) {
float MATHLIB_exp10_scalar_ci(float a)
const double MATHLIB_kTable[4]
const double MATHLIB_jTable[4]