home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Club Amiga de Montreal - CAM
/
CAM_CD_1.iso
/
files
/
509.lha
/
ATS_v2.0
/
ats.h
< prev
next >
Wrap
C/C++ Source or Header
|
1991-05-06
|
2KB
|
82 lines
//
// C++ Routines to manipulate Taylor series for solving a differential
// equation.
//
// By Dennis J. Darland
// 10/21/90
// Public Domain
// Preliminary version 1.2
// Many enhancements expected.
// PROVIDED WITH NO WARRANTY.
//
#include <stream.h>
#include <my_complex.h>
#include <stdlib.h>
#define MAX_TERMS 60
class t_s
{
friend class complex;
complex terms[MAX_TERMS];
int alloc_terms;
int first_term;
int last_term;
complex h;
complex x0;
public:
t_s();
t_s(t_s&);
~t_s();
void set_first(int);
void set_last(int);
void set_h(complex);
void set_x0(complex);
friend void set_data(t_s&,t_s&);
friend void set_terms(t_s&,complex*);
void report_error(int);
friend complex ats(int,t_s&,t_s&,int);
friend complex att(int,t_s&,t_s&,int);
friend int get_last_term(t_s &);
friend double get_x0(t_s &);
friend double get_y0(t_s &);
friend t_s operator+(t_s&,t_s&);
friend t_s operator-(t_s&,t_s&);
friend t_s operator*(t_s&,t_s&);
friend t_s operator/(t_s&,t_s&);
t_s & operator+=(t_s &);
t_s & operator-=(t_s &);
t_s & operator=(t_s &);
friend void display(t_s&,int);
friend t_s deriv(t_s&);
friend void diff_eq(t_s&,t_s&);
friend void higher_diff_eq(t_s&,t_s&,int);
friend void set_term_from_deriv(int,t_s&,t_s&);
friend void higher_set_term_from_deriv(int,t_s&,t_s&,int);
friend void jump(t_s&);
friend void leap(t_s&,int);
friend void equation(t_s&,t_s&,...);
friend t_s x(t_s &);
friend t_s constant(t_s &,complex);
friend t_s expt(t_s &,t_s &);
friend t_s sqrt(t_s &);
friend t_s exp(t_s &);
friend t_s log(t_s &);
friend t_s sin(t_s &);
friend t_s cos(t_s &);
friend t_s tan(t_s &);
friend t_s sinh(t_s &);
friend t_s cosh(t_s &);
friend t_s tanh(t_s &);
friend t_s asin(t_s &);
friend t_s acos(t_s &);
friend t_s atan(t_s &);
friend complex radius_cp(t_s &,complex & order);
friend complex radius_xx(t_s &,complex & order);
friend void adjust_h(t_s&,complex);
};