OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "base/metrics/field_trial.h" | 5 #include "base/metrics/field_trial.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "base/build_time.h" | 9 #include "base/build_time.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 26 matching lines...) Expand all Loading... |
37 | 37 |
38 Time::Exploded exploded; | 38 Time::Exploded exploded; |
39 exploded.year = year; | 39 exploded.year = year; |
40 exploded.month = month; | 40 exploded.month = month; |
41 exploded.day_of_week = 0; // Should be unused. | 41 exploded.day_of_week = 0; // Should be unused. |
42 exploded.day_of_month = day_of_month; | 42 exploded.day_of_month = day_of_month; |
43 exploded.hour = 0; | 43 exploded.hour = 0; |
44 exploded.minute = 0; | 44 exploded.minute = 0; |
45 exploded.second = 0; | 45 exploded.second = 0; |
46 exploded.millisecond = 0; | 46 exploded.millisecond = 0; |
| 47 Time out_time; |
| 48 if (!Time::FromLocalExploded(exploded, &out_time)) { |
| 49 // TODO(maksims): implement failure handling. |
| 50 // We might just return |out_time|, which is Time(0). |
| 51 NOTIMPLEMENTED(); |
| 52 } |
47 | 53 |
48 return Time::FromLocalExploded(exploded); | 54 return out_time; |
49 } | 55 } |
50 | 56 |
51 // Returns the boundary value for comparing against the FieldTrial's added | 57 // Returns the boundary value for comparing against the FieldTrial's added |
52 // groups for a given |divisor| (total probability) and |entropy_value|. | 58 // groups for a given |divisor| (total probability) and |entropy_value|. |
53 FieldTrial::Probability GetGroupBoundaryValue( | 59 FieldTrial::Probability GetGroupBoundaryValue( |
54 FieldTrial::Probability divisor, | 60 FieldTrial::Probability divisor, |
55 double entropy_value) { | 61 double entropy_value) { |
56 // Add a tiny epsilon value to get consistent results when converting floating | 62 // Add a tiny epsilon value to get consistent results when converting floating |
57 // points to int. Without it, boundary values have inconsistent results, e.g.: | 63 // points to int. Without it, boundary values have inconsistent results, e.g.: |
58 // | 64 // |
(...skipping 584 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
643 return; | 649 return; |
644 } | 650 } |
645 AutoLock auto_lock(global_->lock_); | 651 AutoLock auto_lock(global_->lock_); |
646 CHECK(!global_->PreLockedFind(trial->trial_name())) << trial->trial_name(); | 652 CHECK(!global_->PreLockedFind(trial->trial_name())) << trial->trial_name(); |
647 trial->AddRef(); | 653 trial->AddRef(); |
648 trial->SetTrialRegistered(); | 654 trial->SetTrialRegistered(); |
649 global_->registered_[trial->trial_name()] = trial; | 655 global_->registered_[trial->trial_name()] = trial; |
650 } | 656 } |
651 | 657 |
652 } // namespace base | 658 } // namespace base |
OLD | NEW |