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()); } }
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); } }
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); } }
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)); } }
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(); } }
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(); } }
public void Test_swe_time_equ() { using (var target = new SwissEph()) { //public int swe_time_equ(double tjd, out double e, ref string serr); } }
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(); } }
public void Test_swe_refrac() { using (var target = new SwissEph()) { //public double swe_refrac(double inalt, double atpress, double attemp, Int32 calc_flag); } }
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); } }
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)); } }
public void Test_swe_get_tid_acc() { using (var target = new SwissEph()) { //public double swe_get_tid_acc(); } }
public void Test_swe_set_tid_acc() { using (var target = new SwissEph()) { //public void swe_set_tid_acc(double tidacc); } }
public void Test_swe_cotrans_sp() { using (var target = new SwissEph()) { //public void swe_cotrans_sp(CPointer<double> xpo, CPointer<double> xpn, double eps); } }
public void Test_swe_sidtime() { using (var target = new SwissEph()) { //public double swe_sidtime(double tjd_ut); } }
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); } }
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); } }
public void Test_swe_deg_midp() { using (var target = new SwissEph()) { //public double swe_deg_midp(double x1, double x0); } }
public void Test_swe_cotrans() { //public void swe_cotrans(CPointer<double> xpo, CPointer<double> xpn, double eps); using (var target = new SwissEph()) { Assert.Inconclusive(); } }
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); } }
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); } }
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); } }
public void TestConstructor() { using (var target = new SwissEph()) { } }
public void Test_swe_set_tid_acc() { //public void swe_set_tid_acc(double tidacc); using (var target = new SwissEph()) { Assert.Inconclusive(); } }
/// <summary> /// swe_set_topo() /// </summary> public void swe_set_topo(double geolon, double geolat, double height) { SwissEph.swe_set_topo(geolon, geolat, height); }
public void Test_swe_set_lapse_rate() { using (var target = new SwissEph()) { //public void swe_set_lapse_rate(double lapse_rate); } }
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); } }
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)); }
public void Test_swe_sidtime0() { //public double swe_sidtime0(double tjd_ut, double ecl, double nut); using (var target = new SwissEph()) { Assert.Inconclusive(); } }
/// <summary> /// swe_sidtime() /// </summary> public double swe_sidtime(double tjd_ut) { return(SwissEph.swe_sidtime(tjd_ut)); }
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(); } }
/// <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)); }
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(); } }
/// <summary> /// swe_get_planet_name() /// </summary> public string swe_get_planet_name(int ipl) { return(SwissEph.swe_get_planet_name(ipl)); }
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(); } }
/// <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)); }
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)); } }
public SwemMoon(SwissEph se) : base(se) { }
public SwephLib(SwissEph se) : base(se) { nls = SweNut200a.nls; cls = SweNut200a.cls; npl = SweNut200a.npl; icpl = SweNut200a.icpl; swed = SE.Sweph.swed; }
public void Test_swe_house_name() { using (var target = new SwissEph()) { //public string swe_house_name(char hsys); } }
public SweDate(SwissEph se) : base(se) { }
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); } }
public SweCL(SwissEph se) : base(se) { }
//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); }
/// <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)); }
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); } }
public SweNut200a(SwissEph se) : base(se) { }
/// <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)); }