SCIP Doxygen Documentation
Loading...
Searching...
No Matches
struct_rational.h
Go to the documentation of this file.
1
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2
/* */
3
/* This file is part of the program and library */
4
/* SCIP --- Solving Constraint Integer Programs */
5
/* */
6
/* Copyright (c) 2002-2026 Zuse Institute Berlin (ZIB) */
7
/* */
8
/* Licensed under the Apache License, Version 2.0 (the "License"); */
9
/* you may not use this file except in compliance with the License. */
10
/* You may obtain a copy of the License at */
11
/* */
12
/* http://www.apache.org/licenses/LICENSE-2.0 */
13
/* */
14
/* Unless required by applicable law or agreed to in writing, software */
15
/* distributed under the License is distributed on an "AS IS" BASIS, */
16
/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. */
17
/* See the License for the specific language governing permissions and */
18
/* limitations under the License. */
19
/* */
20
/* You should have received a copy of the Apache-2.0 license */
21
/* along with SCIP; see the file LICENSE. If not visit scipopt.org. */
22
/* */
23
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
24
25
/**@file struct_rational.h
26
* @brief datastructures for storing rational numbers
27
* @author Leon Eifler
28
*/
29
30
/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
31
32
#ifndef __SCIP_STRUCT_RATIONAL_H__
33
#define __SCIP_STRUCT_RATIONAL_H__
34
35
36
#include "
scip/def.h
"
37
#include "
scip/type_misc.h
"
38
#include "
scip/type_rational.h
"
39
#include "
scip/multiprecision.hpp
"
40
41
#ifdef __cplusplus
42
extern
"C"
{
43
#endif
44
45
/** rational wrapper struct */
46
struct
SCIP_Rational
47
{
48
scip::Rational
val
;
/**< value of the rational */
49
unsigned
int
isinf
:1;
/**< is the value infinite? sign is determined by val */
50
unsigned
int
isfprepresentable
:2;
/**< is the value exactly representable as floating point number?
51
* (0 - unknown, 1 - yes, 2 - no) */
52
};
53
54
/** rational array struct, essentially a std vector with all indices offset by firstidx*/
55
struct
SCIP_RationalArray
56
{
57
std::vector<SCIP_RATIONAL>
vals
;
/**< values of the array */
58
int
firstidx
;
/**< first used index */
59
};
60
61
#ifdef __cplusplus
62
}
63
#endif
64
65
#endif
scip::Rational
Definition
multiprecision.hpp:69
def.h
common defines and data types used in all packages of SCIP
multiprecision.hpp
SCIP_RationalArray
Definition
struct_rational.h:56
SCIP_RationalArray::firstidx
int firstidx
Definition
struct_rational.h:58
SCIP_RationalArray::vals
std::vector< SCIP_RATIONAL > vals
Definition
struct_rational.h:57
SCIP_Rational
Definition
struct_rational.h:47
SCIP_Rational::isinf
unsigned int isinf
Definition
struct_rational.h:49
SCIP_Rational::val
scip::Rational val
Definition
struct_rational.h:48
SCIP_Rational::isfprepresentable
unsigned int isfprepresentable
Definition
struct_rational.h:50
type_misc.h
type definitions for miscellaneous datastructures
type_rational.h
type definitions for rational numbers
struct_rational.h
© 2002-2026 by Zuse Institute Berlin (ZIB),
Imprint
Generated by
1.16.1