third-party-mirror / mingw-w64 / 9b207d4da4806fdaea3bf9f4a5d66dc6056670b6 / . / mingw-w64-crt / math / arm-common / asinh.c

/** | |

* This file has no copyright assigned and is placed in the Public Domain. | |

* This file is part of the mingw-w64 runtime package. | |

* No warranty is given; refer to the file DISCLAIMER.PD within this package. | |

*/ | |

#include <math.h> | |

double asinh(double x) | |

{ | |

if (isinf(x*x + 1)) { | |

if (x > 0) | |

return log(2) + log(x); | |

else | |

return -log(2) - log(-x); | |

} | |

return log(x + sqrt(x*x + 1)); | |

} |