diff --git a/vlib/math/math.v b/vlib/math/math.v index 5d45576073..543109c57a 100644 --- a/vlib/math/math.v +++ b/vlib/math/math.v @@ -223,9 +223,12 @@ pub fn trunc(a f64) f64 { // factorial calculates the factorial of the provided value. pub fn factorial(a int) i64 { + if a < 0 { + panic('factorial: Cannot find factorial of negative number') + } mut prod := 1 for i:= 0; i < a; i++ { - prod = prod * (i+1) + prod *= (i+1) } return prod }