source: git/Singular/mmpage.h @ c84d678

fieker-DuValspielwiese
Last change on this file since c84d678 was b7b08c, checked in by Olaf Bachmann <obachman@…>, 25 years ago
* us short exponent vectors in divisbility tests * AllocSizeOf * garbage collection * scanner/gmp: allow .0 and 1. input of reals git-svn-id: file:///usr/local/Singular/svn/trunk@3711 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 1009 bytes
Line 
1#ifndef MMPAGE_H
2#define MMPAGE_H
3
4#ifdef PAGE_TEST
5#undef PALLOC
6#define PALLOC mmPage_Create
7#undef PFREE
8#define PFREE mmPage_Delete
9#endif
10
11/***********************************************************************
12 *
13 * declarations of procedures
14 */
15
16void* mmGetPage();
17
18void mmFreePage(void* page);
19
20void mmReleaseFreePages();
21
22int mmGetNumberOfFreePages();
23int mmGetNumberOfUsedPages();
24int mmGetNumberOfAllocatedPages();
25
26/***********************************************************************
27 *
28 * Macros for page manipulations
29 */
30
31#define mmIsAddrPageAligned(addr) \
32  (((long) (addr) & (SIZE_OF_SYSTEM_PAGE -1)) == 0)
33
34#define mmGetPageOfAddr(addr) \
35  ((void*) ((long) (addr) & ~(SIZE_OF_SYSTEM_PAGE -1)))
36
37#define mmIsAddrOnPage(addr, page) (mmGetPageOfAddr(addr) == (void*) (page))
38
39#define mmAreAddrOnSamePage(a1, a2) \
40  (mmGetPageOfAddr(a1) == mmGetPageOfAddr(a2))
41
42int mmIsAddrOnFreePage(void* addr);
43
44#define mmIsNotAddrOnFreePage(addr) (!mmIsAddrOnFreePage(addr))
45
46#endif /* MMPAGE_H */
Note: See TracBrowser for help on using the repository browser.