//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.1
//
// Do not make changes to this file unless you know what you are doing - modify
// the SWIG interface file instead.
//------------------------------------------------------------------------------


public class sxtwl {
  public static Day fromSolar(int year, byte month, int day) {
    global::System.IntPtr cPtr = sxtwlPINVOKE.fromSolar(year, month, day);
    Day ret = (cPtr == global::System.IntPtr.Zero) ? null : new Day(cPtr, false);
    return ret;
  }

  public static Day fromLunar(int year, byte month, int day, bool isRun) {
    global::System.IntPtr cPtr = sxtwlPINVOKE.fromLunar__SWIG_0(year, month, day, isRun);
    Day ret = (cPtr == global::System.IntPtr.Zero) ? null : new Day(cPtr, false);
    return ret;
  }

  public static Day fromLunar(int year, byte month, int day) {
    global::System.IntPtr cPtr = sxtwlPINVOKE.fromLunar__SWIG_1(year, month, day);
    Day ret = (cPtr == global::System.IntPtr.Zero) ? null : new Day(cPtr, false);
    return ret;
  }

  public static JDList siZhu2Year(GZ year, GZ yue, GZ ri, GZ shi, int fromYear, int toYear) {
    JDList ret = new JDList(sxtwlPINVOKE.siZhu2Year(GZ.getCPtr(year), GZ.getCPtr(yue), GZ.getCPtr(ri), GZ.getCPtr(shi), fromYear, toYear), true);
    if (sxtwlPINVOKE.SWIGPendingException.Pending) throw sxtwlPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static GZ getShiGz(byte dayTg, byte hour, bool isZaoWanZiShi) {
    GZ ret = new GZ(sxtwlPINVOKE.getShiGz__SWIG_0(dayTg, hour, isZaoWanZiShi), true);
    return ret;
  }

  public static GZ getShiGz(byte dayTg, byte hour) {
    GZ ret = new GZ(sxtwlPINVOKE.getShiGz__SWIG_1(dayTg, hour), true);
    return ret;
  }

  public static byte getRunMonth(int By) {
    byte ret = sxtwlPINVOKE.getRunMonth(By);
    return ret;
  }

  public static byte getLunarMonthNum(int By, byte month, bool isRun) {
    byte ret = sxtwlPINVOKE.getLunarMonthNum__SWIG_0(By, month, isRun);
    return ret;
  }

  public static byte getLunarMonthNum(int By, byte month) {
    byte ret = sxtwlPINVOKE.getLunarMonthNum__SWIG_1(By, month);
    return ret;
  }

  public static Time JD2DD(double jd) {
    Time ret = new Time(sxtwlPINVOKE.JD2DD(jd), true);
    return ret;
  }

  public static double toJD(Time time) {
    double ret = sxtwlPINVOKE.toJD(Time.getCPtr(time));
    if (sxtwlPINVOKE.SWIGPendingException.Pending) throw sxtwlPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static JQList getJieQiByYear(int year) {
    JQList ret = new JQList(sxtwlPINVOKE.getJieQiByYear(year), true);
    return ret;
  }

  public static readonly int J2000 = sxtwlPINVOKE.J2000_get();
}