func NewInt() IntSet {
	return make(map[int]struct{})
}
NewInt returns an empty int set
package hashset
type Float32Set map[float32]struct{}
func NewFloat32() Float32Set {
	return make(map[float32]struct{})
}
func NewFloat32WithSize(size int) Float32Set {
	return make(map[float32]struct{}, size)
}
func (s Float32Set) Add(value float32) bool {
	s[value] = struct{}{}
	return true
}
func (s Float32Set) Contains(value float32) bool {
	if _, ok := s[value]; ok {
		return true
	}
	return false
}
func (s Float32Set) Remove(value float32) bool {
	delete(s, value)
	return true
}
func (s Float32Set) Range(f func(value float32) bool) {
	for k := range s {
		if !f(k) {
			break
		}
	}
}
func (s Float32Set) Len() int {
	return len(s)
}
type Float64Set map[float64]struct{}
func NewFloat64() Float64Set {
	return make(map[float64]struct{})
}
func NewFloat64WithSize(size int) Float64Set {
	return make(map[float64]struct{}, size)
}
func (s Float64Set) Add(value float64) bool {
	s[value] = struct{}{}
	return true
}
func (s Float64Set) Contains(value float64) bool {
	if _, ok := s[value]; ok {
		return true
	}
	return false
}
func (s Float64Set) Remove(value float64) bool {
	delete(s, value)
	return true
}
func (s Float64Set) Range(f func(value float64) bool) {
	for k := range s {
		if !f(k) {
			break
		}
	}
}
func (s Float64Set) Len() int {
	return len(s)
}
type Int32Set map[int32]struct{}
func NewInt32() Int32Set {
	return make(map[int32]struct{})
}
func NewInt32WithSize(size int) Int32Set {
	return make(map[int32]struct{}, size)
}
func (s Int32Set) Add(value int32) bool {
	s[value] = struct{}{}
	return true
}
func (s Int32Set) Contains(value int32) bool {
	if _, ok := s[value]; ok {
		return true
	}
	return false
}
func (s Int32Set) Remove(value int32) bool {
	delete(s, value)
	return true
}
func (s Int32Set) Range(f func(value int32) bool) {
	for k := range s {
		if !f(k) {
			break
		}
	}
}
func (s Int32Set) Len() int {
	return len(s)
}
type Int16Set map[int16]struct{}
func NewInt16() Int16Set {
	return make(map[int16]struct{})
}
func NewInt16WithSize(size int) Int16Set {
	return make(map[int16]struct{}, size)
}
func (s Int16Set) Add(value int16) bool {
	s[value] = struct{}{}
	return true
}
func (s Int16Set) Contains(value int16) bool {
	if _, ok := s[value]; ok {
		return true
	}
	return false
}
func (s Int16Set) Remove(value int16) bool {
	delete(s, value)
	return true
}
func (s Int16Set) Range(f func(value int16) bool) {
	for k := range s {
		if !f(k) {
			break
		}
	}
}
func (s Int16Set) Len() int {
	return len(s)
}
type IntSet map[int]struct{}