MPSolve 3.2.1
Loading...
Searching...
No Matches
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
14MPS_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
20typedef struct {
25
30 cplx_t * fpc;
31
36 cdpe_t * dpc;
37
42 mpc_t * mfpc;
43
49
55
59 mpc_t lc;
60
64 pthread_mutex_t precision_mutex;
66
67
72mps_chebyshev_poly * mps_chebyshev_poly_new (mps_context * ctx, int n, mps_structure structure);
73
81void 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
90void mps_chebyshev_poly_set_coefficient_f (mps_context * ctx, mps_chebyshev_poly * poly,
91 int i, mpc_t coeff);
92
104void 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
108mps_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
113MPS_END_DECLS
114
115#endif
Definition: chebyshev.h:20
pthread_mutex_t precision_mutex
Internal mutex used to manage the change of precision.
Definition: chebyshev.h:64
cplx_t * fpc
Floating point coefficients of the polynomial in the Chebyshev base.
Definition: chebyshev.h:30
mpc_t * mfpc
Multiprecision complex coefficients of the polynomial in the Chebyshev base.
Definition: chebyshev.h:42
cdpe_t * dpc
DPE floating point coefficients of the polynomial in the Chebyshev base.
Definition: chebyshev.h:36
mpq_t * rational_imag_coeffs
Ratinonal coefficients of the polynomial. These are the imaginary parts of the coefficients.
Definition: chebyshev.h:54
mpc_t lc
Leading coefficient of the polynomial.
Definition: chebyshev.h:59
mpq_t * rational_real_coeffs
Rational coefficients of the polynomial. These are the real parts of the coefficients.
Definition: chebyshev.h:48
mps_polynomial super
Base implementation of a polynomial.
Definition: chebyshev.h:24
this struct holds the state of the mps computation
Definition: context.h:55
Buffer used to parse input files in MPSolve. It can read a stream line by line.
Definition: input-buffer.h:33
Struct that represents an abstract polynomial. All the other real polynomial implementations (such as...
Definition: polynomial.h:111