Finding Log1p() of the Given Number in Golang

• Last Updated : 01 Apr, 2020

Go language provides inbuilt support for basic constants and mathematical functions to perform operations on the numbers with the help of the math package. You are allowed to find the natural logarithm of 1 plus its specified argument with the help of the Log1p() function provided by the math package. So, you need to add a math package in your program with the help of the import keyword to access the Log1p() function.

Syntax:

func Log1p(a float64) float64
• It is much more accurate than log(a+1) when the value of a is near zero.
• If you pass +Inf in this function, then this function will return +Inf.
• If you pass +0 or -0 in this function, then this function will return +0 or -0.
• If you pass -1 in this function, then this function will return -Inf.
• If the value of a < -1, then this function will return NaN.
• If you pass NaN in this function, then this function will return NaN.

Example 1:

 // Golang program to illustrate how to find the// natural logarithm of plus 1 of the given number  package main  import (    "fmt"    "math")  // Main functionfunc main() {      // Finding natural logarithm of    // plus 1 of the given number    // Using Logb() function    res_1 := math.Log1p(0)    res_2 := math.Log1p(1)    res_3 := math.Log1p(math.Inf(1))    res_4 := math.Log1p(math.NaN())    res_5 := math.Log1p(36)      // Displaying the result    fmt.Printf("Result 1: %.1f", res_1)    fmt.Printf("\nResult 2: %.1f", res_2)    fmt.Printf("\nResult 3: %.1f", res_3)    fmt.Printf("\nResult 4: %.1f", res_4)    fmt.Printf("\nResult 5: %.1f", res_5)  }

Output:

Result 1: 0.0
Result 2: 0.7
Result 3: +Inf
Result 4: NaN
Result 5: 3.6

Example 2:

 // Golang program to illustrate how to find the// natural logarithm of plus 1 of the given number  package main  import (    "fmt"    "math")  // Main functionfunc main() {      // Finding natural logarithm of    // plus 1 of the given number    // Using Log1p() function    nvalue_1 := math.Log1p(100)    nvalue_2 := math.Log1p(26)    res := nvalue_1 + nvalue_2    fmt.Printf("%.5f + %.5f = %.5f",             nvalue_1, nvalue_2, res)  }

Output:

4.61512 + 3.29584 = 7.91096

My Personal Notes arrow_drop_up