#include "stdio.h"
#include "proto.h"
#include "ring.h"
//-------------------------------------------
#define z1 "4711"
#define z2 "4712"
#define z3 "4713"
#define z4 "4714"
//--------------------------------------
#define TRUE 1
#define FALSE 0
//--------------------------------------
#define NAT NATURAL
#define ZERO "0"
#define ONE "1"
#define TWO "2"
#define THREE "3"
#define FOUR "4"
#define FIVE "5"
#define SEVEN "7"
#define NINE "9"
#define ELEVEN "11"
#define THIRTEEN "13"
//--------------------------------------
#define BOOLFUN1(f,p1) \
BOOL f(NAT p1) { \
BOOL erg; \
namout(#f);argout(p1); {
//--------------------------------------
#define BOOLFUN2(f,p1,p2) \
BOOL f(NAT p1, NAT p2) { \
BOOL erg; \
namout(#f);argout(p1);argout(p2); {
//--------------------------------------
#define BOOLFUN3(f,p1,p2,p3) \
BOOL f(NAT p1,NAT p2,NAT p3) { \
BOOL erg; \
namout(#f);argout(p1);argout(p2);argout(p3); {
//--------------------------------------
#define LOGFUN1(f,p1) \
BOOL f(BOOL p1) { \
BOOL erg; \
namout(#f); \
if (p1) argout("TRUE"); else argout("FALSE");
//--------------------------------------
#define LOGFUN2(f,p1,p2) \
BOOL f(BOOL p1,BOOL p2) { \
BOOL erg; \
namout(#f); \
if (p1) argout("TRUE"); else argout("FALSE"); \
if (p2) argout("TRUE"); else argout("FALSE");
//--------------------------------------
#define NATFUN1(f,p1) \
NAT f(NAT p1) { \
NAT erg; \
namout(#f);argout(p1); {
//--------------------------------------
#define NATFUN2(f,p1,p2) \
NAT f(NAT p1, NAT p2) { \
NAT erg; \
namout(#f);argout(p1);argout(p2); {
//--------------------------------------
#define NATFUN3(f,p1,p2,p3) \
NAT f(NAT p1,NAT p2,NAT p3) { \
NAT erg; \
namout(#f);argout(p1);argout(p2);argout(p3); {
//--------------------------------------
#define NATFUN4(f,p1,p2,p3,p4) \
NAT f(NAT p1,NAT p2,NAT p3,NAT p4) { \
NAT erg; \
namout(#f);argout(p1);argout(p2);argout(p3);argout(p4); {
//--------------------------------------
#define RETIN(res) \
{if (trace) printf("\t\t");\
erg=res;ergout(#res,(long)erg);return erg;}}
//--------------------------------------
#define RET(res) }\
{if (trace) printf("\t\t");\
erg=res;ergout(#res,(long)erg);return erg;}}
//--------------------------------------
#define RESULT(res) \
{if (trace) printf("\t\t");ergout(#res,(long)res);return res;}
//--------------------------------------
#define EXISTS(v,low,high,cond,res) \
{NAT v; for(v=low;Le(v,high);v=Add(v,ONE)) { \
if (cond) RETIN(res)}
//--------------------------------------
#define EXISTSDEBUG(v,low,high,cond,res) \
{NAT v; for(v=low;Loop(v,high);v=Add(v,ONE)) { \
if (cond) RETIN(res)}
//--------------------------------------
#define FORALL(v,low,high) {NAT v;for (v=low;Le(v,high);v++) {
//--------------------------------------
#define ENDFOR }}
//--------------------------------------
#define AC(c) if (argcheck(argc,c))
//--------------------------------------
#define P1(f) {f(args[1]);}
#define P2(f) {f(args[1],args[2]);}
#define P3(f) {f(args[1],args[2],args[3]);}
#define P4(f) {f(args[1],args[2],args[3],args[4]);}
//--------------------------------------
#define C1(f) else if (comp(args[0],#f)) {AC(1) P1(f)}
#define C2(f) else if (comp(args[0],#f)) {AC(2) P2(f)}
#define C3(f) else if (comp(args[0],#f)) {AC(3) P3(f)}
#define C4(f) else if (comp(args[0],#f)) {AC(4) P4(f)}
#define CN(f,n) else if (comp(args[0],#f)&&(argc==n+1)) P##n(f##n)
//--------------------------------------
NAT Add(NAT,NAT);
NAT Sub(NAT,NAT);
NAT Mul(NAT,NAT);
NAT Div(NAT,NAT);
NAT Pow(NAT,NAT);
NAT Norm(NAT);
//--------------------------------------
BOOL Eq(NAT,NAT);
BOOL Ne(NAT,NAT);
BOOL Gt(NAT,NAT);
BOOL Ge(NAT,NAT);
BOOL Lt(NAT,NAT);
BOOL Le(NAT,NAT);
BOOL Loop(NAT,NAT);
//--------------------------------------
BOOL And(BOOL,BOOL);
BOOL Or(BOOL,BOOL);
BOOL Not(BOOL);
//--------------------------------------
// End of this Source
//--------------------------------------
¤ Dauer der Verarbeitung: 0.17 Sekunden
(vorverarbeitet)
¤
|
Haftungshinweis
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.
|