~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/_simple_set_pyx.pyx

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2010-02-11 04:02:41 UTC
  • mfrom: (5017.2.2 tariff)
  • Revision ID: pqm@pqm.ubuntu.com-20100211040241-w6n021dz0uus341n
(mbp) add import-tariff tests

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2009, 2010 Canonical Ltd
 
1
# Copyright (C) 2009 Canonical Ltd
2
2
#
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
115
115
            raise MemoryError()
116
116
        memset(self._table, 0, n_bytes)
117
117
 
118
 
    def __sizeof__(self):
119
 
        # Note: Pyrex doesn't allow sizeof(class) so we re-implement it here.
120
 
        # Bits are:
121
 
        #   1: PyObject
122
 
        #   2: vtable *
123
 
        #   3: 3 Py_ssize_t
124
 
        #   4: PyObject**
125
 
        # Note that we might get alignment, etc, wrong, but at least this is
126
 
        # better than no estimate at all
127
 
        # return sizeof(SimpleSet) + (self._mask + 1) * (sizeof(PyObject*))
128
 
        return (sizeof(PyObject) + sizeof(void*)
129
 
                + 3*sizeof(Py_ssize_t) + sizeof(PyObject**)
130
 
                + (self._mask + 1) * sizeof(PyObject*))
131
 
 
132
118
    def __dealloc__(self):
133
119
        if self._table != NULL:
134
120
            PyMem_Free(self._table)