source: git/Singular/mmemory.h @ e2f1c7

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