source: git/Singular/mmemory.h @ 6f2edc

spielwiese
Last change on this file since 6f2edc was 6ae4f5, checked in by Hans Schönemann <hannes@…>, 27 years ago
* hannes: - corrected scanner.l: parsing of strings in blocks: if (1) { write("","}"); } - corrected ipassign.cc: assignment of "dummy" types: DEF, NONE - corrected sleftv::Print(_), initialisation of _ - added conversion int->def - added CopyD(DEF) - in insert(..): object should not be of type NONE (lists.cc:lInsert0) - added int*intvec, int*intmat to iparith.cc git-svn-id: file:///usr/local/Singular/svn/trunk@145 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 3.1 KB
Line 
1#ifndef MMEMORY_H
2#define MMEMORY_H
3/****************************************
4*  Computer Algebra System SINGULAR     *
5****************************************/
6/* $Id: mmemory.h,v 1.3 1997-04-09 12:19:59 Singular Exp $ */
7/*
8* ABSTRACT
9*/
10#include <stdlib.h>
11#include "structs.h"
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
17
18void mmSpecializeBlock( size_t );
19
20int mmMemReal( void );
21int mmMemUsed( void );
22
23#define mstrdup mmStrdup
24/* char * mstrdup(char *s); */
25
26size_t mmSizeL( void* );
27
28#ifdef MM_STAT
29void mmStat(int slot);
30#endif
31#ifndef MDEBUG
32
33void * mmAllocBlock( size_t );
34void * mmAllocBlock0( size_t );
35
36void mmFreeBlock( void*, size_t );
37
38void * mmReallocBlock( void*, size_t, size_t );
39
40void * mmAllocSpecialized( void );
41
42void mmFreeSpecialized( void* );
43
44void * mmAlloc( size_t );
45
46void * mmRealloc( void*, size_t );
47
48void mmFree( void* );
49
50char * mmStrdup( const char* );
51
52#define mmTest(A,B) TRUE
53#define mmTestL(A) TRUE
54#define mmTestP(A,B)
55#define mmTestLP(A)
56#define Free mmFreeBlock
57#define Alloc mmAllocBlock
58#define Alloc0 mmAllocBlock0
59#define ReAlloc mmReallocBlock
60#define FreeL mmFree
61#define AllocL mmAlloc
62
63#else /* MDEBUG */
64
65void * mmDBAllocBlock( size_t, char*, int );
66void * mmDBAllocBlock0( size_t, char*, int );
67
68void mmDBFreeBlock( void*, size_t, char*, int );
69
70void * mmDBReallocBlock( void*, size_t, size_t, char*, int );
71
72void * mmDBAllocSpecialized( char*, int );
73
74void mmDBFreeSpecialized( void*, char*, int );
75
76void * mmDBAlloc( size_t, char*, int );
77
78void * mmDBRealloc( void*, size_t, char*, int );
79
80void mmDBFree( void*, char*, int );
81
82char * mmDBStrdup( const char * s, char *fname, int lineno);
83
84BOOLEAN mmDBTestBlock( const void* adr, const size_t size, const char * fname, const int lineno );
85
86BOOLEAN mmDBTest( const void* adr, const char * fname, const int lineno );
87
88#define mmAllocBlock(size) mmDBAllocBlock(size,__FILE__,__LINE__)
89
90#define mmFreeBlock(adr,size) mmDBFreeBlock(adr,size,__FILE__,__LINE__)
91
92#define mmAllocSpecialized() mmDBAllocSpecialized(__FILE__,__LINE__)
93
94#define mmFreeSpecialized(adr) mmDBFreeSpecialized(adr,__FILE__,__LINE__)
95
96#define mmAlloc(size) mmDBAlloc(size,__FILE__,__LINE__)
97
98#define mmFree(adr) mmDBFree(adr,__FILE__,__LINE__)
99
100#define mmReallocBlock(adr,oldsize,newsize) mmDBReallocBlock(adr,oldsize,newsize,__FILE__,__LINE__)
101
102#define mmStrdup(A) mmDBStrdup(A,__FILE__,__LINE__)
103
104#define mmTest(A,B) mmDBTestBlock(A,B,__FILE__,__LINE__)
105#define mmTestL(A) mmDBTest(A,__FILE__,__LINE__)
106#define mmTestP(A,B) mmDBTestBlock(A,B,__FILE__,__LINE__)
107#define mmTestLP(A) mmDBTest(A,__FILE__,__LINE__)
108#define Alloc(size) mmDBAllocBlock(size,__FILE__,__LINE__)
109#define Alloc0(size) mmDBAllocBlock0(size,__FILE__,__LINE__)
110#define Free(adr,size) mmDBFreeBlock(adr,size,__FILE__,__LINE__)
111#define mmAllocSpecialized() mmDBAllocSpecialized(__FILE__,__LINE__)
112#define mmFreeSpecialized(adr) mmDBFreeSpecialized(adr,__FILE__,__LINE__)
113#define AllocL(size) mmDBAlloc(size,__FILE__,__LINE__)
114#define FreeL(adr) mmDBFree(adr,__FILE__,__LINE__)
115#define ReAlloc(adr,oldsize,newsize) mmDBReallocBlock(adr,oldsize,newsize,__FILE__,__LINE__)
116
117void mmTestList();
118
119#endif /* MDEBUG */
120#ifdef __cplusplus
121}
122#endif
123
124#endif
Note: See TracBrowser for help on using the repository browser.