source: git/omalloc/omBin.h @ b6e039

spielwiese
Last change on this file since b6e039 was b6e039, checked in by Olaf Bachmann <obachman@…>, 24 years ago
* added stuff git-svn-id: file:///usr/local/Singular/svn/trunk@4519 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 2.1 KB
Line 
1/*******************************************************************
2 *  File:    omBin.h
3 *  Purpose: declaration of routines related to Bins
4 *  Author:  obachman (Olaf Bachmann)
5 *  Created: 11/99
6 *  Version: $Id: omBin.h,v 1.1 2000-08-14 12:18:27 obachman Exp $
7 *******************************************************************/
8#ifndef OM_BIN_H
9#define OM_BIN_H
10
11
12
13#define omGetAlignedSpecBin(size) _omGetSpecBin(size, 1, 0)
14#define omGetSpecBin(size) _omGetSpecBin(size, 0, 0)
15omBin _omGetSpecBin(size_t size, int align, int track);
16
17#define omUnGetSpecBin(bin_ptr) _omUnGetSpecBin(bin_ptr, 0)
18#define omDeleteSpecBin(bin_ptr) _omUnGetSpecBin(bin_ptr, 1)
19void  _omUnGetSpecBin(omBin *bin, int force);
20size_t omGetUsedBinBytes();
21
22unsigned long omGetNewStickyBinTag(omBin bin);
23void omSetStickyBinTag(omBin bin, unsigned long sticky);
24void omUnSetStickyBinTag(omBin bin, unsigned long sticky);
25void omDeleteStickyBinTag(omBin bin, unsigned long sticky);
26
27unsigned long omGetNewStickyAllBinTag();
28void omSetStickyAllBinTag(unsigned long sticky);
29void omUnSetStickyAllBinTag(unsigned long sticky);
30void omDeleteStickyAllBinTag(unsigned long sticky);
31
32void omPrintBinStats(FILE* fd);
33
34/*BEGINPRIVATE*/
35#ifdef OM_HAVE_TRACK
36#define omGetSpecTrackBin(size) _omGetSpecBin(size, 0, 1)
37#endif
38
39#define omIsStaticNormalBin(bin)                                            \
40 ((unsigned long) bin >= ((unsigned long) &om_StaticBin[0]) &&              \
41  (unsigned long) bin <= ((unsigned long) &om_StaticBin[OM_MAX_BIN_INDEX]))
42#define omIsNormalBin(bin) omIsStaticNormalBin(bin) || omFindInGList(om_SpecBin, next, bin, bin)
43
44#ifdef OM_HAVE_TRACK
45#define omIsStaticTrackBin(bin)                                                  \
46 ((unsigned long) bin >= ((unsigned long) &om_StaticTrackBin[0]) &&              \
47  (unsigned long) bin <= ((unsigned long) &om_StaticTrackBin[OM_MAX_BIN_INDEX]))
48#define omIsTrackBin(bin) omIsStaticTrackBin(bin) || omFindInGList(om_SpecTrackBin, next, bin, bin)
49#else
50#define omIsStaticTrackBin(bin) 0
51#define omIsTrackBin(bin)       0
52#endif
53#define omIsStaticBin(bin) omIsStaticNormalBin(bin) || omIsStaticTrackBin(bin)
54/*ENDPRIVATE*/
55
56#endif /* OM_BIN_H */
57
Note: See TracBrowser for help on using the repository browser.