use crate::{types, Value};
use std::mem::MaybeUninit;
#[doc(alias = "gsl_sf_gegenpoly_1")]
pub fn gegenpoly_1(lambda: f64, x: f64) -> f64 {
unsafe { sys::gsl_sf_gegenpoly_1(lambda, x) }
}
#[doc(alias = "gsl_sf_gegenpoly_2")]
pub fn gegenpoly_2(lambda: f64, x: f64) -> f64 {
unsafe { sys::gsl_sf_gegenpoly_2(lambda, x) }
}
#[doc(alias = "gsl_sf_gegenpoly_3")]
pub fn gegenpoly_3(lambda: f64, x: f64) -> f64 {
unsafe { sys::gsl_sf_gegenpoly_3(lambda, x) }
}
#[doc(alias = "gsl_sf_gegenpoly_1_e")]
pub fn gegenpoly_1_e(lambda: f64, x: f64) -> Result<types::Result, Value> {
let mut result = MaybeUninit::<sys::gsl_sf_result>::uninit();
let ret = unsafe { sys::gsl_sf_gegenpoly_1_e(lambda, x, result.as_mut_ptr()) };
result_handler!(ret, unsafe { result.assume_init() }.into())
}
#[doc(alias = "gsl_sf_gegenpoly_2_e")]
pub fn gegenpoly_2_e(lambda: f64, x: f64) -> Result<types::Result, Value> {
let mut result = MaybeUninit::<sys::gsl_sf_result>::uninit();
let ret = unsafe { sys::gsl_sf_gegenpoly_2_e(lambda, x, result.as_mut_ptr()) };
result_handler!(ret, unsafe { result.assume_init() }.into())
}
#[doc(alias = "gsl_sf_gegenpoly_3_e")]
pub fn gegenpoly_3_e(lambda: f64, x: f64) -> Result<types::Result, Value> {
let mut result = MaybeUninit::<sys::gsl_sf_result>::uninit();
let ret = unsafe { sys::gsl_sf_gegenpoly_3_e(lambda, x, result.as_mut_ptr()) };
result_handler!(ret, unsafe { result.assume_init() }.into())
}
#[doc(alias = "gsl_sf_gegenpoly_n")]
pub fn gegenpoly_n(n: i32, lambda: f64, x: f64) -> f64 {
unsafe { sys::gsl_sf_gegenpoly_n(n, lambda, x) }
}
#[doc(alias = "gsl_sf_gegenpoly_n_e")]
pub fn gegenpoly_n_e(n: i32, lambda: f64, x: f64) -> Result<types::Result, Value> {
let mut result = MaybeUninit::<sys::gsl_sf_result>::uninit();
let ret = unsafe { sys::gsl_sf_gegenpoly_n_e(n, lambda, x, result.as_mut_ptr()) };
result_handler!(ret, unsafe { result.assume_init() }.into())
}
#[doc(alias = "gsl_sf_gegenpoly_array")]
pub fn gegenpoly_array(lambda: f64, x: f64, result_array: &mut [f64]) -> Result<(), Value> {
let ret = unsafe {
sys::gsl_sf_gegenpoly_array(
result_array.len() as _,
lambda,
x,
result_array.as_mut_ptr(),
)
};
result_handler!(ret, ())
}