cartographer
common
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
22
#include "
cartographer/common/port.h
"
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.
29
class
FixedRatioSampler
{
30
public
:
31
explicit
FixedRatioSampler
(
double
ratio);
32
~FixedRatioSampler
();
33
34
FixedRatioSampler
(
const
FixedRatioSampler
&) =
delete
;
35
FixedRatioSampler
&
operator=
(
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
48
int64
num_pulses_
= 0;
49
int64
num_samples_
= 0;
50
};
51
52
}
// namespace common
53
}
// namespace cartographer
54
55
#endif // CARTOGRAPHER_COMMON_FIXED_RATIO_SAMPLER_H_
cartographer::common::FixedRatioSampler::num_pulses_
int64 num_pulses_
Definition:
fixed_ratio_sampler.h:48
cartographer::common::FixedRatioSampler::num_samples_
int64 num_samples_
Definition:
fixed_ratio_sampler.h:49
cartographer::int64
int64_t int64
Definition:
port.h:33
cartographer::common::FixedRatioSampler::~FixedRatioSampler
~FixedRatioSampler()
Definition:
fixed_ratio_sampler.cc:30
cartographer::common::FixedRatioSampler::ratio_
const double ratio_
Definition:
fixed_ratio_sampler.h:46
cartographer
Definition:
map_builder_stub.cc:31
cartographer::common::FixedRatioSampler::Pulse
bool Pulse()
Definition:
fixed_ratio_sampler.cc:32
cartographer::common::FixedRatioSampler::FixedRatioSampler
FixedRatioSampler(double ratio)
Definition:
fixed_ratio_sampler.cc:24
port.h
cartographer::common::FixedRatioSampler
Definition:
fixed_ratio_sampler.h:29
cartographer::common::FixedRatioSampler::DebugString
std::string DebugString()
Definition:
fixed_ratio_sampler.cc:41
cartographer::common::FixedRatioSampler::operator=
FixedRatioSampler & operator=(const FixedRatioSampler &)=delete
cartographer
Author(s): The Cartographer Authors
autogenerated on Mon Feb 28 2022 22:00:58