1: char *malloc();
   2: #ifdef lint
   3: int xv_oid;
   4: #endif
   5: #include <stdio.h>
   6: #include <mp.h>
   7: move(a,b) MINT *a,*b;
   8: {   int i,j;
   9:     xfree(b);
  10:     b->len=a->len;
  11:     if((i=a->len)<0) i = -i;
  12:     if(i==0) return;
  13:     b->val=xalloc(i,"move");
  14:     for(j=0;j<i;j++)
  15:         b->val[j]=a->val[j];
  16:     return;
  17: }
  18: dummy(){}
  19: short *xalloc(nint,s) char *s;
  20: {   short *i;
  21:     i=(short *)malloc(2*(unsigned)nint+4);
  22: #ifdef DBG
  23:     if(dbg) fprintf(stderr, "%s: %o\n",s,i);
  24: #endif
  25:     if(i!=NULL) return(i);
  26:     fatal("mp: no free space");
  27:     return(0);
  28: }
  29: fatal(s) char *s;
  30: {
  31:     fprintf(stderr,"%s\n",s);
  32:     VOID fflush(stdout);
  33:     sleep(2);
  34:     abort();
  35: }
  36: xfree(c) MINT *c;
  37: {
  38: #ifdef DBG
  39:     if(dbg) fprintf(stderr, "xfree ");
  40: #endif
  41:     if(c->len==0) return;
  42:     shfree(c->val);
  43:     c->len=0;
  44:     return;
  45: }
  46: mcan(a) MINT *a;
  47: {   int i,j;
  48:     if((i=a->len)==0) return;
  49:     else if(i<0) i= -i;
  50:     for(j=i;j>0 && a->val[j-1]==0;j--);
  51:     if(j==i) return;
  52:     if(j==0)
  53:     {   xfree(a);
  54:         return;
  55:     }
  56:     if(a->len > 0) a->len=j;
  57:     else a->len = -j;
  58: }
  59: MINT *itom(n)
  60: {   MINT *a;
  61:     a=(MINT *)xalloc(2,"itom");
  62:     if(n>0)
  63:     {   a->len=1;
  64:         a->val=xalloc(1,"itom1");
  65:         *a->val=n;
  66:         return(a);
  67:     }
  68:     else if(n<0)
  69:     {   a->len = -1;
  70:         a->val=xalloc(1,"itom2");
  71:         *a->val= -n;
  72:         return(a);
  73:     }
  74:     else
  75:     {   a->len=0;
  76:         return(a);
  77:     }
  78: }
  79: mcmp(a,b) MINT *a,*b;
  80: {   MINT c;
  81:     int res;
  82:     if(a->len!=b->len) return(a->len-b->len);
  83:     c.len=0;
  84:     msub(a,b,&c);
  85:     res=c.len;
  86:     xfree(&c);
  87:     return(res);
  88: }

Defined functions

dummy defined in line 18; used 1 times
fatal defined in line 29; used 1 times
  • in line 26
itom defined in line 59; used 15 times
mcan defined in line 46; used 1 times
mcmp defined in line 79; used 1 times
move defined in line 7; used 21 times
xfree defined in line 36; used 39 times

Defined variables

xv_oid defined in line 3; never used
Last modified: 1979-01-10
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 586
Valid CSS Valid XHTML 1.0 Strict