Example #1
0
 public void TestVersion()
 {
     using (var target = new SwissEph()) {
         Assert.AreEqual("2.01.00", target.swe_version());
         Assert.AreEqual("2.01.00-net-0006", target.swe_dotnet_version());
     }
 }
Example #2
0
        public void TestOnLoadFile()
        {
            // No file loading defined
            using (var target = new SwissEph()) {
                Assert.AreEqual("100: not found", target.swe_get_planet_name(SwissEph.SE_AST_OFFSET + 100));
            }

            // File loading defined, but file not found
            using (var target = new SwissEph()) {
                target.OnLoadFile += (s, e) => {
                    e.File = null;
                };
                Assert.AreEqual("100: not found", target.swe_get_planet_name(SwissEph.SE_AST_OFFSET + 100));
            }

            // File loading defined
            using (var target = new SwissEph()) {
                target.OnLoadFile += (s, e) => {
                    if (e.FileName == @"[ephe]\seasnam.txt") {
                        e.File = new System.IO.MemoryStream(System.Text.Encoding.ASCII.GetBytes(@"
            000096  Aegle
            000097  Klotho
            000098  Ianthe
            000099  Dike
            000100  Hekate
            000101  Helena
            000102  Miriam
            000103  Hera
            "));
                    } else
                        e.File = null;
                };
                Assert.AreEqual("Hekate", target.swe_get_planet_name(SwissEph.SE_AST_OFFSET + 100));
            }
        }
        public void Test_swe_get_planet_name()
        {
            using (var swe = new SwissEph()) {
                Assert.AreEqual("Sun", swe.swe_get_planet_name(SwissEph.SE_SUN));
                Assert.AreEqual("Moon", swe.swe_get_planet_name(SwissEph.SE_MOON));
                Assert.AreEqual("Mercury", swe.swe_get_planet_name(SwissEph.SE_MERCURY));
                Assert.AreEqual("Venus", swe.swe_get_planet_name(SwissEph.SE_VENUS));
                Assert.AreEqual("Earth", swe.swe_get_planet_name(SwissEph.SE_EARTH));
                Assert.AreEqual("Mars", swe.swe_get_planet_name(SwissEph.SE_MARS));
                Assert.AreEqual("Jupiter", swe.swe_get_planet_name(SwissEph.SE_JUPITER));
                Assert.AreEqual("Saturn", swe.swe_get_planet_name(SwissEph.SE_SATURN));
                Assert.AreEqual("Uranus", swe.swe_get_planet_name(SwissEph.SE_URANUS));
                Assert.AreEqual("Neptune", swe.swe_get_planet_name(SwissEph.SE_NEPTUNE));

                Assert.AreEqual("Pluto", swe.swe_get_planet_name(SwissEph.SE_PLUTO));
                Assert.AreEqual("mean Node", swe.swe_get_planet_name(SwissEph.SE_MEAN_NODE));
                Assert.AreEqual("true Node", swe.swe_get_planet_name(SwissEph.SE_TRUE_NODE));
                Assert.AreEqual("mean Apogee", swe.swe_get_planet_name(SwissEph.SE_MEAN_APOG));
                Assert.AreEqual("osc. Apogee", swe.swe_get_planet_name(SwissEph.SE_OSCU_APOG));
                Assert.AreEqual("Chiron", swe.swe_get_planet_name(SwissEph.SE_CHIRON));
                Assert.AreEqual("Pholus", swe.swe_get_planet_name(SwissEph.SE_PHOLUS));
                Assert.AreEqual("Ceres", swe.swe_get_planet_name(SwissEph.SE_CERES));
                Assert.AreEqual("Pallas", swe.swe_get_planet_name(SwissEph.SE_PALLAS));
                Assert.AreEqual("Juno", swe.swe_get_planet_name(SwissEph.SE_JUNO));
                Assert.AreEqual("Vesta", swe.swe_get_planet_name(SwissEph.SE_VESTA));
                Assert.AreEqual("intp. Apogee", swe.swe_get_planet_name(SwissEph.SE_INTP_APOG));
                Assert.AreEqual("intp. Perigee", swe.swe_get_planet_name(SwissEph.SE_INTP_PERG));

                Assert.AreEqual("Pluto", swe.swe_get_planet_name(SwissEph.SE_AST_OFFSET + 134340));

                // Call twice the same planet for code coverage in swe_get_planet_name optimization planet name
                Assert.AreEqual("Pluto", swe.swe_get_planet_name(SwissEph.SE_PLUTO));
                Assert.AreEqual("Pluto", swe.swe_get_planet_name(SwissEph.SE_PLUTO));
            }
        }
 public void Test_swe_get_planet_name_Fictitious()
 {
     using (var swe = new SwissEph()) {
         Assert.AreEqual("Cupido", swe.swe_get_planet_name(SwissEph.SE_FICT_OFFSET));
         Assert.AreEqual("name not found", swe.swe_get_planet_name(SwissEph.SE_FICT_MAX));
     }
 }
        public void Test_swe_set_topo()
        {
            using (var swe = new SwissEph())
            {
                double tjd = swe.swe_julday(1974, 8, 16, 0.5, SwissEph.SE_GREG_CAL);
                double[] geopos = new double[] { 47.853333, 5.333889, 468 };
                double[] xin1 = new double[6],
                    xin2 = new double[6],
                    xin3 = new double[6]
                    ; String serr = null;

                swe.swe_calc(tjd, SwissEph.SE_SUN, 33024, xin1, ref serr);
                Assert.AreEqual(0, xin1[0], 0.0000000000001);
                Assert.AreEqual(0, xin1[1], 0.0000000000001);
                Assert.AreEqual(0, xin1[2], 0.0000000000001);

                swe.swe_set_topo(geopos[0], geopos[1], geopos[2]);
                swe.swe_calc(tjd, SwissEph.SE_SUN, 33024, xin2, ref serr);
                Assert.AreEqual(142.78180233188, xin2[0], 0.000000000001);
                Assert.AreEqual(6.06728560368863E-05, xin2[1], 0.000000000001);
                Assert.AreEqual(1.01269577772231, xin2[2], 0.000000000001);

                swe.swe_calc(tjd, SwissEph.SE_SUN, 33024, xin3, ref serr);
                Assert.AreEqual(142.78180233188, xin3[0], 0.000000000001);
                Assert.AreEqual(6.06728560368863E-05, xin3[1], 0.0000000000001);
                Assert.AreEqual(1.01269577772231, xin3[2], 0.0000000000001);
            }
        }
Example #6
0
        public void TestRevjul()
        {
            using (var swe = new SwissEph()) {
                int y = 0, m = 0, d = 0; double ut = 0;

                swe.swe_revjul(0, SwissEph.SE_GREG_CAL, ref y, ref m, ref d, ref ut);
                Assert.AreEqual(-4713, y);
                Assert.AreEqual(11, m);
                Assert.AreEqual(24, d);
                Assert.AreEqual(12.0, ut);

                swe.swe_revjul(0, SwissEph.SE_JUL_CAL, ref y, ref m, ref d, ref ut);
                Assert.AreEqual(-4712, y);
                Assert.AreEqual(1, m);
                Assert.AreEqual(1, d);
                Assert.AreEqual(12.0, ut);

                swe.swe_revjul(2000000, SwissEph.SE_GREG_CAL, ref y, ref m, ref d, ref ut);
                Assert.AreEqual(763, y);
                Assert.AreEqual(9, m);
                Assert.AreEqual(18, d);
                Assert.AreEqual(12.0, ut);

                swe.swe_revjul(2000000, SwissEph.SE_JUL_CAL, ref y, ref m, ref d, ref ut);
                Assert.AreEqual(763, y);
                Assert.AreEqual(9, m);
                Assert.AreEqual(14, d);
                Assert.AreEqual(12.0, ut);

                swe.swe_revjul(2456774.20375, SwissEph.SE_GREG_CAL, ref y, ref m, ref d, ref ut);
                Assert.AreEqual(2014, y);
                Assert.AreEqual(4, m);
                Assert.AreEqual(26, d);
                Assert.AreEqual(16.8899999968708, ut, 0.0000000000001);
                Assert.AreEqual(16.0, Math.Floor(ut));
                Assert.AreEqual(1013, Math.Floor(ut * 60.0));
                Assert.AreEqual(53.0, (Math.Floor(ut * 60.0)) % 60.0);
                Assert.AreEqual(60803, Math.Floor(ut * 3600.0));
                Assert.AreEqual(23.9999887347221, (ut * 3600.0) % 60.0, 0.0000000000001);
                Assert.AreEqual(23, Math.Floor(ut * 3600.0) % 60.0);

                swe.swe_revjul(2442275.47916667, SwissEph.SE_GREG_CAL, ref y, ref m, ref d, ref ut);
                Assert.AreEqual(1974, y);
                Assert.AreEqual(8, m);
                Assert.AreEqual(15, d);
                Assert.AreEqual(23.5000000745058, ut, 0.0000000000001);
                Assert.AreEqual(23.0, Math.Floor(ut));
                Assert.AreEqual(1410.0, Math.Floor(ut * 60.0));
                Assert.AreEqual(30.0, (Math.Floor(ut * 60.0)) % 60.0);
                Assert.AreEqual(84600, Math.Floor(ut * 3600.0));
                Assert.AreEqual(0, Math.Floor(ut * 3600.0) % 60.0);
            }
        }
        public void TestDMS()
        {
            using (var sweph=new SwissEph()) {
                Assert.AreEqual("nan", sweph.DMS(double.NaN, 0, false));

                Assert.AreEqual("   0° 0' 0.0000", sweph.DMS(0, 0, false));
                Assert.AreEqual("   0° 0' 0.00000", sweph.DMS(0, 0, true));

                Assert.AreEqual("  12° 0' 0.0000", sweph.DMS(12, 0, false));
                Assert.AreEqual("  12° 0' 0.00000", sweph.DMS(12, 0, true));

                Assert.AreEqual(" -12° 0' 0.0000", sweph.DMS(-12, 0, false));
                Assert.AreEqual(" -12° 0' 0.00000", sweph.DMS(-12, 0, true));

                Assert.AreEqual(" 123° 0' 0.0000", sweph.DMS(123, 0, false));
                Assert.AreEqual(" 123° 0' 0.00000", sweph.DMS(123, 0, true));

                Assert.AreEqual("-123° 0' 0.0000", sweph.DMS(-123, 0, false));
                Assert.AreEqual("-123° 0' 0.00000", sweph.DMS(-123, 0, true));

                Assert.AreEqual("  12° 5'59.10000", sweph.DMS(12.1, 0, false));
                Assert.AreEqual("  12° 9' 0.0000", sweph.DMS(12.15, 0, false));
                Assert.AreEqual("  12°30' 0.00000", sweph.DMS(12.5, 0, true));

                Assert.AreEqual("  98°45'55.5556", sweph.DMS(98.7654321, 0, false));
                Assert.AreEqual("  98°45'55.55556", sweph.DMS(98.7654321, 0, true));

                Assert.AreEqual("  98h45'55.5556", sweph.DMS(98.7654321, SwissEph.SEFLG_EQUATORIAL, false));
                Assert.AreEqual("  98h45'55.55556", sweph.DMS(98.7654321, SwissEph.SEFLG_EQUATORIAL, true));

                Assert.AreEqual("   8 cn 45'55.5556", sweph.DMS(98.7654321, SwissEph.BIT_ZODIAC, false));
                Assert.AreEqual("   8 cn 45'55.55556", sweph.DMS(98.7654321, SwissEph.BIT_ZODIAC, true));

                Assert.AreEqual("  12°09'17.10000", sweph.DMS(12.155, SwissEph.BIT_LZEROES, false));
                Assert.AreEqual("  12°09'17.100000", sweph.DMS(12.155, SwissEph.BIT_LZEROES, true));

                Assert.AreEqual("  98°45'56\"", sweph.DMS(98.7654321, SwissEph.BIT_ROUND_SEC, false));
                Assert.AreEqual("  98°45'56\"", sweph.DMS(98.7654321, SwissEph.BIT_ROUND_SEC, true));

                Assert.AreEqual("  98°46'", sweph.DMS(98.7654321, SwissEph.BIT_ROUND_MIN, false));
                Assert.AreEqual("  98°46'", sweph.DMS(98.7654321, SwissEph.BIT_ROUND_MIN, true));

                Assert.AreEqual("  120ar009'17.10000", sweph.DMS(12.155, SwissEph.BIT_ZODIAC | SwissEph.BIT_LZEROES, false));
                Assert.AreEqual("  120ar009'17.100000", sweph.DMS(12.155, SwissEph.BIT_ZODIAC | SwissEph.BIT_LZEROES, true));

                Assert.AreEqual("   8 cn 45'56\"", sweph.DMS(98.7654321, SwissEph.BIT_ZODIAC | SwissEph.BIT_ROUND_SEC, false));
                Assert.AreEqual("   8 cn 45'56\"", sweph.DMS(98.7654321, SwissEph.BIT_ZODIAC | SwissEph.BIT_ROUND_SEC, true));

                Assert.AreEqual("   8 cn 46", sweph.DMS(98.7654321, SwissEph.BIT_ZODIAC | SwissEph.BIT_ROUND_MIN, false));
                Assert.AreEqual("   8 cn 46", sweph.DMS(98.7654321, SwissEph.BIT_ZODIAC | SwissEph.BIT_ROUND_MIN, true));

            }
        }
 public void Test_swe_azalt()
 {
     using (var swe = new SwissEph()) {
         double tjd = swe.swe_julday(1974, 8, 16, 0.5, SwissEph.SE_GREG_CAL);
         double[] geopos = new double[] { 47.853333, 5.333889, 468 };
         double[] xin = new double[6], xaz = new double[6]; String serr = null;
         swe.swe_calc(tjd, SwissEph.SE_SUN, SwissEph.SEFLG_MOSEPH, xin, ref serr);
         swe.swe_azalt(tjd, SwissEph.SE_ECL2HOR, geopos, 0, 0, xin, xaz);
         Assert.AreEqual(249.642425229358, xaz[0], 0.000000001);
         Assert.AreEqual(-32.8340786097275, xaz[1], 0.0000000001);
         Assert.AreEqual(-32.8340786097275, xaz[2], 0.0000000001);
     }
 }
 public void Test_swe_azalt_rev()
 {
     using (var swe = new SwissEph()) {
         double tjd = swe.swe_julday(1974, 8, 16, 0.5, SwissEph.SE_GREG_CAL);
         double[] geopos = new double[] { 47.853333, 5.333889, 468 };
         double[] xin = new double[] { 249.64242931513104, -32.8340765334715 };
         double[] xaz = new double[6];
         swe.swe_azalt_rev(tjd, SwissEph.SE_ECL2HOR, geopos, xin, xaz);
         Assert.AreEqual(142.779825047858, xaz[0], 0.000000000001);
         Assert.AreEqual(-1.90862916755642E-05, xaz[1], 0.0000000000001);
         Assert.AreEqual(0, xaz[2], 0.0000000000001);
     }
 }
        public void Test_swe_get_planet_name_Trace()
        {
            using (var swe = new SwissEph()) {
                List<String> trace_out = new List<string>();
                swe.OnTrace += (s, e) => {
                    trace_out.Add(e.Message);
                };
                Assert.AreEqual("Sun", swe.swe_get_planet_name(SwissEph.SE_SUN));

                CollectionAssert.AreEqual(new String[] {
                    "swe_get_planet_name: 0\tSun\t"
                }, trace_out);
            }
        }
 public void Test_swe_calc()
 {
     using (var swe = new SwissEph()) {
         double tjd = swe.swe_julday(1974, 8, 16, 0.5, SwissEph.SE_GREG_CAL);
         double[] geopos = new double[] { 47.853333, 5.333889, 468 };
         double[] xx = new double[6]; String serr = null;
         swe.swe_calc(tjd, SwissEph.SE_SUN, SwissEph.SEFLG_MOSEPH, xx, ref serr);
         Assert.AreEqual(142.779826288975, xx[0], 0.000000000001);
         Assert.AreEqual(-1.57665386141208E-05, xx[1], 0.0000000000001);
         Assert.AreEqual(1.01267253822512, xx[2], 0.0000000000001);
         Assert.AreEqual(0, xx[3], 0.0000000000001);
         Assert.AreEqual(0, xx[4], 0.0000000000001);
         Assert.AreEqual(0, xx[5], 0.0000000000001);
     }
 }
 public void Test_swe_calc_ut()
 {
     using (var swe = new SwissEph()) {
         double tjd = swe.swe_julday(1974, 8, 16, 0.5, SwissEph.SE_GREG_CAL);
         double[] geopos = new double[] { 47.853333, 5.333889, 468 };
         double[] xx = new double[6]; String serr = null;
         swe.swe_calc_ut(tjd, SwissEph.SE_SUN, SwissEph.SEFLG_MOSEPH, xx, ref serr);
         Assert.AreEqual(142.780328315269, xx[0], 0.000000000001);
         Assert.AreEqual(-1.57808056001826E-05, xx[1], 0.0000000000001);
         Assert.AreEqual(1.01267244282576, xx[2], 0.0000000000001);
         Assert.AreEqual(0, xx[3], 0.0000000000001);
         Assert.AreEqual(0, xx[4], 0.0000000000001);
         Assert.AreEqual(0, xx[5], 0.0000000000001);
     }
 }
Example #13
0
        public void TestJulDay()
        {
            using (var swe = new SwissEph()) {
                Assert.AreEqual(0.0, swe.swe_julday(-4713, 11, 24, 12.0, SwissEph.SE_GREG_CAL));

                Assert.AreEqual(0.0, swe.swe_julday(-4712, 1, 1, 12.0, SwissEph.SE_JUL_CAL));

                Assert.AreEqual(2000000.0, swe.swe_julday(763, 9, 18, 12.0, SwissEph.SE_GREG_CAL));

                Assert.AreEqual(2000000.0, swe.swe_julday(763, 9, 14, 12.0, SwissEph.SE_JUL_CAL));

                Assert.AreEqual(1063884, swe.swe_julday(-1800, 9, 18, 12.0, SwissEph.SE_GREG_CAL));

                Assert.AreEqual(1063865, swe.swe_julday(-1800, 9, 14, 12.0, SwissEph.SE_JUL_CAL));

                Assert.AreEqual(2442275.47916667, swe.swe_julday(1974, 8, 15, 23 + 30 / 60.0 + 0 / 3600.0, SwissEph.SE_GREG_CAL), 0.00000001);
                Assert.AreEqual(2456774.20375, swe.swe_julday(2014, 4, 26, SwissEph.GetHourValue(16, 53, 24), SwissEph.SE_GREG_CAL));
            }
        }
Example #14
0
 public void Test_swe_split_deg()
 {
     //public void swe_split_deg(double ddeg, Int32 roundflag, out Int32 ideg, out Int32 imin, out Int32 isec, out double dsecfr, out Int32 isgn);
     using (var target = new SwissEph()) {
         Assert.Inconclusive();
     }
 }
Example #15
0
 public void Test_swe_topo_arcus_visionis()
 {
     //public Int32 swe_topo_arcus_visionis(double tjdut, double[] dgeo, double[] datm, double[] dobs, Int32 helflag, double mag,
     //    double azi_obj, double alt_obj, double azi_sun, double azi_moon, double alt_moon, ref double dret, ref string serr);
     using (var target = new SwissEph()) {
         Assert.Inconclusive();
     }
 }
Example #16
0
 public void Test_swe_time_equ()
 {
     using (var target = new SwissEph()) {
         //public int swe_time_equ(double tjd, out double e, ref string serr);
     }
 }
Example #17
0
 public void Test_swe_sol_eclipse_when_loc()
 {
     //public Int32 swe_sol_eclipse_when_loc(double tjd_start, Int32 ifl, double[] geopos, double[] tret, double[] attr, bool backward, ref string serr);
     using (var target = new SwissEph()) {
         Assert.Inconclusive();
     }
 }
Example #18
0
 public void Test_swe_refrac()
 {
     using (var target = new SwissEph()) {
         //public double swe_refrac(double inalt, double atpress, double attemp, Int32 calc_flag);
     }
 }
Example #19
0
 public void Test_swe_lun_eclipse_when()
 {
     using (var target = new SwissEph()) {
         //public Int32 swe_lun_eclipse_when(double tjd_start, Int32 ifl, Int32 ifltype, double[] tret, bool backward, ref string serr);
     }
 }
Example #20
0
 public void Test_swe_radnorm()
 {
     using (var target = new SwissEph()) {
         //public double swe_radnorm(double x);
     }
 }
 public void TestGetPlanetName_Asteroid()
 {
     using (var swe = new SwissEph()) {
         Assert.AreEqual("10000", swe.swe_get_planet_name(SwissEph.SE_AST_OFFSET));
     }
 }
Example #22
0
 public void Test_swe_get_tid_acc()
 {
     using (var target = new SwissEph()) {
         //public double swe_get_tid_acc();
     }
 }
Example #23
0
 public void Test_swe_set_tid_acc()
 {
     using (var target = new SwissEph()) {
         //public void swe_set_tid_acc(double tidacc);
     }
 }
Example #24
0
 public void Test_swe_cotrans_sp()
 {
     using (var target = new SwissEph()) {
         //public void swe_cotrans_sp(CPointer<double> xpo, CPointer<double> xpn, double eps);
     }
 }
Example #25
0
 public void Test_swe_sidtime()
 {
     using (var target = new SwissEph()) {
         //public double swe_sidtime(double tjd_ut);
     }
 }
Example #26
0
 public void Test_swe_lat_to_lmt()
 {
     using (var target = new SwissEph()) {
         //public int swe_lat_to_lmt(double tjd_lat, double geolon, out double tjd_lmt, ref string serr);
     }
 }
Example #27
0
 public void Test_swe_sol_eclipse_where()
 {
     using (var target = new SwissEph()) {
         //public Int32 swe_sol_eclipse_where(double tjd, Int32 ifl, double[] geopos, double[] attr, ref string serr);
     }
 }
Example #28
0
 public void Test_swe_deg_midp()
 {
     using (var target = new SwissEph()) {
         //public double swe_deg_midp(double x1, double x0);
     }
 }
Example #29
0
 public void Test_swe_cotrans()
 {
     //public void swe_cotrans(CPointer<double> xpo, CPointer<double> xpn, double eps);
     using (var target = new SwissEph()) {
         Assert.Inconclusive();
     }
 }
Example #30
0
 public void Test_swe_split_deg()
 {
     using (var target = new SwissEph()) {
         //public void swe_split_deg(double ddeg, Int32 roundflag, out Int32 ideg, out Int32 imin, out Int32 isec, out double dsecfr, out Int32 isgn);
     }
 }
Example #31
0
 public void Test_swe_house_pos()
 {
     using (var target = new SwissEph()) {
         //public double swe_house_pos(double armc, double geolon, double eps, char hsys, double[] xpin, ref string serr);
     }
 }
Example #32
0
 public void Test_swe_refrac_extended()
 {
     using (var target = new SwissEph()) {
         //public double swe_refrac_extended(double inalt, double geoalt, double atpress, double attemp, double lapse_rate, Int32 calc_flag, double[] dret);
     }
 }
Example #33
0
 public void TestConstructor()
 {
     using (var target = new SwissEph()) {
     }
 }
Example #34
0
 public void Test_swe_set_tid_acc()
 {
     //public void swe_set_tid_acc(double tidacc);
     using (var target = new SwissEph()) {
         Assert.Inconclusive();
     }
 }
Example #35
0
 /// <summary>
 /// swe_set_topo()
 /// </summary>
 public void swe_set_topo(double geolon, double geolat, double height)
 {
     SwissEph.swe_set_topo(geolon, geolat, height);
 }
Example #36
0
 public void Test_swe_set_lapse_rate()
 {
     using (var target = new SwissEph()) {
         //public void swe_set_lapse_rate(double lapse_rate);
     }
 }
Example #37
0
 public void Test_swe_lun_eclipse_how()
 {
     using (var target = new SwissEph()) {
         //public Int32 swe_lun_eclipse_how(double tjd_ut, Int32 ifl, double[] geopos, double[] attr, ref string serr);
     }
 }
Example #38
0
 public Int32 swe_calc(double tjd, int ipl, Int32 iflag, double[] xx, ref string serr)
 {
     CheckInitialized();
     return(SwissEph.swe_calc(tjd, ipl, iflag, xx, ref serr));
 }
Example #39
0
 public void Test_swe_sidtime0()
 {
     //public double swe_sidtime0(double tjd_ut, double ecl, double nut);
     using (var target = new SwissEph()) {
         Assert.Inconclusive();
     }
 }
Example #40
0
 /// <summary>
 /// swe_sidtime()
 /// </summary>
 public double swe_sidtime(double tjd_ut)
 {
     return(SwissEph.swe_sidtime(tjd_ut));
 }
Example #41
0
 public void Test_swe_sol_eclipse_where()
 {
     //public Int32 swe_sol_eclipse_where(double tjd, Int32 ifl, double[] geopos, double[] attr, ref string serr);
     using (var target = new SwissEph()) {
         Assert.Inconclusive();
     }
 }
Example #42
0
 /// <summary>
 /// swe_fixstar()
 /// </summary>
 public Int32 swe_fixstar(string star, double tjd, double[] xx, ref string serr)
 {
     CheckInitialized();
     return(SwissEph.swe_fixstar(star, tjd, _SwissFlag, xx, ref serr));
 }
Example #43
0
 public void Test_swe_time_equ()
 {
     //public int swe_time_equ(double tjd, out double e, ref string serr);
     using (var target = new SwissEph()) {
         Assert.Inconclusive();
     }
 }
Example #44
0
 /// <summary>
 /// swe_get_planet_name()
 /// </summary>
 public string swe_get_planet_name(int ipl)
 {
     return(SwissEph.swe_get_planet_name(ipl));
 }
Example #45
0
 public void Test_swe_vis_limit_mag()
 {
     //public Int32 swe_vis_limit_mag(double tjdut, double[] geopos, double[] datm, double[] dobs, string ObjectName,
     //    Int32 helflag, double[] dret, ref string serr);
     using (var target = new SwissEph()) {
         Assert.Inconclusive();
     }
 }
Example #46
0
 /// <summary>
 /// swe_houses()
 /// </summary>
 public int swe_houses(double tjd_ut, double geolat, double geolon, double[] cusps, double[] ascmc)
 {
     CheckInitialized();
     return(SwissEph.swe_houses(tjd_ut, geolat, geolon, _Hsys, cusps, ascmc));
 }
Example #47
0
 public void Test_swe_close()
 {
     //public void swe_close();
     using (var target = new SwissEph()) {
         Assert.Inconclusive();
     }
 }
        public void TestHMS()
        {
            using (var sweph = new SwissEph()) {
                Assert.AreEqual("nan", sweph.HMS(double.NaN, 0, false));

                Assert.AreEqual("   0: 0: 0.0", sweph.HMS(0, 0, false));
                Assert.AreEqual("   0: 0: 0.0", sweph.HMS(0, 0, true));

                Assert.AreEqual("  12: 0: 0.0", sweph.HMS(12, 0, false));
                Assert.AreEqual("  12: 0: 0.0", sweph.HMS(12, 0, true));

                Assert.AreEqual(" -12: 0: 0.0", sweph.HMS(-12, 0, false));
                Assert.AreEqual(" -12: 0: 0.0", sweph.HMS(-12, 0, true));

                Assert.AreEqual(" 123: 0: 0.0", sweph.HMS(123, 0, false));
                Assert.AreEqual(" 123: 0: 0.0", sweph.HMS(123, 0, true));

                Assert.AreEqual("-123: 0: 0.0", sweph.HMS(-123, 0, false));
                Assert.AreEqual("-123: 0: 0.0", sweph.HMS(-123, 0, true));

                Assert.AreEqual("  12: 5:59.1", sweph.HMS(12.1, 0, false));
                Assert.AreEqual("  12: 9: 0.0", sweph.HMS(12.15, 0, false));
                Assert.AreEqual("  12:30: 0.0", sweph.HMS(12.5, 0, true));

                Assert.AreEqual("  98:45:55.5", sweph.HMS(98.7654321, 0, false));
                Assert.AreEqual("  98:45:55.5", sweph.HMS(98.7654321, 0, true));

                Assert.AreEqual("  98h45'55.5556", sweph.HMS(98.7654321, SwissEph.SEFLG_EQUATORIAL, false));
                Assert.AreEqual("  98h45'55.55556", sweph.HMS(98.7654321, SwissEph.SEFLG_EQUATORIAL, true));

                Assert.AreEqual("   8 cn 45'55.5556", sweph.HMS(98.7654321, SwissEph.BIT_ZODIAC, false));
                Assert.AreEqual("   8 cn 45'55.55556", sweph.HMS(98.7654321, SwissEph.BIT_ZODIAC, true));

                Assert.AreEqual("  12:09:17.1", sweph.HMS(12.155, SwissEph.BIT_LZEROES, false));
                Assert.AreEqual("  12:09:17.1", sweph.HMS(12.155, SwissEph.BIT_LZEROES, true));

                Assert.AreEqual("  98:45:56", sweph.HMS(98.7654321, SwissEph.BIT_ROUND_SEC, false));
                Assert.AreEqual("  98:45:56", sweph.HMS(98.7654321, SwissEph.BIT_ROUND_SEC, true));

                Assert.AreEqual("  98:46", sweph.HMS(98.7654321, SwissEph.BIT_ROUND_MIN, false));
                Assert.AreEqual("  98:46", sweph.HMS(98.7654321, SwissEph.BIT_ROUND_MIN, true));

                Assert.AreEqual("  120ar009'17.10000", sweph.HMS(12.155, SwissEph.BIT_ZODIAC | SwissEph.BIT_LZEROES, false));
                Assert.AreEqual("  120ar009'17.100000", sweph.HMS(12.155, SwissEph.BIT_ZODIAC | SwissEph.BIT_LZEROES, true));

                Assert.AreEqual("   8 cn 45'56\"", sweph.HMS(98.7654321, SwissEph.BIT_ZODIAC | SwissEph.BIT_ROUND_SEC, false));
                Assert.AreEqual("   8 cn 45'56\"", sweph.HMS(98.7654321, SwissEph.BIT_ZODIAC | SwissEph.BIT_ROUND_SEC, true));

                Assert.AreEqual("   8 cn 46", sweph.HMS(98.7654321, SwissEph.BIT_ZODIAC | SwissEph.BIT_ROUND_MIN, false));
                Assert.AreEqual("   8 cn 46", sweph.HMS(98.7654321, SwissEph.BIT_ZODIAC | SwissEph.BIT_ROUND_MIN, true));

            }
        }
Example #49
0
 public SwemMoon(SwissEph se)
     : base(se)
 {
 }
Example #50
0
 public SwephLib(SwissEph se)
     : base(se)
 {
     nls = SweNut200a.nls;
     cls = SweNut200a.cls;
     npl = SweNut200a.npl;
     icpl = SweNut200a.icpl;
     swed = SE.Sweph.swed;
 }
Example #51
0
 public void Test_swe_house_name()
 {
     using (var target = new SwissEph()) {
         //public string swe_house_name(char hsys);
     }
 }
Example #52
0
 public SweDate(SwissEph se)
     : base(se)
 {
 }
Example #53
0
 public SweDate(SwissEph se)
     : base(se)
 {
 }
Example #54
0
 public void Test_swe_pheno_ut()
 {
     using (var target = new SwissEph()) {
         //public Int32 swe_pheno_ut(double tjd_ut, Int32 ipl, Int32 iflag, double[] attr, ref string serr);
     }
 }
Example #55
0
 public SweCL(SwissEph se)
     : base(se)
 {
 }
Example #56
0
        //static int Main_TestValues(string[] args) {
        //    int jyear = 2014,
        //        jmon = 4,
        //        jday = 21,
        //        jhour = 20,
        //        jmin = 41,
        //        jsec = 23;
        //    using (Sweph sweph = new Sweph()) {
        //        double jut = jhour + (jmin / 60.0) + (jsec / 3600.0);
        //        double tjd = sweph.swe_julday(jyear, jmon, jday, jut, SwissEph.SE_GREG_CAL);
        //        double deltat = sweph.swe_deltat(tjd);
        //        double te = tjd + deltat;
        //        printf("date: %02d.%02d.%d at %02d:%02d:%02d\nDeltat : %f\nJulian Day : %f\nEphemeris Time : %f\n", jday, jmon, jyear, jhour, jmin, jsec, deltat, tjd, te);

        //        var date = new DateUT(jyear, jmon, jday, jhour, jmin, jsec);
        //        var jd = sweph.JulianDay(date, DateCalendar.Gregorian);
        //        var et = sweph.EphemerisTime(jd);
        //        printf("date: %02d.%02d.%d at %02d:%02d:%02d\nDeltat : %f\nJulian Day : %f\nEphemeris Time : %f\n",
        //            date.Day, date.Month, date.Year, date.Hours, date.Minutes, date.Seconds, et.DeltaT, jd.Value, et.Value);

        //    }

        //    Console.ReadKey();
        //    return 0;
        //}

        static int Main_Mini(string[] args)
        {
            string sdate = String.Empty, snam = String.Empty, serr = String.Empty;
            int    jday = 1, jmon = 1, jyear = 2000;
            double jut = 0.0;

            double[] x2 = new double[6];
            Int32    iflag, iflgret;

            //int p;
            using (var swe = new SwissEph())
            {
                swe.swe_set_ephe_path(null);
                iflag           = SwissEph.SEFLG_SPEED;
                swe.OnLoadFile += swe_OnLoadFile;
                while (true)
                {
                    Console.Write("\nDate (d.m.y) ? ");
                    sdate = Console.ReadLine();
                    if (String.IsNullOrWhiteSpace(sdate))
                    {
                        break;
                    }

                    /*
                     * stop if a period . is entered
                     */
                    if (sdate == ".")
                    {
                        return(SwissEph.OK);
                    }
                    var match = Regex.Match(sdate, @"(\d+)\.(\d+)\.(\d+)");
                    if (!match.Success)
                    {
                        continue;
                    }
                    jday  = int.Parse(match.Groups[1].Value);
                    jmon  = int.Parse(match.Groups[2].Value);
                    jyear = int.Parse(match.Groups[3].Value);

                    /*
                     * we have day, month and year and convert to Julian day number
                     */
                    var jd = swe.swe_julday(jyear, jmon, jday, jut, SwissEph.SE_GREG_CAL);

                    /*
                     * compute Ephemeris time from Universal time by adding delta_t
                     */
                    var te = jd + swe.swe_deltat(jd);
                    Console.WriteLine("date: {0:00}.{1:00}.{2:D4} at 0:00 Universal time", jday, jmon, jyear);
                    Console.WriteLine("planet     \tlongitude\tlatitude\tdistance\tspeed long.");

                    /*
                     * a loop over all planets
                     */
                    for (var p = SwissEph.SE_SUN; p <= SwissEph.SE_CHIRON; p++)
                    {
                        if (p == SwissEph.SE_EARTH)
                        {
                            continue;
                        }

                        /*
                         * do the coordinate calculation for this planet p
                         */
                        iflgret = swe.swe_calc(te, p, iflag, x2, ref serr);

                        /*
                         * if there is a problem, a negative value is returned and an
                         * errpr message is in serr.
                         */
                        if (iflgret < 0)
                        {
                            printf("error: %s\n", serr);
                        }
                        else if (iflgret != iflag)
                        {
                            printf("warning: iflgret != iflag. %s\n", serr);
                        }

                        /*
                         * get the name of the planet p
                         */
                        snam = swe.swe_get_planet_name(p);

                        /*
                         * print the coordinates
                         */
                        printf("%10s\t%11.7f\t%10.7f\t%10.7f\t%10.7f\n",
                               snam, x2[0], x2[1], x2[2], x2[3]);
                    }
                }
            }

#if DEBUG
            Console.Write("\nPress a key to quit...");
            Console.ReadKey();
#endif
            return(0);
        }
Example #57
0
 /// <summary>
 /// swe_houses_ex()
 /// </summary>
 public int swe_houses_ex(double tjd_ut, double geolat, double geolon, CPointer <double> hcusps, CPointer <double> ascmc)
 {
     CheckInitialized();
     return(SwissEph.swe_houses_ex(tjd_ut, _SwissFlag, geolat, geolon, _Hsys, hcusps, ascmc));
 }
Example #58
0
 public void Test_swe_lun_eclipse_when_loc()
 {
     using (var target = new SwissEph()) {
         //public Int32 swe_lun_eclipse_when_loc(double tjd_start, Int32 ifl, double[] geopos, double[] tret, double[] attr, bool backward, ref string serr);
     }
 }
Example #59
0
 public SweNut200a(SwissEph se)
     : base(se)
 {
 }
Example #60
0
 /// <summary>
 /// swe_house_pos()
 /// </summary>
 public double swe_house_pos(double armc, double geolon, double eps, double[] xpin, ref string serr)
 {
     CheckInitialized();
     return(SwissEph.swe_house_pos(armc, geolon, eps, _Hsys, xpin, ref serr));
 }