|
|
researchv10 Norman
/* Copyright (c) 1988 AT&T */
/* All Rights Reserved */
/* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T */
/* The copyright notice above does not evidence any */
/* actual or intended publication of such source code. */
/* @(#)picasso:math.c 1.0 */
#include "picasso.h"
#include "y.tab.h"
double Log(x)
double x;
{
return errcheck(log(x), "log");
}
double Log10(x)
double x;
{
return errcheck(log10(x), "log");
}
double Exp(x)
double x;
{
return errcheck(exp(x), "exp");
}
double Sqrt(x)
double x;
{
return errcheck(sqrt(x), "sqrt");
}
double Cos(x)
double x;
{
/* if (fmod(x,180.) == 90)
return 0; */
return cos(x/* * M_PI/180 */);
}
double Sin(x)
double x;
{
/* if (fmod(x,180.) == 0)
return 0; */
return sin(x/* * M_PI/180 */);
}
double Pow(x, y)
double x, y;
{
return errcheck(pow(x,y), "pow");
}
double Atan2(y, x)
double y, x;
{
return (atan2(y, x)/* * 180.0/M_PI */);
}
double Minvar(s)
char *s;
{
struct symtab *p;
double m;
int i;
p = findvar(s, VARNAME);
if (p->s_dim == 0)
m = p->s_val.f;
else for (m = p->s_val.a[0], i = 1; i < p->s_dim; ++i)
if (p->s_val.a[i] < m)
m = p->s_val.a[i];
return m;
}
double Minlist()
{
double m;
for (m = exprlist[--nexpr]; nexpr; )
if (exprlist[--nexpr] < m)
m = exprlist[nexpr];
return m;
}
double Maxvar(s)
char *s;
{
struct symtab *p;
double m;
int i;
p = findvar(s, VARNAME);
if (p->s_dim == 0)
m = p->s_val.f;
else for (m = p->s_val.a[0], i = 1; i < p->s_dim; ++i)
if (p->s_val.a[i] > m)
m = p->s_val.a[i];
return m;
}
double Maxlist()
{
double m;
for (m = exprlist[--nexpr]; nexpr; )
if (exprlist[--nexpr] > m)
m = exprlist[nexpr];
return m;
}
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.