Class Poly


  • public class Poly
    extends java.lang.Object
    Solution of cubic, quartic, and quintic equations Ported from code written by (c) Khashin S.I. http://math.ivanovo.ac.ru/dalgebra/Khashin/index.html // khash2 (at) gmail.com // Thanks to Alexandr Rakhmanin // public domain
    Author:
    ilb
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private double eps  
      private double TwoPi  
    • Constructor Summary

      Constructors 
      Constructor Description
      Poly()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private double _root3​(double x)  
      private void CSqrt​(double x, double y, double[] a, double[] b)  
      private void dblSort3​(double[] a, double[] b, double[] c)  
      double F5​(double t, double a, double b, double c, double d, double e)  
      private double N4Step​(double x, double a, double b, double c, double d)  
      private double root3​(double x)  
      void selfTest()  
      int SolveP2​(double[] x, double a, double b)  
      int SolveP3​(double[] x, double a, double b, double c)  
      int SolveP4​(double[] x, double a, double b, double c, double d)  
      private int SolveP4Bi​(double[] x, double b, double d)  
      private int SolveP4De​(double[] x, double b, double c, double d)  
      int SolveP5​(double[] x, double a, double b, double c, double d, double e)  
      private double SolveP5_1​(double a, double b, double c, double d, double e)  
      private void SWAP​(double[] a, double[] b)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Poly

        public Poly()
    • Method Detail

      • selfTest

        public void selfTest()
      • _root3

        private double _root3​(double x)
      • root3

        private double root3​(double x)
      • SolveP2

        public int SolveP2​(double[] x,
                           double a,
                           double b)
      • SolveP3

        public int SolveP3​(double[] x,
                           double a,
                           double b,
                           double c)
      • CSqrt

        private void CSqrt​(double x,
                           double y,
                           double[] a,
                           double[] b)
      • SolveP4Bi

        private int SolveP4Bi​(double[] x,
                              double b,
                              double d)
      • SWAP

        private void SWAP​(double[] a,
                          double[] b)
      • dblSort3

        private void dblSort3​(double[] a,
                              double[] b,
                              double[] c)
      • SolveP4De

        private int SolveP4De​(double[] x,
                              double b,
                              double c,
                              double d)
      • N4Step

        private double N4Step​(double x,
                              double a,
                              double b,
                              double c,
                              double d)
      • SolveP4

        public int SolveP4​(double[] x,
                           double a,
                           double b,
                           double c,
                           double d)
      • F5

        public double F5​(double t,
                         double a,
                         double b,
                         double c,
                         double d,
                         double e)
      • SolveP5_1

        private double SolveP5_1​(double a,
                                 double b,
                                 double c,
                                 double d,
                                 double e)
      • SolveP5

        public int SolveP5​(double[] x,
                           double a,
                           double b,
                           double c,
                           double d,
                           double e)