products/Sources/formale Sprachen/Delphi/Goedel 0.7/Goedel image not shown  

Quellcode-Bibliothek

© Kompilation durch diese Firma

[Weder Korrektheit noch Funktionsfähigkeit der Software werden zugesichert.]

Datei: defs.nat.h   Sprache: C

#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)  ¤





Download des
Quellennavigators
Download des
sprechenden Kalenders

in der Quellcodebibliothek suchen




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.


Bot Zugriff