///|
/// Calculates the inverse of a function
pub fn func_inv(
target : Double,
f : (Double) -> Double,
d : (Double) -> Double,
initial_guess : Double,
max_iterations~ : Int = 100,
tol~ : Double = 1.0e-12,
) -> Double? {
let mut x = initial_guess
for iter in 0..