use std::f64::consts::*;
pub const URSA_DPI: f64 = PI;
pub const URSA_D2PI: f64 = TAU;
pub const URSA_DR2D: f64 = 57.29577951308232087679815;
pub const URSA_DD2R: f64 = 1.745329251994329576923691e-2;
pub const URSA_DR2AS: f64 = 206264.8062470963551564734;
pub const URSA_DAS2R: f64 = 4.848136811095359935899141e-6;
pub const URSA_DS2R: f64 = 7.272205216643039903848712e-5;
pub const URSA_TURNAS: f64 = 1296000.0;
pub const URSA_DMAS2R: f64 = URSA_DAS2R / 1e3;
pub const URSA_DTY: f64 = 365.242198781;
pub const URSA_DAYSEC: f64 = 86400.0;
pub const URSA_DJY: f64 = 365.25;
pub const URSA_DJC: f64 = 36525.0;
pub const URSA_DJM: f64 = 365250.0;
pub const URSA_DJ00: f64 = 2451545.0;
pub const URSA_DJM0: f64 = 2400000.5;
pub const URSA_DJM00: f64 = 51544.5;
pub const URSA_DJM77: f64 = 43144.0;
pub const URSA_TTMTAI: f64 = 32.184;
pub const URSA_DAU: f64 = 149597870.7e3;
pub const URSA_CMPS: f64 = 299792458.0;
pub const URSA_AULT: f64 = URSA_DAU/URSA_CMPS;
pub const URSA_DC: f64 = URSA_DAYSEC/URSA_AULT;
pub const URSA_ELG: f64 = 6.969290134e-10;
pub const URSA_ELB: f64 = 1.550519768e-8;
pub const URSA_TDB0: f64 = -6.55e-5;
pub const URSA_SRS: f64 = 1.97412574336e-8;
pub fn ursa_dint(a: f64)->f64 { if a<0.0{a.ceil()}else{ a.floor()} }
pub fn ursa_dnint(a: f64)->f64{ if a.abs()<0.5 {0.0}
else if a < 0.0 {(a-0.5).ceil()} else {(a+0.5).floor()} }
pub fn ursa_dsign(a: f64, b: f64)->f64{ if b<0.0{-a.abs()} else { a.abs() } }
pub fn ursa_gmax(a: f64,b: f64)->f64{a.max(b)}
pub fn ursa_gmin(a: f64, b: f64)->f64{a.min(b)}
pub const URSA_WGS84: i8 = 1;
pub const URSA_GRS80: i8 = 2;
pub const URSA_WGS72: i8 = 3;