Grokking Modern System Design Interview for Engineers & Managers
Ace your System Design Interview and take your career to the next level. Learn to handle the design of applications like Netflix, Quora, Facebook, Uber, and many more in a 45-min interview. Learn the RESHADED framework for architecting web-scale applications by determining requirements, constraints, and assumptions before diving into a step-by-step design process.
The Go programming language uses the Expm1
function to find the value of $e$ raised to the power equaling the input $x$, minus $1$. This is the same as $e^x$ -1, where $x$ is the input.
To use this function, you must import the math
package in your file and access the Expm1
function within it using the .
notation (math.Expm1
). Here, Expm1
is the actual function, while math
is the Go package that stores the definition of this function.
The definition of the Expm1
function inside the math
package is:
The Expm1
function takes a single argument of type float64
. This argument represents the number $x$ in the formula $e^x$ -1.
The Expm1
function returns a single value of type float64
, which results from raising $e$ to the power of $x$, minus $1$ ($x$ being the input float64
).
An exception to the above statements is when you pass something that is positive infinity, negative infinity, or NAN
as an argument:
+Inf
: If the argument has a positive infinite value, the return value will be exactly the same as the argument, i.e., +Inf
.
-Inf
: If the argument has a negative infinite value, the return value will be -1.
NAN
: If a NAN
argument is passed, the return value is also NAN
.
Following is a simple example where we find out the Expm1
value of 5
:
package mainimport ("fmt""math")func main() {x := 5.0y := math.Expm1(x)fmt.Print(x, "'s exponential value minus 1 is ", y)}
The following example shows how the Expm1
function handles infinite valued arguments, for which we use the Inf
function:
The
Inf
function returns an infinite value with a sign matching the sign of the argument that it is given.
package mainimport ("fmt""math")func main() {x := math.Inf(-1)y := math.Expm1(x)fmt.Print(x, "'s exponential value minus 1 is ", y)fmt.Print( "\n")a := math.Inf(1)b := math.Expm1(a)fmt.Print(a, "'s exponential value minus 1 is ", b)}
RELATED TAGS
CONTRIBUTOR
Grokking Modern System Design Interview for Engineers & Managers
Ace your System Design Interview and take your career to the next level. Learn to handle the design of applications like Netflix, Quora, Facebook, Uber, and many more in a 45-min interview. Learn the RESHADED framework for architecting web-scale applications by determining requirements, constraints, and assumptions before diving into a step-by-step design process.