home *** CD-ROM | disk | FTP | other *** search
- #define MAXCHARS 500
-
- /* Prototypes for functions defined in ram:abl.c */
- char * __asm Ableiten(register __a0 char *string);
- VOID __asm Umklammern(register __a0 char *string);
- VOID Zusammensetzen(char *string,LONG Anzahl,char *ABL,struct Block *Start);
- LONG __asm Mit_X(register __a0 struct Block *block);
- VOID __asm Umklammern_2(register __a0 char *string);
- LONG __asm Vereinfachung(register __a0 char *,
- register __a1 char *);
- char * __asm Ableitung(register __a0 struct Block *Start);
-
- /* Prototypes for functions defined in ram:about.c */
- void About(void);
-
- /* Prototypes for functions defined in ram:berechnungsroutinen.c */
- void FehlerAbfrage(VOID);
- void DamageOn(void);
- void DamageOff(void);
- VOID __asm ZeichneFunktion(register __d0 USHORT nr,
- register __d1 int Ableitung);
- void Plotte(unsigned short nr,
- DOUBLE xl,
- DOUBLE xr,
- DOUBLE yl,
- DOUBLE yr,
- int st,
- int Ableitung);
- DOUBLE FunktionsWert(unsigned short nr,
- DOUBLE i,
- int Ableitung);
- void Verbinden(DOUBLE xr,
- DOUBLE yr);
- DOUBLE Max(DOUBLE a,
- DOUBLE b);
- DOUBLE Min(DOUBLE a,
- DOUBLE b);
- void chkabort(void);
- VOID MemCleanup(VOID);
-
- /* Prototypes for functions defined in ram:diskussion.c */
- void discuss(char *string,DOUBLE l,DOUBLE r,int modus,unsigned short sub);
- DOUBLE Nullstelle(DOUBLE l,DOUBLE r);
- DOUBLE Nullstelle2(DOUBLE l,DOUBLE r);
- VOID TextAusgabe(DOUBLE x,DOUBLE y,char *string);
- VOID TextAusgabe2(char *string);
- void __asm Laenge(register __a0 char *string,register __d0 int laenge);
- VOID __asm Full_Discussion(register __d0 USHORT sub);
-
- /* Prototypes for functions defined in ram:drucken.c */
- LONG drucken(VOID);
-
- /* Prototypes for functions defined in ram:maus.c */
- void AusSchnitt(DOUBLE *x1,
- DOUBLE *y1,
- DOUBLE *x2,
- DOUBLE *y2);
- void Grenzen(char *xn,
- char *yn,
- char *xp,
- char *yp);
- void __asm Funktionseingabe(register __a0 UBYTE *string);
- void Genauigkeit(void);
- void TextFuerIntervall(void);
- void TextFuerKonstanten(void);
-
- /* Prototypes for functions defined in ram:plot.c */
- void Pset(DOUBLE x1,
- DOUBLE y1);
- void DrawTo(DOUBLE x1,
- DOUBLE y1);
- void zeichne(void);
- void MenuWahl(void);
- void main(void);
- void _main(char *);
- int oeffne(void);
- void ende(void);
- void Line(DOUBLE x1,
- DOUBLE y1,
- DOUBLE x2,
- DOUBLE y2);
- void Skalierung(DOUBLE x,
- DOUBLE y,
- DOUBLE Wert);
- void UmwandlungInIntervall(void);
- void UmwandlungInKonstanten(void);
- void UpdateMenuText(void);
- void SetRXOffset(void);
- void TastaturAbfrage(void);
- void Loeschen(void);
- void testtest(void);
- VOID SetColor(VOID);
- VOID SetNewColor(VOID);
-
- VOID __asm ReMakeMenu(register __a0 struct Window *Window);
- VOID MakeMenu(VOID);
-
- struct IntuiText *GetNewText(char *string);
-
- #define Abstand 15
- #define RUNDEN .5001
- #define RUNDEN2 .5001
- #define deltah .00000005
- #define deltahh .0005
- #define KLEIN 0
- #define GROSS 1
- #define MAXLONG 2147483647.0
- #define MAXPIXELY 300
- #define GRENZE1 0.0002
- #define GRENZE2 0.0000002
- #define NONULL HUGE
- #define WHICH_FLAG HUGE
- #define W_FLAG_2 1.79769e+307
- #define FARBE0 0
- #define FARBE1 1
- #define FARBE2 2
- #define FARBE3 3
- #define YSCREEN 200
- #define PLOT_Y 167
-
- #define ABOUT_FREEWARE "This is FreeWare"
- #define PLOT_CONT "Continue"
- #define PLOT_QUEST "Realy Quit ?"
- #define PLOT_END "QUIT"
- #define DISK_NULLST "Zero Points:"
- #define DISK_EXTREMST "Extrem Points:"
- #define DISK_WENDEST "Turning Points:"
- #define DISK_FOR "Discusson for the intervall ["
- #define MAUS_ENTERFUNC "Please enter the function"
- #define BE_ERROR "There was an error !"
- #define BE_JA "Yes"
- #define BE_NEIN "No"
- #define BE_QUEST "Stop plotting ?"
-
- extern APTR Konstantenstart;
- extern BOOL KoordinatenKreuz_gezeichnet;
- extern char AusgabeString[125];
- extern char Formeleingabe[27];
- extern char Formel[MAXCHARS];
- extern char Hilfe[10],Ergebnis[MAXCHARS];
- extern char SubMenuTitle[10][16];
- extern char String1[4];
- extern DOUBLE BestF,BestX;
- extern double xmn,xmp,ymn,ymp,xm,ym,x0,y0;
- extern int Aufrufe;
- extern char flagg;
- extern int GE;
- extern int Groesse;
- extern LONG MatheFehler;
- extern LONG xx,yy;
- extern LONG ypos_Diskussion;
- extern LONG xpos_Diskussion;
- extern SHORT Genauigkeiten[3];
- extern SHORT XOffset,YOffset;
- extern struct BitMap bitmap;
- extern struct Block *StartBlock;
- extern struct GfxBase *GfxBase;
- extern struct info msgInfo;
- extern struct IntuitionBase *IntuitionBase;
- extern struct Konstanten kon;
- extern struct Layer *layer;
- extern struct LayersBase *LayersBase;
- extern struct Layer_Info *layerinfo;
- extern struct Library *MathIeeeDoubBasBase;
- extern struct ToolBase *ToolBase;
- extern struct Library *MathIeeeDoubTransBase;
- extern struct NewScreen Schirm;
- extern struct NewWindow Fenster,Fenster2,Fenster3;
- extern struct RastPort *RastPort2;
- extern struct RastPort *RastPort;
- extern struct Rectangle rect;
- extern struct Region *rgn,*OFlaeche;
- extern struct Screen *Screen;
- extern struct View *View;
- extern struct ViewPort *viep;
- extern struct Window *Window2;
- extern struct Window *Window;
- extern UBYTE MinXText[8],MaxXText[8],MinYText[8];
- extern UBYTE MaxYText[8];
- extern UBYTE Abgeleitet[2][MAXCHARS];
- extern UBYTE Formeln[11][MAXCHARS];
- extern UBYTE KonAString[20],KonBString[20];
- extern UBYTE KonCString[20],KonDString[20];
- extern UBYTE undo1[20],undoFormel[MAXCHARS];
- extern UBYTE xmpstring[20],xmnstring[20];
- extern UBYTE ympstring[20],ymnstring[20];
- extern UWORD Farb1[4],Farb2[4];
- extern struct Menu *Menu;
- extern struct MenuItem *Item[7]; /* Zum Sichern der Zeiger */
-
- /* Veränderungen:
-
- 22.10.89 Genauigkeit : Nur noch 3 Gadgets, Berechnungsroutinen angepaßt.
- 04.11.89 Diskussion angefügt, gibt nur auf dem Schirm aus.
- 18.11.89 Diskussion findet jetzt auch Nullstellen, die nur berühren (x^2)
- 19.12.89 Plotter auf Benutzung der Calc-Funktionen umgestellt
- 19.12.89 Diskussion : Fehler, wenn Funktion immer NULL ist behoben
- 23.12.89 Diskussion : Fehler, wenn Polstellen sind behoben
- 11.02.90 Plotter.h mit Compiler autom. erstellt.
- 21.02.90 Set(New)Color in C geschrieben und übersetzt. Alles mit -O comp
- -> 25956 Bytes. Alle math. Funktionen laufen über New.....
- Nullstellen werden jetzt recht genau bestimmt.
- 25.02.90 Abl.c ZW1 eingespart. Trotzdem leicht Stack-Overflow bei tan und sqr.
- 27.02.90 Fehler bei oeffne, der bei Auftritt eines Fehlers zum Absturz führt, beseitigt
- 15.07.90 Fehler in Ableitung beseitig (vertauschte f(x) und g(x) bei x^x
- Ableitung mit AllocMem, SimpleMenu aus Tool.Library
- 03.08.90 Stringkonstanten nach Plotter.h , strcmp-Abfragen in Ableitung.c
- auf SHORT * umgestellt.
- */
-
-
- #undef Add
- #undef Sub
- #undef Div
- #undef Mul
- #undef Fix
- #undef Flt
- #undef Neg
-
- #define Add(a,b) (a+b)
- #define Sub(a,b) (a-b)
- #define Mul(a,b) (a*b)
- #define Div(a,b) (a/b)
- #define Fix(a) ((LONG)a)
- #define Flt(a) ((DOUBLE)a)
- #define Neg(a) (-a)
-
-