-
Notifications
You must be signed in to change notification settings - Fork 556
/
frequency.go
42 lines (37 loc) · 924 Bytes
/
frequency.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package executortypes
import "github.com/osmosis-labs/osmosis/v19/simulation/simtypes"
func totalFrequency(actions []simtypes.ActionsWithMetadata) int {
totalFrequency := 0
for _, action := range actions {
totalFrequency += mapFrequencyFromString(action.Frequency())
}
return totalFrequency
}
func mapFrequencyFromInt(intFrequency int) simtypes.Frequency {
switch {
case intFrequency < 10:
return simtypes.Rare
case intFrequency > 10 && intFrequency < 20:
return simtypes.Infrequent
case intFrequency > 20 && intFrequency < 50:
return simtypes.Common
case intFrequency > 50:
return simtypes.Frequent
default:
return simtypes.Common
}
}
func mapFrequencyFromString(strFrequency simtypes.Frequency) int {
switch strFrequency {
case simtypes.Rare:
return 5
case simtypes.Infrequent:
return 15
case simtypes.Common:
return 35
case simtypes.Frequent:
return 65
default:
return 35
}
}