mirror of
https://codeberg.org/Codeberg/avatars.git
synced 2023-08-10 21:12:50 +03:00
added function generateSeed
This commit is contained in:
parent
e2d171d8b4
commit
9cac79f1c5
28
avatars.go
28
avatars.go
@ -10,11 +10,7 @@ import (
|
||||
|
||||
// MakeAvatar create svg from seed
|
||||
func MakeAvatar(seedString string) string {
|
||||
var seed uint64
|
||||
for _, c := range []byte(seedString) {
|
||||
seed = bits.RotateLeft64(seed, 8)
|
||||
seed ^= uint64(c)
|
||||
}
|
||||
seed := generateSeed(seedString)
|
||||
if seed&1 == 0 {
|
||||
return femaleAvatar(seed, "")
|
||||
}
|
||||
@ -23,22 +19,12 @@ func MakeAvatar(seedString string) string {
|
||||
|
||||
// MakeFemaleAvatar create female svg from seed
|
||||
func MakeFemaleAvatar(seedString string) string {
|
||||
var seed uint64
|
||||
for _, c := range []byte(seedString) {
|
||||
seed = bits.RotateLeft64(seed, 8)
|
||||
seed ^= uint64(c)
|
||||
}
|
||||
return femaleAvatar(seed, "")
|
||||
return femaleAvatar(generateSeed(seedString), "")
|
||||
}
|
||||
|
||||
// MakeMaleAvatar create male svg from seed
|
||||
func MakeMaleAvatar(seedString string) string {
|
||||
var seed uint64
|
||||
for _, c := range []byte(seedString) {
|
||||
seed = bits.RotateLeft64(seed, 8)
|
||||
seed ^= uint64(c)
|
||||
}
|
||||
return maleAvatar(seed, "")
|
||||
return maleAvatar(generateSeed(seedString), "")
|
||||
}
|
||||
|
||||
/**
|
||||
@ -51,6 +37,14 @@ type lcg struct {
|
||||
seed uint64
|
||||
}
|
||||
|
||||
func generateSeed(seedString string) (seed uint64) {
|
||||
for _, c := range []byte(seedString) {
|
||||
seed = bits.RotateLeft64(seed, 8)
|
||||
seed ^= uint64(c)
|
||||
}
|
||||
return seed
|
||||
}
|
||||
|
||||
func (g *lcg) random() uint32 {
|
||||
/* Linear Congruent Generator, POSIX/glibc [de]rand48 setting, bits [47..0] are output bits */
|
||||
g.seed = (25214903917*g.seed + 11) % 281474976710656
|
||||
|
Loading…
Reference in New Issue
Block a user