]> git.immae.eu Git - github/fretlink/terraform-provider-statuscake.git/blob - vendor/github.com/hashicorp/terraform/helper/hashcode/hashcode.go
64d8263e6014a98fd1c37c2c06daa249538048c8
[github/fretlink/terraform-provider-statuscake.git] / vendor / github.com / hashicorp / terraform / helper / hashcode / hashcode.go
1 package hashcode
2
3 import (
4 "hash/crc32"
5 )
6
7 // String hashes a string to a unique hashcode.
8 //
9 // crc32 returns a uint32, but for our use we need
10 // and non negative integer. Here we cast to an integer
11 // and invert it if the result is negative.
12 func String(s string) int {
13 v := int(crc32.ChecksumIEEE([]byte(s)))
14 if v >= 0 {
15 return v
16 }
17 if -v >= 0 {
18 return -v
19 }
20 // v == MinInt
21 return 0
22 }