fixed_ratio_sampler.h
Go to the documentation of this file.
1 /*
2  * Copyright 2016 The Cartographer Authors
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #ifndef CARTOGRAPHER_COMMON_FIXED_RATIO_SAMPLER_H_
18 #define CARTOGRAPHER_COMMON_FIXED_RATIO_SAMPLER_H_
19 
20 #include <string>
21 
23 
24 namespace cartographer {
25 namespace common {
26 
27 // Signals when a sample should be taken from a stream of data to select a
28 // uniformly distributed fraction of the data.
30  public:
31  explicit FixedRatioSampler(double ratio);
33 
34  FixedRatioSampler(const FixedRatioSampler&) = delete;
36 
37  // Returns true if this pulse should result in an sample.
38  bool Pulse();
39 
40  // Returns a debug string describing the current ratio of samples to pulses.
41  std::string DebugString();
42 
43  private:
44  // Sampling occurs if the proportion of samples to pulses drops below this
45  // number.
46  const double ratio_;
47 
50 };
51 
52 } // namespace common
53 } // namespace cartographer
54 
55 #endif // CARTOGRAPHER_COMMON_FIXED_RATIO_SAMPLER_H_
int64_t int64
Definition: port.h:33
FixedRatioSampler & operator=(const FixedRatioSampler &)=delete


cartographer
Author(s): The Cartographer Authors
autogenerated on Mon Feb 28 2022 22:00:58