use crate::{types, Value};
use std::mem::MaybeUninit;
#[doc(alias = "gsl_sf_airy_Ai")]
pub fn Ai(x: f64, mode: crate::Mode) -> f64 {
unsafe { sys::gsl_sf_airy_Ai(x, mode.into()) }
}
#[doc(alias = "gsl_sf_airy_Ai_e")]
pub fn Ai_e(x: f64, mode: crate::Mode) -> Result<types::Result, Value> {
let mut result = MaybeUninit::<sys::gsl_sf_result>::uninit();
let ret = unsafe { sys::gsl_sf_airy_Ai_e(x, mode.into(), result.as_mut_ptr()) };
result_handler!(ret, unsafe { result.assume_init() }.into())
}
#[doc(alias = "gsl_sf_airy_Bi")]
pub fn Bi(x: f64, mode: crate::Mode) -> f64 {
unsafe { sys::gsl_sf_airy_Bi(x, mode.into()) }
}
#[doc(alias = "gsl_sf_airy_Bi_e")]
pub fn Bi_e(x: f64, mode: crate::Mode) -> Result<types::Result, Value> {
let mut result = MaybeUninit::<sys::gsl_sf_result>::uninit();
let ret = unsafe { sys::gsl_sf_airy_Bi_e(x, mode.into(), result.as_mut_ptr()) };
result_handler!(ret, unsafe { result.assume_init() }.into())
}
#[doc(alias = "gsl_sf_airy_Ai_scaled")]
pub fn Ai_scaled(x: f64, mode: crate::Mode) -> f64 {
unsafe { sys::gsl_sf_airy_Ai_scaled(x, mode.into()) }
}
#[doc(alias = "gsl_sf_airy_Ai_scaled_e")]
pub fn Ai_scaled_e(x: f64, mode: crate::Mode) -> Result<types::Result, Value> {
let mut result = MaybeUninit::<sys::gsl_sf_result>::uninit();
let ret = unsafe { sys::gsl_sf_airy_Ai_scaled_e(x, mode.into(), result.as_mut_ptr()) };
result_handler!(ret, unsafe { result.assume_init() }.into())
}
#[doc(alias = "gsl_sf_airy_Bi_scaled")]
pub fn Bi_scaled(x: f64, mode: crate::Mode) -> f64 {
unsafe { sys::gsl_sf_airy_Bi_scaled(x, mode.into()) }
}
#[doc(alias = "gsl_sf_airy_Bi_scaled_e")]
pub fn Bi_scaled_e(x: f64, mode: crate::Mode) -> Result<types::Result, Value> {
let mut result = MaybeUninit::<sys::gsl_sf_result>::uninit();
let ret = unsafe { sys::gsl_sf_airy_Bi_scaled_e(x, mode.into(), result.as_mut_ptr()) };
result_handler!(ret, unsafe { result.assume_init() }.into())
}
#[doc(alias = "gsl_sf_airy_Ai_deriv")]
pub fn Ai_deriv(x: f64, mode: crate::Mode) -> f64 {
unsafe { sys::gsl_sf_airy_Ai_deriv(x, mode.into()) }
}
#[doc(alias = "gsl_sf_airy_Ai_deriv_e")]
pub fn Ai_deriv_e(x: f64, mode: crate::Mode) -> Result<types::Result, Value> {
let mut result = MaybeUninit::<sys::gsl_sf_result>::uninit();
let ret = unsafe { sys::gsl_sf_airy_Ai_deriv_e(x, mode.into(), result.as_mut_ptr()) };
result_handler!(ret, unsafe { result.assume_init() }.into())
}
#[doc(alias = "gsl_sf_airy_Bi_deriv")]
pub fn Bi_deriv(x: f64, mode: crate::Mode) -> f64 {
unsafe { sys::gsl_sf_airy_Bi_deriv(x, mode.into()) }
}
#[doc(alias = "gsl_sf_airy_Bi_deriv_e")]
pub fn Bi_deriv_e(x: f64, mode: crate::Mode) -> Result<types::Result, Value> {
let mut result = MaybeUninit::<sys::gsl_sf_result>::uninit();
let ret = unsafe { sys::gsl_sf_airy_Bi_deriv_e(x, mode.into(), result.as_mut_ptr()) };
result_handler!(ret, unsafe { result.assume_init() }.into())
}
#[doc(alias = "gsl_sf_airy_Ai_deriv_scaled")]
pub fn Ai_deriv_scaled(x: f64, mode: crate::Mode) -> f64 {
unsafe { sys::gsl_sf_airy_Ai_deriv_scaled(x, mode.into()) }
}
#[doc(alias = "gsl_sf_airy_Ai_deriv_scaled_e")]
pub fn Ai_deriv_scaled_e(x: f64, mode: crate::Mode) -> Result<types::Result, Value> {
let mut result = MaybeUninit::<sys::gsl_sf_result>::uninit();
let ret = unsafe { sys::gsl_sf_airy_Ai_deriv_scaled_e(x, mode.into(), result.as_mut_ptr()) };
result_handler!(ret, unsafe { result.assume_init() }.into())
}
#[doc(alias = "gsl_sf_airy_Bi_deriv_scaled")]
pub fn Bi_deriv_scaled(x: f64, mode: crate::Mode) -> f64 {
unsafe { sys::gsl_sf_airy_Bi_deriv_scaled(x, mode.into()) }
}
#[doc(alias = "gsl_sf_airy_Bi_deriv_scaled_e")]
pub fn Bi_deriv_scaled_e(x: f64, mode: crate::Mode) -> Result<types::Result, Value> {
let mut result = MaybeUninit::<sys::gsl_sf_result>::uninit();
let ret = unsafe { sys::gsl_sf_airy_Bi_deriv_scaled_e(x, mode.into(), result.as_mut_ptr()) };
result_handler!(ret, unsafe { result.assume_init() }.into())
}
#[doc(alias = "gsl_sf_airy_zero_Ai")]
pub fn zero_Ai(s: u32) -> f64 {
unsafe { sys::gsl_sf_airy_zero_Ai(s) }
}
#[doc(alias = "gsl_sf_airy_zero_Ai_e")]
pub fn zero_Ai_e(s: u32) -> Result<types::Result, Value> {
let mut result = MaybeUninit::<sys::gsl_sf_result>::uninit();
let ret = unsafe { sys::gsl_sf_airy_zero_Ai_e(s, result.as_mut_ptr()) };
result_handler!(ret, unsafe { result.assume_init() }.into())
}
#[doc(alias = "gsl_sf_airy_zero_Bi")]
pub fn zero_Bi(s: u32) -> f64 {
unsafe { sys::gsl_sf_airy_zero_Bi(s) }
}
#[doc(alias = "gsl_sf_airy_zero_Bi_e")]
pub fn zero_Bi_e(s: u32) -> Result<types::Result, Value> {
let mut result = MaybeUninit::<sys::gsl_sf_result>::uninit();
let ret = unsafe { sys::gsl_sf_airy_zero_Bi_e(s, result.as_mut_ptr()) };
result_handler!(ret, unsafe { result.assume_init() }.into())
}
#[doc(alias = "gsl_sf_airy_zero_Ai_deriv")]
pub fn zero_Ai_deriv(s: u32) -> f64 {
unsafe { sys::gsl_sf_airy_zero_Ai_deriv(s) }
}
#[doc(alias = "gsl_sf_airy_zero_Ai_deriv_e")]
pub fn zero_Ai_deriv_e(s: u32) -> Result<types::Result, Value> {
let mut result = MaybeUninit::<sys::gsl_sf_result>::uninit();
let ret = unsafe { sys::gsl_sf_airy_zero_Ai_deriv_e(s, result.as_mut_ptr()) };
result_handler!(ret, unsafe { result.assume_init() }.into())
}
#[doc(alias = "gsl_sf_airy_zero_Bi_deriv")]
pub fn zero_Bi_deriv(s: u32) -> f64 {
unsafe { sys::gsl_sf_airy_zero_Bi_deriv(s) }
}
#[doc(alias = "gsl_sf_airy_zero_Bi_deriv_e")]
pub fn zero_Bi_deriv_e(s: u32) -> Result<types::Result, Value> {
let mut result = MaybeUninit::<sys::gsl_sf_result>::uninit();
let ret = unsafe { sys::gsl_sf_airy_zero_Bi_deriv_e(s, result.as_mut_ptr()) };
result_handler!(ret, unsafe { result.assume_init() }.into())
}