use chrono::prelude::*;
use chrono::DateTime;
use wasm_bindgen::prelude::*;
use crate::constants::{DEG2RAD, TWO_PI};
use crate::ext::jday_date;
fn gstime_internal(jdut1: f64) -> f64 {
let tut1 = (jdut1 - 2451545.0) / 36525.0;
let mut temp = (-6.2e-6 * tut1 * tut1 * tut1)
+ (0.093104 * tut1 * tut1)
+ (((876600.0 * 3600.0) + 8640184.812866) * tut1)
+ 67310.54841; temp = ((temp * DEG2RAD) / 240.0) % TWO_PI;
if temp < 0.0 {
temp += TWO_PI;
}
temp
}
#[wasm_bindgen]
pub fn gstime(args: f64) -> f64 {
gstime_internal(args)
}
#[allow(dead_code)]
pub fn gstime_date(datetime: DateTime<Utc>) -> f64 {
let j_day = jday_date(datetime);
gstime_internal(j_day)
}