28char des_coef_C[] =
"$Header: /cvsroot/Lorene/C++/Source/Non_class_members/Graphics/des_coef.C,v 1.5 2014/10/13 08:53:21 j_novak Exp $" ;
75void des_coef(
const double* cf,
int n,
double pzero,
76 const char* nomx,
const char* nomy,
const char* title,
const char* device,
77 int newgraph,
int nxpage,
int nypage) {
79 float xdes[2], ydes[2] ;
81 double pzerol =
log10(pzero) ;
82 ydes[0] = float(pzerol) ;
89 double ymin = pzerol ;
90 double ymax = pzerol ;
92 for (
int i=0; i<n; i++) {
93 double yl =
log10(fabs(cf[i])) ;
94 if ( yl > ymax ) ymax = yl ;
96 double yamp = ymax - ymin ;
97 ymax = ymax + 0.05 * yamp ;
98 ymin = ymin - 0.05 * yamp ;
100 if (ymax <= pzerol) ymax = 2*pzerol ;
105 if ( (newgraph == 1) || (newgraph == 3) ) {
107 if (device == 0x0) device =
"?" ;
109 int ier = cpgbeg(0, device, nxpage, nypage) ;
111 cout <<
"des_coef: problem in opening PGPLOT display !" << endl ;
117 float size = float(1.3) ;
128 float xmin1 = float(xmin) ;
129 float xmax1 = float(xmax) ;
130 float ymin1 = float(ymin) ;
131 float ymax1 = float(ymax) ;
132 cpgenv(xmin1, xmax1, ymin1, ymax1, 0, 0 ) ;
133 cpglab(nomx, nomy, title) ;
136 for (
int i=0; i<n; i++) {
138 xdes[0] = float( i ) ;
140 if ( fabs(cf[i]) < pzero ) {
141 ydes[1] = float(pzerol) ;
145 ydes[1] = float(
log10(fabs(cf[i])) ) ;
146 if (cf[i] < 0) lstyle = 2 ;
151 cpgline(2, xdes, ydes) ;
159 if ( (newgraph == 2) || (newgraph == 3) ) {
Cmp log10(const Cmp &)
Basis 10 logarithm.
void des_coef(const double *cf, int n, double pzero, const char *nomx, const char *nomy, const char *title, const char *device=0x0, int newgraph=3, int nxpage=1, int nypage=1)
Basic routine for drawing spectral coefficients.