Corrected errors I made during last commit. Paolo
Arno, sorry for the notdef.
This commit is contained in:
parent
2395c7bc99
commit
d6cfb4b626
|
|
@ -21,38 +21,44 @@ Author: 1987 Wayne A. Christopher, U. C. Berkeley CAD Group
|
||||||
|
|
||||||
#ifndef HAVE_ATANH
|
#ifndef HAVE_ATANH
|
||||||
extern double asinh(), acosh(), atanh();
|
extern double asinh(), acosh(), atanh();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
double PTfudge_factor;
|
double PTfudge_factor;
|
||||||
|
|
||||||
#define MODULUS(NUM,LIMIT) ((NUM) - ((int) ((NUM) / (LIMIT))) * (LIMIT))
|
#define MODULUS(NUM,LIMIT) ((NUM) - ((int) ((NUM) / (LIMIT))) * (LIMIT))
|
||||||
|
|
||||||
double PTabs(double arg)
|
double
|
||||||
|
PTabs(double arg)
|
||||||
{
|
{
|
||||||
return arg >= 0.0 ? arg : -arg;
|
return arg >= 0.0 ? arg : -arg;
|
||||||
}
|
}
|
||||||
|
|
||||||
double PTsgn(double arg)
|
double
|
||||||
|
PTsgn(double arg)
|
||||||
{
|
{
|
||||||
return arg > 0.0 ? 1.0 : arg < 0.0 ? -1.0 : 0.0;
|
return arg > 0.0 ? 1.0 : arg < 0.0 ? -1.0 : 0.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
double PTplus(double arg1, double arg2)
|
double
|
||||||
|
PTplus(double arg1, double arg2)
|
||||||
{
|
{
|
||||||
return (arg1 + arg2);
|
return (arg1 + arg2);
|
||||||
}
|
}
|
||||||
|
|
||||||
double PTminus(double arg1, double arg2)
|
double
|
||||||
|
PTminus(double arg1, double arg2)
|
||||||
{
|
{
|
||||||
return (arg1 - arg2);
|
return (arg1 - arg2);
|
||||||
}
|
}
|
||||||
|
|
||||||
double PTtimes(double arg1, double arg2)
|
double
|
||||||
|
PTtimes(double arg1, double arg2)
|
||||||
{
|
{
|
||||||
return (arg1 * arg2);
|
return (arg1 * arg2);
|
||||||
}
|
}
|
||||||
|
|
||||||
double PTdivide(double arg1, double arg2)
|
double
|
||||||
|
PTdivide(double arg1, double arg2)
|
||||||
{
|
{
|
||||||
if (arg2 >= 0.0)
|
if (arg2 >= 0.0)
|
||||||
arg2 += PTfudge_factor;
|
arg2 += PTfudge_factor;
|
||||||
|
|
@ -60,12 +66,13 @@ double PTdivide(double arg1, double arg2)
|
||||||
arg2 -= PTfudge_factor;
|
arg2 -= PTfudge_factor;
|
||||||
|
|
||||||
if (arg2 == 0.0)
|
if (arg2 == 0.0)
|
||||||
return (HUGE);
|
return (HUGE);
|
||||||
|
|
||||||
return (arg1 / arg2);
|
return (arg1 / arg2);
|
||||||
}
|
}
|
||||||
|
|
||||||
double PTpower(double arg1, double arg2)
|
double
|
||||||
|
PTpower(double arg1, double arg2)
|
||||||
{
|
{
|
||||||
if (arg1 < 0.0) {
|
if (arg1 < 0.0) {
|
||||||
if (fabs(arg2 - ((int) arg2)) / (arg2 + 0.001) < 0.000001) {
|
if (fabs(arg2 - ((int) arg2)) / (arg2 + 0.001) < 0.000001) {
|
||||||
|
|
@ -77,42 +84,48 @@ double PTpower(double arg1, double arg2)
|
||||||
return (pow(arg1, arg2));
|
return (pow(arg1, arg2));
|
||||||
}
|
}
|
||||||
|
|
||||||
double PTacos(double arg)
|
double
|
||||||
|
PTacos(double arg)
|
||||||
{
|
{
|
||||||
return (acos(arg));
|
return (acos(arg));
|
||||||
}
|
}
|
||||||
|
|
||||||
double PTacosh(double arg)
|
double
|
||||||
|
PTacosh(double arg)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_ACOSH
|
#ifdef HAVE_ACOSH
|
||||||
return (acosh(arg));
|
return (acosh(arg));
|
||||||
#else
|
#else
|
||||||
if (arg < 1.0)
|
if (arg < 1.0)
|
||||||
arg = 1.0;
|
arg = 1.0;
|
||||||
return (log(arg + sqrt(arg * arg - 1.0)));
|
return (log(arg + sqrt(arg*arg-1.0)));
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
double PTasin(double arg)
|
double
|
||||||
|
PTasin(double arg)
|
||||||
{
|
{
|
||||||
return (asin(arg));
|
return (asin(arg));
|
||||||
}
|
}
|
||||||
|
|
||||||
double PTasinh(double arg)
|
double
|
||||||
|
PTasinh(double arg)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_ASINH
|
#ifdef HAVE_ASINH
|
||||||
return (asinh(arg));
|
return (asinh(arg));
|
||||||
#else
|
#else
|
||||||
return log(arg + sqrt(arg * arg + 1.0));
|
return log(arg + sqrt(arg * arg + 1.0));
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
double PTatan(double arg)
|
double
|
||||||
|
PTatan(double arg)
|
||||||
{
|
{
|
||||||
return (atan(arg));
|
return (atan(arg));
|
||||||
}
|
}
|
||||||
|
|
||||||
double PTatanh(double arg)
|
double
|
||||||
|
PTatanh(double arg)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_ATANH
|
#ifdef HAVE_ATANH
|
||||||
return (atanh(arg));
|
return (atanh(arg));
|
||||||
|
|
@ -122,20 +135,36 @@ double PTatanh(double arg)
|
||||||
else if (arg > 1.0)
|
else if (arg > 1.0)
|
||||||
arg = 1.0 - PTfudge_factor - 1e-10;
|
arg = 1.0 - PTfudge_factor - 1e-10;
|
||||||
return (log((1.0 + arg) / (1.0 - arg)) / 2.0);
|
return (log((1.0 + arg) / (1.0 - arg)) / 2.0);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
double PTustep(double arg)
|
double
|
||||||
|
PTustep(double arg)
|
||||||
{
|
{
|
||||||
if (arg < 0.0)
|
if (arg < 0.0)
|
||||||
return 0.0;
|
return 0.0;
|
||||||
else if (arg > 0.0)
|
else if (arg > 0.0)
|
||||||
return 1.0;
|
return 1.0;
|
||||||
else
|
else
|
||||||
return 0.5; /* Ick! */
|
return 0.5; /* Ick! */
|
||||||
}
|
}
|
||||||
|
|
||||||
double PTuramp(double arg)
|
/* MW. PTcif is like "C" if - 0 for (arg<=0), 1 elsewhere */
|
||||||
|
|
||||||
|
double
|
||||||
|
PTustep2(double arg)
|
||||||
|
{
|
||||||
|
if (arg <= 0.0)
|
||||||
|
return 0.0;
|
||||||
|
else if (arg <= 1.0)
|
||||||
|
return arg;
|
||||||
|
else //if (arg > 1.0)
|
||||||
|
return 1.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
double
|
||||||
|
PTuramp(double arg)
|
||||||
{
|
{
|
||||||
if (arg < 0.0)
|
if (arg < 0.0)
|
||||||
return 0.0;
|
return 0.0;
|
||||||
|
|
@ -143,75 +172,75 @@ double PTuramp(double arg)
|
||||||
return arg;
|
return arg;
|
||||||
}
|
}
|
||||||
|
|
||||||
double PTcos(double arg)
|
double
|
||||||
|
PTcos(double arg)
|
||||||
{
|
{
|
||||||
return (cos(MODULUS(arg, 2 * M_PI)));
|
return (cos(MODULUS(arg, 2 * M_PI)));
|
||||||
}
|
}
|
||||||
|
|
||||||
double PTcosh(double arg)
|
double
|
||||||
|
PTcosh(double arg)
|
||||||
{
|
{
|
||||||
return (cosh(arg));
|
return (cosh(arg));
|
||||||
}
|
}
|
||||||
|
|
||||||
double PTexp(double arg)
|
double
|
||||||
|
PTexp(double arg)
|
||||||
{
|
{
|
||||||
return (exp(arg));
|
return (exp(arg));
|
||||||
}
|
}
|
||||||
|
|
||||||
double PTln(double arg)
|
double
|
||||||
|
PTln(double arg)
|
||||||
{
|
{
|
||||||
if (arg < 0.0)
|
if (arg < 0.0)
|
||||||
#ifdef EXPERIMENTAL_CODE
|
return (HUGE);
|
||||||
return (HUGE);
|
|
||||||
#else
|
|
||||||
arg = -arg;
|
|
||||||
#endif
|
|
||||||
return (log(arg));
|
return (log(arg));
|
||||||
}
|
}
|
||||||
|
|
||||||
double PTlog(double arg)
|
double
|
||||||
|
PTlog(double arg)
|
||||||
{
|
{
|
||||||
if (arg <= 0.0)
|
if (arg <= 0.0)
|
||||||
#ifdef EXPERIMENTAL_CODE
|
return (HUGE);
|
||||||
return (HUGE);
|
|
||||||
#else
|
|
||||||
arg = -arg;
|
|
||||||
#endif
|
|
||||||
return (log10(arg));
|
return (log10(arg));
|
||||||
}
|
}
|
||||||
|
|
||||||
double PTsin(double arg)
|
double
|
||||||
|
PTsin(double arg)
|
||||||
{
|
{
|
||||||
return (sin(MODULUS(arg, 2 * M_PI)));
|
return (sin(MODULUS(arg, 2 * M_PI)));
|
||||||
}
|
}
|
||||||
|
|
||||||
double PTsinh(double arg)
|
double
|
||||||
|
PTsinh(double arg)
|
||||||
{
|
{
|
||||||
return (sinh(arg));
|
return (sinh(arg));
|
||||||
}
|
}
|
||||||
|
|
||||||
double PTsqrt(double arg)
|
double
|
||||||
|
PTsqrt(double arg)
|
||||||
{
|
{
|
||||||
if (arg < 0.0)
|
if (arg < 0.0)
|
||||||
#ifdef EXPERIMENTAL_CODE
|
return (HUGE);
|
||||||
return (HUGE);
|
|
||||||
#else
|
|
||||||
arg = -arg;
|
|
||||||
#endif
|
|
||||||
return (sqrt(arg));
|
return (sqrt(arg));
|
||||||
}
|
}
|
||||||
|
|
||||||
double PTtan(double arg)
|
double
|
||||||
|
PTtan(double arg)
|
||||||
{
|
{
|
||||||
return (tan(MODULUS(arg, M_PI)));
|
return (tan(MODULUS(arg, M_PI)));
|
||||||
}
|
}
|
||||||
|
|
||||||
double PTtanh(double arg)
|
double
|
||||||
|
PTtanh(double arg)
|
||||||
{
|
{
|
||||||
return (tanh(arg));
|
return (tanh(arg));
|
||||||
}
|
}
|
||||||
|
|
||||||
double PTuminus(double arg)
|
double
|
||||||
|
PTuminus(double arg)
|
||||||
{
|
{
|
||||||
return (-arg);
|
return (- arg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -290,20 +290,6 @@ handlekeypressed(Widget w, caddr_t clientdata, caddr_t calldata)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# ifdef notdef
|
|
||||||
void
|
|
||||||
keyhandler(clientdata, source, id)
|
|
||||||
caddr_t clientdata;
|
|
||||||
int *source;
|
|
||||||
XtInputId id;
|
|
||||||
{
|
|
||||||
|
|
||||||
# ifdef notdef
|
|
||||||
KEYwaiting = TRUE;
|
|
||||||
# endif
|
|
||||||
|
|
||||||
}
|
|
||||||
# endif
|
|
||||||
|
|
||||||
void
|
void
|
||||||
handlebuttonev(Widget w, caddr_t clientdata, caddr_t calldata)
|
handlebuttonev(Widget w, caddr_t clientdata, caddr_t calldata)
|
||||||
|
|
@ -322,17 +308,6 @@ handlebuttonev(Widget w, caddr_t clientdata, caddr_t calldata)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# ifdef notdef
|
|
||||||
handlemotionev(w, clientdata, calldata)
|
|
||||||
Widget w;
|
|
||||||
caddr_t clientdata, calldata;
|
|
||||||
{
|
|
||||||
|
|
||||||
XMotionEvent *motionev = (XMotionEvent *) calldata;
|
|
||||||
|
|
||||||
switch
|
|
||||||
}
|
|
||||||
# endif
|
|
||||||
|
|
||||||
/* Recover from bad NewViewPort call. */
|
/* Recover from bad NewViewPort call. */
|
||||||
#define RECOVERNEWVIEWPORT() free((char *) graph);\
|
#define RECOVERNEWVIEWPORT() free((char *) graph);\
|
||||||
|
|
@ -524,16 +499,7 @@ X11_Arc(int x0, int y0, int radius, double theta1, double theta2)
|
||||||
XDrawArc(display, DEVDEP(currentgraph).window, DEVDEP(currentgraph).gc,
|
XDrawArc(display, DEVDEP(currentgraph).window, DEVDEP(currentgraph).gc,
|
||||||
x0 - radius,
|
x0 - radius,
|
||||||
currentgraph->absolute.height - radius - y0,
|
currentgraph->absolute.height - radius - y0,
|
||||||
2 * radius, 2 * radius, t1, t2);
|
2 * radius, 2 * radius, t1, t2);
|
||||||
# ifdef notdef
|
|
||||||
printf("at %d, %d, %g %g x %d :: (%d, %d)\n",
|
|
||||||
x0, y0, theta1, theta2, radius, t1, t2);
|
|
||||||
printf("skip\n");
|
|
||||||
XSync(display, 0);
|
|
||||||
printf("XDrawArc(%d, %d, %d, %d, %d, %d)\n", x0 - radius,
|
|
||||||
currentgraph->absolute.height - radius - y0,
|
|
||||||
2 * radius, 2 * radius, t1, t2);
|
|
||||||
# endif
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -578,19 +544,6 @@ X11_SetLinestyle(int linestyleid)
|
||||||
|
|
||||||
if (currentgraph->linestyle != linestyleid) {
|
if (currentgraph->linestyle != linestyleid) {
|
||||||
|
|
||||||
# ifdef notdef
|
|
||||||
switch (linestyleid %3) {
|
|
||||||
case 0:
|
|
||||||
values.line_style = LineSolid;
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
values.line_style = LineOnOffDash;
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
values.line_style = LineDoubleDash;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
# endif
|
|
||||||
if ((linestyleid == 0 || numdispplanes > 1) && linestyleid != 1) {
|
if ((linestyleid == 0 || numdispplanes > 1) && linestyleid != 1) {
|
||||||
/* solid if linestyle 0 or if has color, allow only one
|
/* solid if linestyle 0 or if has color, allow only one
|
||||||
* dashed linestyle */
|
* dashed linestyle */
|
||||||
|
|
@ -878,14 +831,7 @@ redraw(Widget w, caddr_t client_data, caddr_t call_data)
|
||||||
int n = 1;
|
int n = 1;
|
||||||
|
|
||||||
DEVDEP(graph).isopen = 1;
|
DEVDEP(graph).isopen = 1;
|
||||||
# ifdef notdef
|
|
||||||
/* if there is a resize, let the resize routine handle the exposures */
|
|
||||||
if (XCheckWindowEvent(display, DEVDEP(graph).window,
|
|
||||||
(long) StructureNotifyMask, &ev)) {
|
|
||||||
resize(w, client_data, &ev);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
# endif
|
|
||||||
|
|
||||||
rects[0].x = pev->x;
|
rects[0].x = pev->x;
|
||||||
rects[0].y = pev->y;
|
rects[0].y = pev->y;
|
||||||
|
|
@ -935,37 +881,7 @@ resize(Widget w, caddr_t client_data, caddr_t call_data)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# ifdef notdef
|
|
||||||
/* stolen from CP/lexical.c */
|
|
||||||
|
|
||||||
/* A special 'getc' so that we can deal with ^D properly. There is no way for
|
|
||||||
* stdio to know if we have typed a ^D after some other characters, so
|
|
||||||
* don't use buffering at all...
|
|
||||||
*/
|
|
||||||
static int inchar(fp)
|
|
||||||
FILE *fp;
|
|
||||||
{
|
|
||||||
|
|
||||||
char c;
|
|
||||||
int i;
|
|
||||||
extern int errno;
|
|
||||||
|
|
||||||
# ifdef HAS_TERMREAD
|
|
||||||
if (cp_interactive && !cp_nocc) {
|
|
||||||
i = read((int) fileno(fp), &c, 1);
|
|
||||||
if (i == 0)
|
|
||||||
return (EOF);
|
|
||||||
else if (i == -1) {
|
|
||||||
perror("read");
|
|
||||||
return (EOF);
|
|
||||||
} else
|
|
||||||
return ((int) c);
|
|
||||||
}
|
|
||||||
# endif
|
|
||||||
c = getc(fp);
|
|
||||||
return ((int) c);
|
|
||||||
}
|
|
||||||
# endif
|
|
||||||
|
|
||||||
void
|
void
|
||||||
X11_Input(REQUEST *request, RESPONSE *response)
|
X11_Input(REQUEST *request, RESPONSE *response)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue