@@ -10,67 +10,67 @@ pub const RECENT_PERIOD_LENGTH_IN_DAYS: i64 = 365;
10
10
/// The structure is skipped in JSON if all values are zero and is initialized to all zeros to have fewer Option<T> unwraps.
11
11
#[ derive( Serialize , Deserialize , Clone , Debug ) ]
12
12
pub struct CommitTimeHistoHours {
13
- #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "usize ::default" ) ]
14
- pub h00 : usize ,
15
- #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "usize ::default" ) ]
16
- pub h01 : usize ,
17
- #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "usize ::default" ) ]
18
- pub h02 : usize ,
19
- #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "usize ::default" ) ]
20
- pub h03 : usize ,
21
- #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "usize ::default" ) ]
22
- pub h04 : usize ,
23
- #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "usize ::default" ) ]
24
- pub h05 : usize ,
25
- #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "usize ::default" ) ]
26
- pub h06 : usize ,
27
- #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "usize ::default" ) ]
28
- pub h07 : usize ,
29
- #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "usize ::default" ) ]
30
- pub h08 : usize ,
31
- #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "usize ::default" ) ]
32
- pub h09 : usize ,
33
- #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "usize ::default" ) ]
34
- pub h10 : usize ,
35
- #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "usize ::default" ) ]
36
- pub h11 : usize ,
37
- #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "usize ::default" ) ]
38
- pub h12 : usize ,
39
- #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "usize ::default" ) ]
40
- pub h13 : usize ,
41
- #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "usize ::default" ) ]
42
- pub h14 : usize ,
43
- #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "usize ::default" ) ]
44
- pub h15 : usize ,
45
- #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "usize ::default" ) ]
46
- pub h16 : usize ,
47
- #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "usize ::default" ) ]
48
- pub h17 : usize ,
49
- #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "usize ::default" ) ]
50
- pub h18 : usize ,
51
- #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "usize ::default" ) ]
52
- pub h19 : usize ,
53
- #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "usize ::default" ) ]
54
- pub h20 : usize ,
55
- #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "usize ::default" ) ]
56
- pub h21 : usize ,
57
- #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "usize ::default" ) ]
58
- pub h22 : usize ,
59
- #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "usize ::default" ) ]
60
- pub h23 : usize ,
13
+ #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "u64 ::default" ) ]
14
+ pub h00 : u64 ,
15
+ #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "u64 ::default" ) ]
16
+ pub h01 : u64 ,
17
+ #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "u64 ::default" ) ]
18
+ pub h02 : u64 ,
19
+ #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "u64 ::default" ) ]
20
+ pub h03 : u64 ,
21
+ #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "u64 ::default" ) ]
22
+ pub h04 : u64 ,
23
+ #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "u64 ::default" ) ]
24
+ pub h05 : u64 ,
25
+ #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "u64 ::default" ) ]
26
+ pub h06 : u64 ,
27
+ #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "u64 ::default" ) ]
28
+ pub h07 : u64 ,
29
+ #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "u64 ::default" ) ]
30
+ pub h08 : u64 ,
31
+ #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "u64 ::default" ) ]
32
+ pub h09 : u64 ,
33
+ #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "u64 ::default" ) ]
34
+ pub h10 : u64 ,
35
+ #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "u64 ::default" ) ]
36
+ pub h11 : u64 ,
37
+ #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "u64 ::default" ) ]
38
+ pub h12 : u64 ,
39
+ #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "u64 ::default" ) ]
40
+ pub h13 : u64 ,
41
+ #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "u64 ::default" ) ]
42
+ pub h14 : u64 ,
43
+ #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "u64 ::default" ) ]
44
+ pub h15 : u64 ,
45
+ #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "u64 ::default" ) ]
46
+ pub h16 : u64 ,
47
+ #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "u64 ::default" ) ]
48
+ pub h17 : u64 ,
49
+ #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "u64 ::default" ) ]
50
+ pub h18 : u64 ,
51
+ #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "u64 ::default" ) ]
52
+ pub h19 : u64 ,
53
+ #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "u64 ::default" ) ]
54
+ pub h20 : u64 ,
55
+ #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "u64 ::default" ) ]
56
+ pub h21 : u64 ,
57
+ #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "u64 ::default" ) ]
58
+ pub h22 : u64 ,
59
+ #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "u64 ::default" ) ]
60
+ pub h23 : u64 ,
61
61
}
62
62
63
63
/// Contains members and methods related to commit time histogram
64
64
#[ derive( Serialize , Deserialize , Clone , Debug ) ]
65
65
pub struct CommitTimeHisto {
66
66
/// The sum of all commits included in `histogram_recent`. This value is used as the 100% of all recent commits.
67
67
/// The value is populated once after all commits have been added.
68
- #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "usize ::default" ) ]
69
- pub histogram_recent_sum : usize ,
68
+ #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "u64 ::default" ) ]
69
+ pub histogram_recent_sum : u64 ,
70
70
/// The sum of all commits included in `histogram_all`. This value is used as the 100% of all commits.
71
71
/// The value is populated once after all commits have been added.
72
- #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "usize ::default" ) ]
73
- pub histogram_all_sum : usize ,
72
+ #[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero" , default = "u64 ::default" ) ]
73
+ pub histogram_all_sum : u64 ,
74
74
75
75
/// The standard deviation of `histogram_recent` values.
76
76
#[ serde( skip_serializing_if = "CommitTimeHistoHours::is_zero_f64" , default = "f64::default" ) ]
@@ -114,7 +114,7 @@ pub struct CommitTimeHisto {
114
114
115
115
impl CommitTimeHistoHours {
116
116
/// A helper function for serde. Returns true if the value is zero.
117
- fn is_zero ( val : & usize ) -> bool {
117
+ fn is_zero ( val : & u64 ) -> bool {
118
118
val == & 0
119
119
}
120
120
@@ -188,38 +188,38 @@ impl CommitTimeHistoHours {
188
188
}
189
189
190
190
/// Converts `hxx` values from the number of commits to percentage.
191
- fn convert_counts_to_percentage ( & mut self , sum : usize ) {
191
+ fn convert_counts_to_percentage ( & mut self , sum : u64 ) {
192
192
if sum == 0 {
193
193
return ;
194
194
}
195
195
196
196
// convert the sum into f64 to allow for rounding of the fraction after doing division
197
197
let sum = sum as f64 ;
198
198
// re-calculate every member
199
- self . h00 = ( self . h00 as f64 * 100.0 / sum) . round ( ) as usize ;
200
- self . h01 = ( self . h01 as f64 * 100.0 / sum) . round ( ) as usize ;
201
- self . h02 = ( self . h02 as f64 * 100.0 / sum) . round ( ) as usize ;
202
- self . h03 = ( self . h03 as f64 * 100.0 / sum) . round ( ) as usize ;
203
- self . h04 = ( self . h04 as f64 * 100.0 / sum) . round ( ) as usize ;
204
- self . h05 = ( self . h05 as f64 * 100.0 / sum) . round ( ) as usize ;
205
- self . h06 = ( self . h06 as f64 * 100.0 / sum) . round ( ) as usize ;
206
- self . h07 = ( self . h07 as f64 * 100.0 / sum) . round ( ) as usize ;
207
- self . h08 = ( self . h08 as f64 * 100.0 / sum) . round ( ) as usize ;
208
- self . h09 = ( self . h09 as f64 * 100.0 / sum) . round ( ) as usize ;
209
- self . h10 = ( self . h10 as f64 * 100.0 / sum) . round ( ) as usize ;
210
- self . h11 = ( self . h11 as f64 * 100.0 / sum) . round ( ) as usize ;
211
- self . h12 = ( self . h12 as f64 * 100.0 / sum) . round ( ) as usize ;
212
- self . h13 = ( self . h13 as f64 * 100.0 / sum) . round ( ) as usize ;
213
- self . h14 = ( self . h14 as f64 * 100.0 / sum) . round ( ) as usize ;
214
- self . h15 = ( self . h15 as f64 * 100.0 / sum) . round ( ) as usize ;
215
- self . h16 = ( self . h16 as f64 * 100.0 / sum) . round ( ) as usize ;
216
- self . h17 = ( self . h17 as f64 * 100.0 / sum) . round ( ) as usize ;
217
- self . h18 = ( self . h18 as f64 * 100.0 / sum) . round ( ) as usize ;
218
- self . h19 = ( self . h19 as f64 * 100.0 / sum) . round ( ) as usize ;
219
- self . h20 = ( self . h20 as f64 * 100.0 / sum) . round ( ) as usize ;
220
- self . h21 = ( self . h21 as f64 * 100.0 / sum) . round ( ) as usize ;
221
- self . h22 = ( self . h22 as f64 * 100.0 / sum) . round ( ) as usize ;
222
- self . h23 = ( self . h23 as f64 * 100.0 / sum) . round ( ) as usize ;
199
+ self . h00 = ( self . h00 as f64 * 100.0 / sum) . round ( ) as u64 ;
200
+ self . h01 = ( self . h01 as f64 * 100.0 / sum) . round ( ) as u64 ;
201
+ self . h02 = ( self . h02 as f64 * 100.0 / sum) . round ( ) as u64 ;
202
+ self . h03 = ( self . h03 as f64 * 100.0 / sum) . round ( ) as u64 ;
203
+ self . h04 = ( self . h04 as f64 * 100.0 / sum) . round ( ) as u64 ;
204
+ self . h05 = ( self . h05 as f64 * 100.0 / sum) . round ( ) as u64 ;
205
+ self . h06 = ( self . h06 as f64 * 100.0 / sum) . round ( ) as u64 ;
206
+ self . h07 = ( self . h07 as f64 * 100.0 / sum) . round ( ) as u64 ;
207
+ self . h08 = ( self . h08 as f64 * 100.0 / sum) . round ( ) as u64 ;
208
+ self . h09 = ( self . h09 as f64 * 100.0 / sum) . round ( ) as u64 ;
209
+ self . h10 = ( self . h10 as f64 * 100.0 / sum) . round ( ) as u64 ;
210
+ self . h11 = ( self . h11 as f64 * 100.0 / sum) . round ( ) as u64 ;
211
+ self . h12 = ( self . h12 as f64 * 100.0 / sum) . round ( ) as u64 ;
212
+ self . h13 = ( self . h13 as f64 * 100.0 / sum) . round ( ) as u64 ;
213
+ self . h14 = ( self . h14 as f64 * 100.0 / sum) . round ( ) as u64 ;
214
+ self . h15 = ( self . h15 as f64 * 100.0 / sum) . round ( ) as u64 ;
215
+ self . h16 = ( self . h16 as f64 * 100.0 / sum) . round ( ) as u64 ;
216
+ self . h17 = ( self . h17 as f64 * 100.0 / sum) . round ( ) as u64 ;
217
+ self . h18 = ( self . h18 as f64 * 100.0 / sum) . round ( ) as u64 ;
218
+ self . h19 = ( self . h19 as f64 * 100.0 / sum) . round ( ) as u64 ;
219
+ self . h20 = ( self . h20 as f64 * 100.0 / sum) . round ( ) as u64 ;
220
+ self . h21 = ( self . h21 as f64 * 100.0 / sum) . round ( ) as u64 ;
221
+ self . h22 = ( self . h22 as f64 * 100.0 / sum) . round ( ) as u64 ;
222
+ self . h23 = ( self . h23 as f64 * 100.0 / sum) . round ( ) as u64 ;
223
223
}
224
224
225
225
/// Converts `hxx` values from the number of commits to percentage.
@@ -258,7 +258,7 @@ impl CommitTimeHistoHours {
258
258
}
259
259
260
260
/// Returns the sum of all `hxx` members.
261
- fn sum ( & self ) -> usize {
261
+ fn sum ( & self ) -> u64 {
262
262
self . h00
263
263
+ self . h01
264
264
+ self . h02
@@ -289,13 +289,13 @@ impl CommitTimeHistoHours {
289
289
/// Only commit hours above the standard deviation (std) are included.
290
290
fn overlap ( & self , std : f64 ) -> Self {
291
291
// copy the commit counts into an array for easy referencing in a loop
292
- let commit_counts: [ usize ; 24 ] = [
292
+ let commit_counts: [ u64 ; 24 ] = [
293
293
self . h00 , self . h01 , self . h02 , self . h03 , self . h04 , self . h05 , self . h06 , self . h07 , self . h08 , self . h09 ,
294
294
self . h10 , self . h11 , self . h12 , self . h13 , self . h14 , self . h15 , self . h16 , self . h17 , self . h18 , self . h19 ,
295
295
self . h20 , self . h21 , self . h22 , self . h23 ,
296
296
] ;
297
297
298
- let mut tz_overlap: [ usize ; 24 ] = [ 0 ; 24 ] ;
298
+ let mut tz_overlap: [ u64 ; 24 ] = [ 0 ; 24 ] ;
299
299
300
300
// populate an array for all possible timezones with the number of overlapping hours
301
301
for tz in 0 ..23 {
@@ -315,7 +315,7 @@ impl CommitTimeHistoHours {
315
315
0
316
316
}
317
317
} )
318
- . sum :: < usize > ( ) ;
318
+ . sum :: < u64 > ( ) ;
319
319
}
320
320
321
321
Self {
0 commit comments