MPSolve
3.2.1
chebyshev.h
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
11
#ifndef MPS_CHEBYSHEV_H_
12
#define MPS_CHEBYSHEV_H_
13
14
MPS_BEGIN_DECLS
15
16
#define MPS_CHEBYSHEV_POLY_TYPE_NAME "mps_chebyshev_poly"
17
#define MPS_CHEBYSHEV_POLY(t) ((mps_chebyshev_poly*)t)
18
#define MPS_IS_CHEBYSHEV_POLY(t) mps_polynomial_check_type (t, "mps_chebyshev_poly")
19
20
typedef
struct
{
24
mps_polynomial
super
;
25
30
cplx_t * fpc;
31
36
cdpe_t * dpc;
37
42
mpc_t * mfpc;
43
48
mpq_t *
rational_real_coeffs
;
49
54
mpq_t *
rational_imag_coeffs
;
55
59
mpc_t lc;
60
64
pthread_mutex_t
precision_mutex
;
65
}
mps_chebyshev_poly
;
66
67
72
mps_chebyshev_poly
* mps_chebyshev_poly_new (
mps_context
* ctx,
int
n, mps_structure structure);
73
81
void
mps_chebyshev_poly_set_coefficient_q (
mps_context
* ctx,
mps_chebyshev_poly
* poly,
int
i,
82
mpq_t real_part, mpq_t imag_part);
83
90
void
mps_chebyshev_poly_set_coefficient_f (
mps_context
* ctx,
mps_chebyshev_poly
* poly,
91
int
i, mpc_t coeff);
92
104
void
mps_chebyshev_poly_set_coefficient_i (
mps_context
* ctx,
mps_chebyshev_poly
* poly,
105
int
i,
long
int
real_coeff,
long
int
imag_coeff);
106
107
108
mps_chebyshev_poly
* mps_chebyshev_poly_read_from_stream (
mps_context
* ctx,
mps_input_buffer
* buffer,
109
mps_structure structure, mps_density density,
110
long
int
precision);
111
112
113
MPS_END_DECLS
114
115
#endif
mps_chebyshev_poly::precision_mutex
pthread_mutex_t precision_mutex
Internal mutex used to manage the change of precision.
Definition:
chebyshev.h:64
mps_context
this struct holds the state of the mps computation
Definition:
context.h:55
mps_polynomial
Struct that represents an abstract polynomial. All the other real polynomial implementations (such as...
Definition:
polynomial.h:111
mps_chebyshev_poly::rational_imag_coeffs
mpq_t * rational_imag_coeffs
Ratinonal coefficients of the polynomial. These are the imaginary parts of the coefficients.
Definition:
chebyshev.h:54
mps_chebyshev_poly::rational_real_coeffs
mpq_t * rational_real_coeffs
Rational coefficients of the polynomial. These are the real parts of the coefficients.
Definition:
chebyshev.h:48
mps_chebyshev_poly::super
mps_polynomial super
Base implementation of a polynomial.
Definition:
chebyshev.h:24
mps_chebyshev_poly
Definition:
chebyshev.h:20
mps_input_buffer
Buffer used to parse input files in MPSolve. It can read a stream line by line.
Definition:
input-buffer.h:33
include
mps
chebyshev.h
Generated on Sat Aug 1 2020 00:00:00 for MPSolve by
1.8.18