OR-Tools  8.1
rational_approximation.h
Go to the documentation of this file.
1 // Copyright 2010-2018 Google LLC
2 // Licensed under the Apache License, Version 2.0 (the "License");
3 // you may not use this file except in compliance with the License.
4 // You may obtain a copy of the License at
5 //
6 // http://www.apache.org/licenses/LICENSE-2.0
7 //
8 // Unless required by applicable law or agreed to in writing, software
9 // distributed under the License is distributed on an "AS IS" BASIS,
10 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 // See the License for the specific language governing permissions and
12 // limitations under the License.
13 
14 #ifndef OR_TOOLS_UTIL_RATIONAL_APPROXIMATION_H_
15 #define OR_TOOLS_UTIL_RATIONAL_APPROXIMATION_H_
16 
17 #include <utility>
18 
20 
21 namespace operations_research {
22 
23 // The type Fraction represents a number in the form of two integers: numerator
24 // and denominator. This type is used to display the rational approximation
25 // of a Fractional number.
26 typedef std::pair<int64, int64> Fraction;
27 
28 // Computes a rational approximation numerator/denominator for value x
29 // using a continued fraction algorithm. The absolute difference between the
30 // output fraction and the input "x" will not exceed "precision".
31 // TODO(user): make a parameterized template with integer and floating-point
32 // type parameters.
33 Fraction RationalApproximation(const double x, const double precision);
34 
35 } // namespace operations_research
36 #endif // OR_TOOLS_UTIL_RATIONAL_APPROXIMATION_H_
integral_types.h
operations_research
The vehicle routing library lets one model and solve generic vehicle routing problems ranging from th...
Definition: dense_doubly_linked_list.h:21
operations_research::Fraction
std::pair< int64, int64 > Fraction
Definition: rational_approximation.h:26
operations_research::RationalApproximation
Fraction RationalApproximation(const double x, const double precision)
Definition: rational_approximation.cc:26