Changeset c232af in git for Singular/lists.cc


Ignore:
Timestamp:
Aug 14, 2000, 2:58:28 PM (24 years ago)
Author:
Olaf Bachmann <obachman@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
d26c2e9dd38f1531c0e77c38e6177109182b5bca
Parents:
4697a8a1ccbf49d0048033ea29c651e3966ba729
Message:
* omalloc stuff


git-svn-id: file:///usr/local/Singular/svn/trunk@4524 2c84dea3-7e68-4137-9b89-c4e89433aadc
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Singular/lists.cc

    r4697a8a rc232af  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: lists.cc,v 1.21 2000-05-18 14:04:01 Singular Exp $ */
     4/* $Id: lists.cc,v 1.22 2000-08-14 12:56:34 obachman Exp $ */
    55/*
    66* ABSTRACT: handling of the list type
     
    2020#include "lists.h"
    2121
     22omBin slists_bin = omGetSpecBin(sizeof(slists));
     23
    2224lists lCopy(lists L)
    2325{
    24   lists N=(lists)Alloc0SizeOf(slists);
     26  lists N=(lists)omAlloc0Bin(slists_bin);
    2527  int n=L->nr;
    2628  if (L->nr>=0)
     
    4446BOOLEAN lAdd(leftv res, leftv u, leftv v)
    4547{
    46   lists l=(lists) AllocSizeOf(slists);
     48  lists l=(lists) omAllocBin(slists_bin);
    4749  lists ul=(lists)u->CopyD();
    4850  lists vl=(lists)v->CopyD();
     
    6264    l->m[i+ul->nr+1].data=vl->m[i].data;
    6365  }
    64   Free((ADDRESS)ul->m,(ul->nr+1)*sizeof(sleftv));
    65   FreeSizeOf((ADDRESS)ul,slists);
    66   Free((ADDRESS)vl->m,(vl->nr+1)*sizeof(sleftv));
    67   FreeSizeOf((ADDRESS)vl,slists);
     66  if (ul->m != NULL) // OB: ???
     67    omFreeSize((ADDRESS)ul->m,(ul->nr+1)*sizeof(sleftv));
     68  omFreeBin((ADDRESS)ul, slists_bin);
     69  if (vl->m != NULL) // OB: ????
     70    omFreeSize((ADDRESS)vl->m,(vl->nr+1)*sizeof(sleftv));
     71  omFreeBin((ADDRESS)vl, slists_bin);
    6872  memset(u,0,sizeof(*u));
    6973  memset(v,0,sizeof(*v));
     
    8084  if ((pos<0)||(v->rtyp==NONE))
    8185    return NULL;
    82   lists l=(lists) AllocSizeOf(slists);
     86  lists l=(lists) omAllocBin(slists_bin);
    8387  l->Init(max(ul->nr+2,pos+1));
    8488  int i,j;
     
    96100  l->m[pos].flag=v->flag;
    97101  l->m[pos].attribute=v->CopyA();
    98   Free((ADDRESS)ul->m,(ul->nr+1)*sizeof(sleftv));
    99   FreeSizeOf((ADDRESS)ul,slists);
     102  if (ul->m != NULL) // OB: ?????
     103    omFreeSize((ADDRESS)ul->m,(ul->nr+1)*sizeof(sleftv));
     104  omFreeBin((ADDRESS)ul, slists_bin);
    100105  return l;
    101106}
     
    153158  {
    154159    int i,j;
    155     lists l=(lists) AllocSizeOf(slists);
     160    lists l=(lists) omAllocBin(slists_bin);
    156161    l->Init(ul->nr);
    157162
     
    200205  int typ0, intvec ** weights)
    201206{
    202   lists L=(lists)Alloc0SizeOf(slists);
     207  lists L=(lists)omAlloc0Bin(slists_bin);
    203208  if (length<=0)
    204209  {
     
    249254        if ((weights!=NULL) && (weights[i]!=NULL))
    250255        {
    251           atSet((idhdl)&L->m[i],mstrdup("isHomog"),weights[i],INTVEC_CMD);
     256          atSet((idhdl)&L->m[i],omStrDup("isHomog"),weights[i],INTVEC_CMD);
    252257          weights[i] = NULL;
    253258        }
     
    263268      i++;
    264269    }
    265     Free((ADDRESS)r,oldlength*sizeof(ideal));
     270    omFreeSize((ADDRESS)r,oldlength*sizeof(ideal));
    266271    if (i==0)
    267272    {
     
    303308    return NULL;
    304309  }
    305   r=(ideal *)Alloc0((*len)*sizeof(ideal));
    306   w=(intvec**)Alloc0((*len)*sizeof(intvec*));
     310  r=(ideal *)omAlloc0((*len)*sizeof(ideal));
     311  w=(intvec**)omAlloc0((*len)*sizeof(intvec*));
    307312  int i=0;
    308313  *typ0=MODUL_CMD;
     
    314319      {
    315320        Werror("element %d is not of type module",i+1);
    316         Free((ADDRESS)r,(*len)*sizeof(ideal));
     321        omFreeSize((ADDRESS)r,(*len)*sizeof(ideal));
    317322        return NULL;
    318323      }
     
    325330    }
    326331    r[i]=(ideal)L->m[i].data;
    327     tw=(intvec*)atGet((idhdl)&L->m[i],mstrdup("isHomog"));
     332    tw=(intvec*)atGet((idhdl)&L->m[i],omStrDup("isHomog"));
    328333    if (tw!=NULL)
    329334    {
     
    346351      if (w[j]!=NULL) delete w[j];
    347352    }
    348     Free((ADDRESS)w,(*len)*sizeof(intvec*));
     353    omFreeSize((ADDRESS)w,(*len)*sizeof(intvec*));
    349354  }
    350355  else
     
    360365  if (l->nr == -1)
    361366  {
    362     if (typed) return mstrdup("list()");
    363     return mstrdup("");
    364   }
    365 
    366   char** slist = (char**) Alloc((l->nr+1) * sizeof(char*));
     367    if (typed) return omStrDup("list()");
     368    return omStrDup("");
     369  }
     370
     371  char** slist = (char**) omAlloc((l->nr+1) * sizeof(char*));
    367372  int i, j, k;
    368373  char *s;
     
    371376    slist[i] = l->m[i].String(NULL, typed, dim);
    372377    assume(slist[i] != NULL);
    373     mmTestL(slist[i]);
     378    omCheckAddr(slist[i]);
    374379    if (*(slist[i]) != '\0')
    375380    {
     
    378383    }
    379384  }
    380   s = (char*) AllocL(j+k+2+(typed ? 10 : 0) + (dim == 2 ? k : 0));
     385  s = (char*) omAlloc(j+k+2+(typed ? 10 : 0) + (dim == 2 ? k : 0));
    381386
    382387  if (typed)
     
    393398      if (dim == 2) strcat(s, "\n");
    394399    }
    395     mmTestL(s);
    396     FreeL(slist[i]);
     400    omCheckAddr(s);
     401    omFree(slist[i]);
    397402  }
    398403  if (k > 0) s[strlen(s) - (dim == 2 ? 2 : 1)] = '\0';
    399404  if (typed) strcat(s, ")");
    400   mmTestL(s);
    401   Free(slist, (l->nr+1) * sizeof(char*));
     405  omCheckAddr(s);
     406  omFreeSize(slist, (l->nr+1) * sizeof(char*));
    402407  return s;
    403408}
Note: See TracChangeset for help on using the changeset viewer.