bullet 0.1.2

Supersonic Math
/// Constant are taken from
/// (Charles K Garrett. "Fast Polynomial Approximations to Sine and Cosine".
///  February 17, 2012)[https://github.com/s3bk/fmath/blob/master/doc/9F5ADB2DA8146659.pdf]

/// [-PI, PI] err ~ 6.65e-4
pub static SIN_4_PI: &'static [f64; 4] = &[
   -1.47740880797318521837e-04,
    7.99858143743132551201e-03,
   -1.65838452698030873892e-01,
    9.99450193893262089505e-01
];

/// [-PI, PI] err ~ 1.72e-5
pub static SIN_5_PI: &'static [f64; 5] = &[
    2.17326217498596729611e-06,
   -1.93162796407356830500e-04,
    8.31238887417884598346e-03,
   -1.66632595072086745320e-01,
    9.99984594193494365437e-01
];

/// [-PI, PI] err ~ 3.06e-7
pub static SIN_6_PI: &'static [f64; 6] = &[
   -2.05342856289746600727e-08,
    2.70405218307799040084e-06,
   -1.98125763417806681909e-04,
    8.33255814755188010464e-03,
   -1.66665772196961623983e-01,
    9.99999707044156546685e-01
];

/// [-PI, PI] err ~ 3.95e-9
pub static SIN_7_PI: &'static [f64; 7] = &[
    1.35333825545218599272e-10,
   -2.47016425480527869032e-08,
    2.75322955330449911163e-06,
   -1.98403112669018996690e-04,
    8.33331451433080749755e-03,
   -1.66666650437066346286e-01,
    9.99999995973569972699e-01
];

/// [-PI, PI] err ~ 3.88e-11
pub static SIN_8_PI: &'static [f64; 8] = &[
   -6.58075489175121657026e-13,
    1.58850004791504823423e-10,
   -2.50368914392103083120e-08,
    2.75565598752102704008e-06,
   -1.98412483604340805859e-04,
    8.33333301181570639096e-03,
   -1.66666666451352167974e-01,
    9.99999999958141380079e-01
];

/// [-PI, PI] err ~ 3.00e-13
pub static SIN_9_PI: &'static [f64; 9] = &[
    2.45928524290153002259e-15,
   -7.58106260511361554811e-13,
    1.60521984385153059172e-10,
   -2.50516861359706378210e-08,
    2.75573034843986111280e-06,
   -1.98412694971242118241e-04,
    8.33333332926687803703e-03,
   -1.66666666664489411560e-01,
    9.99999999999659411867e-01
];

/// [-PI, PI] err ~ 2.09e-15
pub static SIN_10_PI: &'static [f64; 10] = &[
   -7.28638965935448382375e-18,
    2.79164354009975374566e-15,
   -7.64479307785677023759e-13,
    1.60588695928966278105e-10,
   -2.50521003012188316353e-08,
    2.75573189892671884365e-06,
   -1.98412698371840334929e-04,
    8.33333333329438515047e-03,
   -1.66666666666649732329e-01,
    9.99999999999997848557e-01
];

/// [-PI, PI] err ~ 7.53e-16
pub static SIN_11_PI: &'static [f64; 11] = &[
    2.47852306233493974115e-20,
   -8.53932287916564238231e-18,
    2.81875350346861226633e-15,
   -7.64807134493815932275e-13,
    1.60591122567208977895e-10,
   -2.50521116230089813913e-08,
    2.75573193196855760359e-06,
   -1.98412698429672570320e-04,
    8.33333333334987771150e-03,
   -1.66666666666674074058e-01,
    1.00000000000000098216e+00
];


/// [-PI, PI] err ~ 3.49e-3
pub static COS_4_PI: &'static [f64; 4] = &[
   -9.92863295193013173583e-04,
    3.95223221293306431394e-02,
   -4.96248679451054559990e-01,
    9.98987171037332669123e-01
];

/// [-PI, PI] err ~ 1.13e-4
pub static COS_5_PI: &'static [f64; 5] = &[
    1.90652668840074246305e-05,
   -1.34410769349285321733e-03,
    4.15223086250910767516e-02,
   -4.99837602272995734437e-01,
    9.99971094606182687341e-01
];

/// [-PI, PI] err ~ 2.40e-6
pub static COS_6_PI: &'static [f64; 6] = &[
   -2.21941782786353727022e-07,
    2.42532401381033027481e-05,
   -1.38627507062573673756e-03,
    4.16610337354021107429e-02,
   -4.99995582499065048420e-01,
    9.99999443739537210853e-01
];

/// [-PI, PI] err ~ 3.60e-8
pub static COS_7_PI: &'static [f64; 7] = &[
    1.73691489450821293670e-09,
   -2.71133771940801138503e-07,
    2.47734245730930250260e-05,
   -1.38879704270452054154e-03,
    4.16665243677686230461e-02,
   -4.99999917728614591900e-01,
    9.99999992290827491711e-01
];

/// [-PI, PI] err ~ 4.04e-10
pub static COS_8_PI: &'static [f64; 8] = &[
   -9.77507131527006498114e-12,
    2.06207503915813519567e-09,
   -2.75369918573799545860e-07,
    2.48006913718665260256e-05,
   -1.38888674687691339750e-03,
    4.16666641590361985136e-02,
   -4.99999998886526927002e-01,
    9.99999999919365479957e-01
];

/// [-PI, PI] err ~ 3.51e-12
pub static COS_9_PI: &'static [f64; 9] = &[
    4.14869721869947572436e-14,
   -1.13600777795958675706e-11,
    2.08661897358261903687e-09,
   -2.75567298437160383039e-07,
    2.48015679993921751541e-05,
   -1.38888885344276371809e-03,
    4.16666666341518636873e-02,
   -4.99999999988560571910e-01,
    9.99999999999340745485e-01
];

/// [-PI, PI] err ~ 2.44e-14
pub static COS_10_PI: &'static [f64; 10] = &[
   -1.37575838886898565259e-16,
    4.74225814185580801553e-14,
   -1.14665907159766034538e-11,
    2.08764760680501846130e-09,
   -2.75573074690581241811e-07,
    2.48015870025042435069e-05,
   -1.38888888845269412033e-03,
    4.16666666663444876020e-02,
   -4.99999999999908017012e-01,
    9.99999999999995685802e-01
];

/// [-PI, PI] err ~ 4.32e-16
pub static COS_11_PI: &'static [f64; 11] = &[
    3.68396216222400477886e-19,
   -1.55289318377801496607e-16,
    4.77840439714556611532e-14,
   -1.14706678499029860238e-11,
    2.08767534780769871595e-09,
   -2.75573191273279748439e-07,
    2.48015873000796780048e-05,
   -1.38888888888779804960e-03,
    4.16666666666665603386e-02,
   -5.00000000000000154115e-01,
    1.00000000000000001607e+00
];

/// [-PI/2, PI/2] err ~ 1.53e-6
pub static SIN_4_PI_HALF: &'static [f64; 4] = &[
   -1.84472205923290319050e-04,
    8.30951693978303246914e-03,
   -1.66651681010664443162e-01,
    9.99997487198168964891e-01
];

/// [-PI/2, PI/2] err 9.90e-9
pub static SIN_5_PI_HALF: &'static [f64; 5] = &[
    2.59811044408555809666e-06,
   -1.98047553009241346906e-04,
    8.33296401821855059586e-03,
   -1.66666515202236230156e-01,
    9.99999982782301183838e-01
];