Open In App

math.Lgamma() Function in Golang with Examples

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

Go language provides inbuilt support for basic constants and mathematical functions to perform operations on the numbers with the help of the math package. This package provides Lgamma() function which is used to find the natural logarithm and sign (either -1 or +1) of Gamma(a). So, you need to add a math package in your program with the help of the import keyword to access the Lgamma() function.

Syntax:

func Lgamma(a float64) (lgamma float64, sign int)
  • If Lgamma(+Inf), then this function will return +Inf.
  • If Lgamma(0), then this function will return +Inf.
  • If Lgamma(-integer), then this function will return +Inf.
  • If Lgamma(-Inf), then this function will return -Inf.
  • If Lgamma(NaN), then this function will return NaN.

Example 1:




// Golang program to illustrate
// math.Lgamma() Function
package main
  
import (
    "fmt"
    "math"
)
  
// Main function
func main() {
  
    // Finding the natural logarithm of Gamma()
    // Using Lgamma() function
    res_1, s1 := math.Lgamma(0)
    res_2, s2 := math.Lgamma(-2.3)
    res_3, s3 := math.Lgamma(math.Inf(-2))
    res_4, s4 := math.Lgamma(-2)
    res_5, s5 := math.Lgamma(math.NaN())
  
    // Displaying the result
    fmt.Printf("\nResult 1: %f and sign: %d", res_1, s1)
    fmt.Printf("\nResult 2: %f and sign: %d", res_2, s2)
    fmt.Printf("\nResult 3: %f and sign: %d", res_3, s3)
    fmt.Printf("\nResult 4: %f and sign: %d", res_4, s4)
    fmt.Printf("\nResult 5: %f and sign: %d", res_5, s5)
}


Output:

Result 1: +Inf and sign: 1
Result 2: 0.369567 and sign: -1
Result 3: -Inf and sign: 1
Result 4: +Inf and sign: 1
Result 5: NaN and sign: 1

Example 2:




// Golang program to illustrate
// math.Lgamma() Function
  
package main
  
import (
    "fmt"
    "math"
)
  
// Main function
func main() {
  
    // Finding the natural logarithm of Gamma()
    // Using Lgamma() function
    nvalue_1, sign_1 := math.Lgamma(1.5)
    nvalue_2, sign_2 := math.Lgamma(3.45)
  
    // Finding the sum of the 
    // natural logarithm of Gamma()
    res := nvalue_1 + nvalue_2
    fmt.Printf("Result 1: %f and sign: %d", nvalue_1, sign_1)
    fmt.Printf("\nResult 2: %f and sign: %d \n", nvalue_2, sign_2)
    fmt.Println("Sum of Result 1 and Result 2: ", res)
  
}


Output:

Result 1: -0.120782 and sign: 1
Result 2: 1.146231 and sign: 1 
Sum of Result 1 and Result 2:  1.0254487526135667


Last Updated : 28 Apr, 2020
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads