diff options
Diffstat (limited to 'vendor/github.com/unknwon/com/math.go')
-rw-r--r-- | vendor/github.com/unknwon/com/math.go | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/vendor/github.com/unknwon/com/math.go b/vendor/github.com/unknwon/com/math.go new file mode 100644 index 0000000000..62b77e87c8 --- /dev/null +++ b/vendor/github.com/unknwon/com/math.go @@ -0,0 +1,29 @@ +// Copyright 2014 com authors +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +package com + +// PowInt is int type of math.Pow function. +func PowInt(x int, y int) int { + if y <= 0 { + return 1 + } else { + if y%2 == 0 { + sqrt := PowInt(x, y/2) + return sqrt * sqrt + } else { + return PowInt(x, y-1) * x + } + } +} |