pub mod rfam;
pub mod prec_nut;
pub mod rot_time;
pub mod vector_matrix;
pub mod fundamental_args;
pub mod ephemerides;
pub mod galactic_coordinates;
pub mod ecliptic_coordinates;
pub mod astrometry;
pub mod geodetic_geocentric;
pub(crate) mod utils;
pub struct UrsaASTROM{
pmt: f64,
eb: [f64; 3],
eh: [f64; 3],
em: f64,
v: [f64; 3],
bm1:f64,
bpn:[[f64; 3]; 3],
along: f64,
phi: f64,
xpl: f64,
ypl: f64,
sphi: f64,
cphi: f64,
diurab: f64,
eral: f64,
refa: f64,
refb: f64,
}
pub struct UrsaLDBODY {
bm: f64,
dl: f64,
pv:[[f64; 3]; 2],
}
pub mod all{
use crate::*;
fn ursa_cal2jd(iy:i32, im:i32, id: i32, djm0: &mut f64, djm: &mut f64)-> i32{ todo!() }
fn ursa_epb(dj1: f64, dj2: f64)->f64{ todo!() }
fn ursa_epb2jd(epb: f64, djm0: &mut f64, djm: &mut f64)->f64{ todo!() }
fn ursa_epj(dj1:f64, dj2:f64)->f64{todo!() }
fn ursa_epj2jd(epj:f64, djm0: &mut f64, djm: &mut f64){todo!()}
fn ursa_Jd2cal(dj1:f64, dj2:f64,
iy: &mut i32, im: &mut i32, id: &mut i32, fd: &mut f64){todo!()}
fn ursa_Jdcalf(ndp:i32, dj1: f64, dj2: f64, iymdf: &[i32; 4])->f64{todo!()}
pub use astrometry::ab::ab as ursa_ab;
pub use astrometry::apcg::apcg;
pub use astrometry::apcg13::apcg13 as ursa_apcg13;
pub use astrometry::apci::apci as ursa_apci;
pub use astrometry::apci13::apci13 as ursa_apci13;
pub use astrometry::apco::apco as ursa_apco;
fn ursa_apco13(utc1: f64, utc2: f64, dut1: f64,
elong: f64, phi: f64, hm: f64, xp: f64, yp: f64,
phpa: f64, tc: f64, rh: f64, wl: f64,
astrom: &mut UrsaASTROM, eo: &mut f64)->i32{todo!()}
pub use astrometry::apcs::apcs as ursa_apcs;
fn ursa_apcs13(date1: f64, date2: f64, pv: &[[f64; 3]; 2],
astrom: &mut UrsaASTROM){todo!()}
fn ursa_aper(theta: f64, astrom: &mut UrsaASTROM){todo!()}
fn ursa_aper13(ut11: f64, ut12: f64, astrom: &mut UrsaASTROM){todo!()}
fn ursa_apio(sp: f64, theta: f64,
elong: f64, phi: f64, hm: f64, xp: f64, yp: f64,
refa: f64, refb: f64,
astrom: &mut UrsaASTROM){todo!()}
fn ursa_apio13(utc1: f64, utc2: f64, dut1: f64,
elong: f64, phi: f64, hm: f64, xp: f64, yp: f64,
phpa: f64, tc: f64, rh: f64, wl: f64,
astrom: &mut UrsaASTROM)->i32{todo!()}
fn ursa_atcc13(rc: f64, dc: f64,
pr: f64, pd: f64, px: f64, rv: f64,
date1: f64, date2: f64,
ra: &mut f64, da: &mut f64){todo!()}
fn ursa_atccq(rc: f64, dc: f64,
pr: f64, pd: f64, px: f64, rv: f64,
astrom: &mut UrsaASTROM, ra: &mut f64, da: &mut f64){todo!()}
fn ursa_atci13(rc: f64, dc: f64,
pr: f64, pd: f64, px: f64, rv: f64,
date1: f64, date2: f64,
ri: &mut f64, di: &mut f64, eo: &mut f64){todo!()}
fn ursa_atciq(rc: f64, dc: f64, pr: f64, pd: f64,
px: f64, rv: f64, astrom: &mut UrsaASTROM,
ri: &mut f64, di: &mut f64){todo!()}
fn ursa_atciqn(rc: f64, dc: f64, pr: f64, pd: f64,
px: f64, rv: f64, astrom: &mut UrsaASTROM,
n: i32, b: &[UrsaLDBODY], ri: &mut f64 , di: &mut f64){todo!()}
fn ursa_atciqz(rc: f64, dc: f64, astrom: &mut UrsaASTROM,
ri: &mut f64, di: &mut f64){todo!()}
fn ursa_atco13(rc: f64, dc: f64,
pr: f64, pd: f64, px: f64, rv: f64,
utc1: f64, utc2: f64, dut1: f64,
elong: f64, phi: f64, hm: f64, xp: f64, yp: f64,
phpa:f64, tc: f64, rh: f64, wl: f64,
aob: &mut f64, zob: &mut f64, hob: &mut f64,
dob: &mut f64, rob: &mut f64, eo: &mut f64)->i32{todo!()}
fn ursa_atic13(ri: f64, di: f64,
date1: f64, date2: f64,
rc: &mut f64, dc: &mut f64, eo: &mut f64){todo!()}
fn ursa_aticq(ri: f64, di: f64, astrom: &mut UrsaASTROM,
rc: &mut f64, dc: &mut f64){todo!()}
fn ursa_aticqn(ri: f64, di: f64, astrom: &mut UrsaASTROM,
n: i32, b: &[UrsaLDBODY], rc: &mut f64, dc: &mut f64){todo!()}
fn ursa_atio13(ri: f64, di: f64,
utc1: f64, utc2: f64, dut1: f64,
elong: f64, phi: f64, hm: f64, xp: f64, yp: f64,
phpa:f64, tc: f64, rh: f64, wl: f64,
aob: &mut f64, zob: &mut f64, hob: &mut f64,
dob: &mut f64, rob: &mut f64)-> i32{todo!()}
fn ursa_atioq(ri: f64, di: &f64, astrom: &UrsaASTROM,
aob: &mut f64, zob: &mut f64,
hob: &mut f64, dob: &mut f64, rob: &mut f64){todo!()}
fn ursa_atoc13(type_t:&String , ob1: f64, ob2: f64,
utc1: f64, utc2: f64, dut1: f64,
elong: f64, phi: f64, hm: f64, xp: f64, yp: f64,
phpa:f64, tc: f64, rh: f64, wl: f64,
rc: &mut f64, dc: &mut f64)->i32{todo!()}
fn ursa_atoi13(type_t: &String, ob1: f64, ob2: f64,
utc1: f64, utc2: f64, dut1: f64,
elong: f64, phi: f64, hm: f64, xp: f64, yp: f64,
phpa:f64, tc: f64, rh: f64, wl: f64,
ri: &mut f64, di: &mut f64)->i32{todo!()}
fn ursa_atoiq(type_t: &String,
ob1: f64, ob2: f64, astrom: &UrsaASTROM,
ri: &mut f64, di: &mut f64){todo!()}
fn ursa_ld(bm: f64, p: &[f64; 3], q: &[f64; 3], e: &[f64; 3],
em: f64, dlim: f64, p1: &mut[f64; 3]){todo!()}
fn ursa_ldn(n: i32, b: &[UrsaLDBODY], ob: &[f64; 3], sc:&[f64; 3],
sn: &mut [f64; 3]){todo!()}
fn ursa_ldsun(p: &[f64; 3], e: &[f64; 3], em: f64, p1: &mut [f64; 3]){todo!()}
fn ursa_pmpx(rc: f64, dc: f64, pr: f64, pd: f64,
px: f64, rv: f64, pmt: f64, pob: &[f64; 3],
pco:&mut[f64; 3]){todo!()}
fn ursa_pmsafe(ra1: f64, dec1: f64, pmr1: f64, pmd1: f64,
px1: f64, rv1: f64,
ep1a: f64, ep1b: f64, ep2a: f64, ep2b: f64,
ra2: &mut f64, dec2: &mut f64, pmr2: &mut f64, pmd2: &mut f64,
px2: &mut f64, rv2: &mut f64)->i32{todo!()}
pub use astrometry::pvtob::pvtob as ursa_pvtob;
fn ursa_refco(phpa:f64, tc: f64, rh: f64, wl: f64,
refa: &mut f64, refb: &mut f64){todo!()}
pub use ephemerides::epv00::epv00 as ursa_epv00;
pub use ephemerides::moon98::moon98 as ursa_moon98;
pub use ephemerides::plan94::plan94 as ursa_plan94;
pub use fundamental_args::fad03::fad03 as ursa_fad03;
pub use fundamental_args::fae03::fae03 as ursa_fae03;
pub use fundamental_args::faf03::faf03 as ursa_faf03;
pub use fundamental_args::faju03::faju03 as ursa_faju03;
pub use fundamental_args::fal03::fal03 as ursa_fal03;
pub use fundamental_args::falp03::falp03 as ursa_falp03;
pub use fundamental_args::fama03::fama03 as ursa_fama03;
pub use fundamental_args::fame03::fame03 as ursa_fame03;
pub use fundamental_args::fane03::fane03 as ursa_fane03;
pub use fundamental_args::faom03::faom03 as ursa_faom03;
pub use fundamental_args::fapa03::fapa03 as ursa_fapa03;
pub use fundamental_args::fasa03::fasa03 as ursa_fasa03;
pub use fundamental_args::faur03::faur03 as ursa_faur03;
pub use fundamental_args::fave03::fave03 as ursa_fave03;
pub use prec_nut::bi00::bi00 as ursa_bi00;
pub use prec_nut::bp00::bp00 as ursa_bp00;
pub use prec_nut::bp06::bp06 as ursa_bp06;
pub use prec_nut::bpn2xy::bpn2xy as ursa_bpn2xy;
pub use prec_nut::c2i00a::c2i00a as ursa_c2i00a;
pub use prec_nut::c2i00b::c2i00b as ursa_c2i00b;
pub use prec_nut::c2i06a::c2i06a as ursa_c2i06a;
pub use prec_nut::c2ibpn::c2ibpn as ursa_c2ibpn;
pub use prec_nut::c2ixy::c2ixy as ursa_c2ixy;
pub use prec_nut::c2ixys::c2ixys as c2ixys;
pub use prec_nut::c2t00a::c2t00a as ursa_c2t00a;
pub use prec_nut::c2t00b::c2t00b as ursa_c2t00b;
pub use prec_nut::c2t06a::c2t06a as ursa_c2t06a;
pub use prec_nut::c2tcio::c2tcio as ursa_c2tcio;
pub use prec_nut::c2teqx::c2teqx as ursa_c2teqx;
pub use prec_nut::c2tpe::c2tpe as ursa_c2tpe;
pub use prec_nut::c2txy::c2txy as ursa_c2txy;
pub use prec_nut::eo06a::eo06a as ursa_eo06a;
pub use prec_nut::eors::eors as ursa_eors;
pub use prec_nut::fw2m::fw2m as ursa_fw2m;
pub use prec_nut::fw2xy::fw2xy as ursa_fw2xy;
pub use prec_nut::ltp::ltp as ursa_ltp;
pub use prec_nut::ltpb::ltpb as ursa_ltpb;
pub use prec_nut::ltpecl::ltpecl as ursa_ltpecl;
pub use prec_nut::ltpequ::ltpequ as ursa_ltpequ;
pub use prec_nut::num00a::num00a as ursa_num00a;
pub use prec_nut::num00b::num00b as ursa_num00b;
pub use prec_nut::num06a::num06a as ursa_num06a;
pub use prec_nut::numat::numat as ursa_numat;
pub use prec_nut::nut00a::nut00a as ursa_nut00a;
pub use prec_nut::nut00b::nut00b as ursa_nut00b;
pub use prec_nut::nut06a::nut06a as ursa_nut06a;
pub use prec_nut::nut80::nut80 as ursa_nut80;
pub use prec_nut::nutm80::nutm80 as ursa_nutm80;
pub use prec_nut::obl06::obl06 as ursa_obl06;
pub use prec_nut::obl80::obl80 as ursa_obl80;
pub use prec_nut::p06e::p06e as ursa_p06e;
pub use prec_nut::pb06::pb06 as ursa_pb06;
pub use prec_nut::pwf06::pfw06 as ursa_pfw06;
pub use prec_nut::pmat00::pmat00 as ursa_pmat00;
pub use prec_nut::pmat06::pmat06 as ursa_pmat06;
pub use prec_nut::pmat76::pmat76 as ursa_pmat76;
pub use prec_nut::pn00::pn00 as ursa_pn00;
pub use prec_nut::pn00a::pn00a as ursa_pn00a;
pub use prec_nut::pn00b::pn00b as ursa_pn00b;
pub use prec_nut::pn06::pn06 as ursa_pn06;
pub use prec_nut::pn06a::pn06a as ursa_pn06a;
pub use prec_nut::pnm00a::pnm00a as ursa_pnm00a;
pub use prec_nut::pn00b::pn00b as ursa_pnm00b;
pub use prec_nut::pnm06a::pnm06a as ursa_pnm06a;
pub use prec_nut::pom00::pom00 as ursa_pom00;
pub use prec_nut::pr00::pr00 as ursa_pr00;
pub use prec_nut::prec76::prec76 as ursa_prec76;
pub use prec_nut::s00::s00 as ursa_s00;
pub use prec_nut::s00a::s00a as ursa_s00a;
pub use prec_nut::s00b::s00b as ursa_s00b;
pub use prec_nut::s06::s06 as ursa_s06;
pub use prec_nut::s06a::s06a as ursa_s06a;
pub use prec_nut::sp00::sp00 as ursa_sp00;
pub use prec_nut::xy06::xy06 as ursa_xy06;
pub use prec_nut::xys00a::xys00a as ursa_xys00a;
pub use prec_nut::xys00b::xys00b as ursa_xys00b;
pub use prec_nut::xys06::xys06a as ursa_xys06a;
pub use rot_time::ee00::ee00 as ursa_ee00;
pub use rot_time::ee0a::ee00a as ursa_ee00a;
pub use rot_time::ee0b::ee00b as ursa_ee00b;
pub use rot_time::ee06::ee06a as ursa_ee06a;
pub use rot_time::eect00::eect00 as ursa_eect00;
pub use rot_time::eqeq94::eqeq94 as ursa_eqeq94;
pub use rot_time::era00::era00 as ursa_era00;
pub use rot_time::gmst00::gmst00 as ursa_gmst00;
pub use rot_time::gmst06::gmst06 as ursa_gmst06;
pub use rot_time::gmst82::gmst82 as ursa_gmst82;
pub use rot_time::gst00a::gst00a as ursa_gst00a;
pub use rot_time::gst06::gst06 as ursa_gst06;
pub use rot_time::gst06a::gst06a as ursa_gst06a;
pub use rot_time::gst94::gst94 as ursa_gst94;
fn ursa_pvstar(pv: &[[f64; 3]; 2], ra: &mut f64, dec: &mut f64,
pmr: &mut f64, pmd: &mut f64, px: &mut f64, rv: &mut f64)->i32{todo!()}
fn ursa_starpv(ra: f64, dec: f64,
pmr: f64, pmd: f64, px: f64, rv: f64,
pv: &mut [[f64; 3]; 2])->i32{todo!()}
fn ursa_fk425(r1950: f64, d1950: f64,
dr1950: f64, dd1950: f64,
p1950: f64, v1950: f64,
r2000: &mut f64, d2000: &mut f64,
dr2000: &mut f64, dd2000: &mut f64,
p2000: &mut f64, v2000: &mut f64){todo!()}
fn ursa_fk45z(r1950: f64, d1950: f64, bepoch: f64,
r2000: &mut f64, d2000: &mut f64){todo!()}
fn ursa_fk524(r2000: f64, d2000: f64,
dr2000: f64, dd2000: f64,
p2000: f64, v2000: f64,
r1950: &mut f64, d1950: &mut f64,
dr1950: &mut f64, dd1950: &mut f64,
p1950: &mut f64, v1950: &mut f64){todo!()}
fn ursa_fk52h(r5: f64, d5: f64,
dr5: f64, dd5: f64, px5: f64, rv5: f64,
rh: &mut f64, dh: &mut f64,
drh: &mut f64, ddh: &mut f64, pxh: &mut f64, rvh: &mut f64){todo!()}
fn ursa_fk54z(r2000: f64, d2000: f64, bepoch: f64,
r1950: &mut f64, d1950: &mut f64,
dr1950:&mut f64, dd1950: &mut f64){todo!()}
fn ursa_fk5hip(r5h: &[[f64; 3];3], s5h: &[f64; 3]){todo!()}
fn ursa_fk5hz(r5: f64, d5: f64, date1: f64, date2: f64,
rh: &mut f64, dh: &mut f64){todo!()}
fn ursa_h2fk5(rh: f64, dh: f64,
drh: f64, ddh: f64, pxh: f64, rvh: f64,
r5: &mut f64, d5:&mut f64,
dr5:&mut f64, dd5:&mut f64, px5:&mut f64, rv5:&mut f64){todo!()}
fn ursa_hfk5z(rh: f64, dh: f64, date1: f64, date2: f64,
r5:&mut f64, d5:&mut f64, dr5:&mut f64, dd5:&mut f64){todo!()}
fn ursa_starpm(ra1: f64, dec1: f64,
pmr1: f64, pmd1: f64, px1: f64, rv1: f64,
ep1a: f64, ep1b: f64, ep2a: f64, ep2b: f64,
ra2:&mut f64, dec2:&mut f64,
pmr2:&mut f64, pmd2:&mut f64, px2: &mut f64, rv2: &mut f64)->i32{todo!()}
pub use crate::ecliptic_coordinates::eceq06::eceq06 as ursa_eceq06;
pub use crate::ecliptic_coordinates::ecm06::ecm06 as ursa_ecm06;
pub use crate::ecliptic_coordinates::eqec06::eqec06 as ursa_eqec06;
pub use crate::ecliptic_coordinates::lteceq::lteceq as ursa_lteceq;
pub use crate::ecliptic_coordinates::ltecm::ltecm as ursa_ltecm;
pub use crate::ecliptic_coordinates::lteqec::lteqec as ursa_lteqec;
pub use galactic_coordinates::g2icrs::g2icrs as ursa_g2icrs;
pub use galactic_coordinates::icrs2g::icrs2g as ursa_icrs2g;
pub use geodetic_geocentric::eform::eform as ursa_eform;
fn ursa_gc2gd(n: i32, xyz: &[f64; 3],
elong:&mut f64, phi: &mut f64, height:&mut f64)->i32{todo!()}
fn ursa_gc2gde(a: f64, f: f64, xyz: &[f64; 3],
elong:&mut f64, phi: &mut f64, height:&mut f64)->i32{todo!()}
pub use geodetic_geocentric::gd2gc::gd2gc as ursa_gd2gc;
pub use geodetic_geocentric::gd2gce::gd2gce as ursa_gd2gce;
fn ursa_d2dtf(scale: &String, ndp: i32, d1: f64, d2: f64,
iy:&mut i32, im: &mut i32, id: &mut i32, ihmsf: &mut[i32; 4])->i32{todo!()}
fn ursa_dat(iy: i32, im: i32, id: i32, fd: f64, deltat: &mut f64)->i32{todo!()}
fn ursa_dtdb(date1: f64, date2: f64,
ut: f64, elong: f64, u: f64, v: f64)->f64{todo!()}
fn ursa_dtf2d(scale:&String, iy: i32, im: i32, id: i32,
ihr: i32, imn: i32, sec: f64, d1:&mut f64, d2:&mut f64)->i32{todo!()}
fn ursa_taitt(tai1: f64, tai2: f64, tt1: &mut f64, tt2: &mut f64)->i32{todo!()}
fn ursa_taiut1(tai1: f64, tai2: f64, dta: f64,
ut11: &mut f64, ut12: &mut f64)->i32{todo!()}
fn ursa_taiutc(tai1: f64, tai2: f64, utc1: &mut f64, utc2: &mut f64)->i32{todo!()}
fn ursa_tcbtdb(tai2: f64, tcb2: f64, tdb1: &mut f64, tdb2: &mut f64)->i32{todo!()}
fn ursa_tcgtt(tcg1: f64, tcg2: f64, tt1: &mut f64, tt2: &mut f64)->i32{todo!()}
fn ursa_tdbtcb(tdb1: f64, tdb2: f64, tcb1: &mut f64, tcb2: &mut f64)->i32{todo!()}
fn ursa_tdbtt(tdb1: f64, tdb2: f64, dtr: f64,
tt1: &mut f64, tt2: &mut f64)->i32{todo!()}
fn ursa_tttai(tt1: f64, tt2: f64, tai1: &mut f64, tai2: &mut f64)->i32{todo!()}
fn ursa_tttcg(tt1: f64, tt2: f64, tcg1: &mut f64, tcg2: &mut f64)->i32{todo!()}
fn ursa_tttdb(tt1: f64, tt2: f64, dtr: f64,
tdb1: &mut f64, tdb2: &mut f64)->i32{todo!()}
fn ursa_ttut1(tt1: f64, tt2: f64, dt: f64,
ut11: &mut f64, ut12: &mut f64)->i32{todo!()}
fn ursa_ut1tai(ut11: f64, ut12: f64, dta: f64,
tai1: &mut f64, tai2: &mut f64)->i32{todo!()}
fn ursa_ut1tt(ut11: f64, ut12: f64, dt: f64,
tt1: &mut f64, tt2: &mut f64)->i32{todo!()}
fn ursa_ut1utc(ut11: f64, ut12: f64, dut1: f64,
utc1: &mut f64, utc2: &mut f64)->i32{todo!()}
fn ursa_utctai(utc1: f64, utc2: f64, tai1: &mut f64, tai2: &mut f64)->i32{todo!()}
fn ursa_utcut1(utc1: f64, utc2: f64, dut1: f64,
ut11: &mut f64, ut12: &mut f64)->i32{todo!()}
fn ursa_ae2hd(az: f64, el: f64, phi: f64,
ha: &mut f64, dec: &mut f64){todo!()}
fn ursa_hd2ae(ha: f64, dec: f64, phi: f64,
az: &mut f64, el: &mut f64){todo!()}
fn ursa_hd2pa(ha: f64, dec: f64, phi: f64)->f64{todo!()}
fn ursa_tpors(xi: f64, eta: f64, a: f64, b: f64,
a01: &mut f64, b01: &mut f64, a02: &mut f64, b02: &mut f64)->i32{todo!()}
fn ursa_tporv(xi: f64, eta: f64, v: &[f64; 3],
v01: &mut [f64; 3], v02: &mut [f64; 3])->i32{todo!()}
fn ursa_tpsts(xi: f64, eta: f64, a0: f64, b0: f64,
a: &mut f64, b: &mut f64){todo!()}
fn ursa_tpstv(xi: f64, eta: f64, v0: &[f64; 3], v: &mut [f64; 3]){todo!()}
fn ursa_tpxes(a: f64, b: f64, a0: f64, b0: f64,
xi: &mut f64, eta: &mut f64)->i32{todo!()}
fn ursa_tpxev(v: &[f64; 3], v0: &[f64; 3], xi: &mut f64, eta: &mut f64)->i32{todo!()}
fn ursa_a2af(ndp: i32, angle: f64, sign: &mut i8, idmsf: &mut [i32; 4]){todo!()}
fn ursa_a2tf(ndp: i32, angle: f64, sign: &mut i8, ihmsf: &mut [i32; 4]){todo!()}
fn ursa_af2a(s: char, ideg: i32, iamin: i32, asec: f64, rad: &mut f64)->i32{todo!()}
pub use vector_matrix::angle_ops::anp::anp as ursa_anp;
pub use vector_matrix::angle_ops::anpm::anpm as ursa_anpm;
fn ursa_d2tf(ndp: i32, days: f64, sign: &mut i8, ihmsf: &mut [i32; 4]){todo!()}
fn ursa_tf2a(s: char, ihour: f64, iamin: i32, sec: f64, rad: &mut f64)->i32{todo!()}
fn ursa_tf2d(s: char, ihour: f64, iamin: i32, sec: f64, days: &mut f64)->i32{todo!()}
pub use vector_matrix::build_rotations::rx::rx as ursa_rx;
pub use vector_matrix::build_rotations::ry::ry as ursa_ry;
pub use vector_matrix::build_rotations::rz::rz as ursa_rz;
pub use vector_matrix::copy_ext::cp as ursa_cp;
pub use vector_matrix::copy_ext::cpv as ursa_cpv;
pub use vector_matrix::copy_ext::cr as ursa_cr;
fn ursa_p2pv(p: &[f64; 3], pv: &mut [[f64; 3]; 2]){todo!()}
fn ursa_pv2p(pv: &[[f64; 3]; 2], p: &mut[f64; 3]){todo!()}
pub use vector_matrix::init::ir::ir as ursa_ir;
pub use vector_matrix::init::z::zp as ursa_zp;
pub use vector_matrix::init::z::zpv as ursa_zpv;
pub use vector_matrix::init::z::zr as ursa_zr;
pub use vector_matrix::matrix_ops::rxr::rxr as ursa_rxr;
pub use vector_matrix::matrix_ops::tr::tr as ursa_tr;
pub use vector_matrix::matrix_vec_prod::rxp as ursa_rxp;
pub use vector_matrix::matrix_vec_prod::rxpv as ursa_rxpv;
pub use vector_matrix::matrix_vec_prod::trxp as ursa_trxp;
pub use vector_matrix::matrix_vec_prod::trxpv as ursa_trxpv;
fn ursa_rm2v(r: &[[f64; 3]; 3], w: &mut [f64; 3]){todo!()}
fn ursa_rv2m(w: &[f64; 3], r: &mut[[f64; 3]; 3]){todo!()}
fn ursa_pap(a: &[f64; 3], b: &[f64; 3])->f64{todo!()}
fn ursa_pas(al: f64, ap: f64, bl: f64, bp: f64)->f64{todo!()}
fn ursa_sepp(a: &[f64; 3], b: &[f64; 3])->f64{todo!()}
fn ursa_seps(al: f64, ap: f64, bl: f64, bp: f64)->f64{todo!()}
pub use vector_matrix::spherical_cartesian::c2s::c2s as ursa_c2s;
pub use vector_matrix::spherical_cartesian::p2s::p2s as ursa_p2s;
pub use vector_matrix::spherical_cartesian::pv2s::pv2s as ursa_pv2s;
pub use vector_matrix::spherical_cartesian::s2c::s2c as ursa_s2c;
pub use vector_matrix::spherical_cartesian::s2p::s2p as ursa_s2p;
pub use vector_matrix::spherical_cartesian::s2pv::s2pv as ursa_s2pv;
pub use vector_matrix::vector_ops::pdp::pdp as ursa_pdp;
pub use vector_matrix::vector_ops::pm::pm as ursa_pm;
fn ursa_pmp(a: &[f64;3], b: &[f64; 3], amb:&mut [f64; 3]){todo!()}
pub use vector_matrix::vector_ops::pn::pn as ursa_pn;
fn ursa_ppp(a: &[f64;3], b: &[f64; 3], apb: &mut [f64; 3]){todo!()}
fn ursa_ppsp(a: &[f64;3], s: f64, b: &[f64; 3], apsb:&mut [f64; 3]){todo!()}
fn ursa_pvdpv(a: &[[f64; 3]; 2], b: &[[f64; 3]; 2], adb: &mut [f64; 2]){todo!()}
fn ursa_pvm(pv: &[[f64; 3]; 2], r:& mut f64, s: &mut f64){todo!()}
fn ursa_pvmpv(a: &[[f64; 3]; 2], b: &[[f64; 3]; 2], amb: &mut [[f64; 3]; 2]){todo!()}
fn ursa_pvppv(a: &[[f64; 3]; 2], b: &[[f64; 3]; 2], apb: &mut [[f64; 3]; 2]){todo!()}
fn ursa_pvu(dt: f64, pv:& [[f64; 3]; 2], upv: &mut [[f64; 3]; 2]){todo!()}
fn ursa_pvup(dt: f64, pv: &[[f64; 3]; 2], p: &mut [f64;3]){todo!()}
fn ursa_pvxpv(a: &[[f64; 3]; 2], b: &[[f64; 3]; 2], axb: &mut [[f64; 3]; 2] ){todo!()}
pub use vector_matrix::vector_ops::pxp::pxp as ursa_pxp;
pub use vector_matrix::vector_ops::sxp::s2xpv as ursa_s2xpv;
pub use vector_matrix::vector_ops::sxp::sxp as ursa_sxp;
pub use vector_matrix::vector_ops::sxp::sxpv as ursa_sxpv;
}