MPSolve  3.2.1
approximation.h
Go to the documentation of this file.
1 /*
2  * This file is part of MPSolve 3.2.1
3  *
4  * Copyright (C) 2001-2020, Dipartimento di Matematica "L. Tonelli", Pisa.
5  * License: http://www.gnu.org/licenses/gpl.html GPL version 3 or higher
6  *
7  * Authors:
8  * Leonardo Robol <leonardo.robol@unipi.it>
9  */
10 
17 #ifndef MPS_APPROXIMATION_H_
18 #define MPS_APPROXIMATION_H_
19 
20 MPS_BEGIN_DECLS
21 
22 #ifdef _MPS_PRIVATE
23 
25  cplx_t fvalue;
26  cdpe_t dvalue;
27  mpc_t mvalue;
28 
29  double frad;
30  rdpe_t drad;
31 
32  mps_boolean approximated;
33  mps_boolean again;
34  long int wp;
35 
36  mps_root_status status;
37 
42  mps_root_attrs attrs;
43 
49  mps_root_inclusion inclusion;
50 };
51 
52 #endif
53 
54 /* Creation and deletion of approximations. */
55 mps_approximation * mps_approximation_new (mps_context * s);
56 void mps_approximation_free (mps_context * s, mps_approximation * appr);
57 mps_approximation * mps_approximation_copy (mps_context * ctx, mps_approximation * original);
58 
59 
60 /* Public accessor functions */
61 void mps_approximation_get_fvalue (mps_context * ctx, mps_approximation * approximation, cplx_t output);
62 void mps_approximation_get_dvalue (mps_context * ctx, mps_approximation * approximation, cdpe_t output);
63 void mps_approximation_get_mvalue (mps_context * ctx, mps_approximation * approximation, mpc_t output);
64 double mps_approximation_get_frad (mps_context * ctx, mps_approximation * approximation);
65 void mps_approximation_get_drad (mps_context * ctx, mps_approximation * approximation, rdpe_t output);
66 mps_root_status mps_approximation_get_status (mps_context * ctx, mps_approximation * approximation);
67 mps_root_attrs mps_approximation_get_attrs (mps_context * ctx, mps_approximation * approximation);
68 mps_root_inclusion mps_approximaiton_get_inclusion (mps_context * ctx, mps_approximation * approximation);
69 mps_boolean mps_approximation_get_again (mps_context * ctx, mps_approximation * approximation);
70 
71 /* Public setters functions */
72 void mps_approximation_set_fvalue (mps_context * ctx, mps_approximation * approximation, const cplx_t value);
73 void mps_approximation_set_dvalue (mps_context * ctx, mps_approximation * approximation, const cdpe_t value);
74 void mps_approximation_set_mvalue (mps_context * ctx, mps_approximation * approximation, const mpc_t value);
75 void mps_approximation_set_frad (mps_context * ctx, mps_approximation * approximation, const double frad);
76 void mps_approximation_set_drad (mps_context * ctx, mps_approximation * approximation, const rdpe_t drad);
77 void mps_approximation_set_status (mps_context * ctx, mps_approximation * approximation, const mps_root_status status);
78 void mps_approximation_set_attrs (mps_context * ctx, mps_approximation * approximation, const mps_root_attrs attrs);
79 void mps_approximation_set_inclusion (mps_context * ctx, mps_approximation * approximation, const mps_root_inclusion inclusion);
80 void mps_approximation_set_again (mps_context * ctx, mps_approximation * approximation, const mps_boolean again);
81 
82 MPS_END_DECLS
83 
84 #endif /* #ifndef MPS_ROOT_H */
Definition: approximation.h:24
mps_root_inclusion inclusion
Inclusion status of the root in the target set specified in the field input_config->search_set.
Definition: approximation.h:49
mps_root_attrs attrs
Attributes that have been set on the roots.
Definition: approximation.h:42
this struct holds the state of the mps computation
Definition: context.h:55