summaryrefslogtreecommitdiffstats
path: root/Objects/listobject.c
Commit message (Collapse)AuthorAgeFilesLines
* listextend(): New method which implements L.extend(L2).Barry Warsaw1998-10-091-0/+74
|
* Remove a redundant check from list_slice() and list_ass_slice().Guido van Rossum1998-10-071-4/+0
| | | | Noted by Greg Stein.
* Added doc strings for methods and a new pop() method.Guido van Rossum1998-06-301-7/+54
|
* Minor cleanup by Tim after my changes:Guido van Rossum1998-06-171-25/+19
| | | | | | | | | | | | + Took the "list" argument out of the other functions that no longer need it. This speeds things up a little more. + Small comment changes in accord with that. + Exploited the now-safe ability to cache values in the partitioning loop. Makes no timing difference on my flavor of Pentium, but this machine ran out of registers 12 iterations ago. It should yield a small speedup on a RISC machine, and not hurt in any case.
* Tim's latest, with some of my changes (also a TP suggestion) added:Guido van Rossum1998-06-161-218/+551
| | | | | | | | | | instead of testing whether the list changed size after each comparison, temporarily set the type of the list to an immutable list type. This should allow continued use of the list for legitimate purposes but disallows all operations that can change it in any way. (Changes to the internals of list items are not caught, of cause; that's not possible to detect, and it's not necessary to protect the sort code, either.)
* Tim's revision of the previous patch. He also added some sparts toGuido van Rossum1998-05-291-43/+35
| | | | the median-of-three code to get a few percent back.
* Guard against changes in the list size during a compare or sort.Guido van Rossum1998-05-281-22/+31
|
* Tim's quicksort on May 25.Guido van Rossum1998-05-261-123/+141
|
* Tim's quicksort on May 13.Guido van Rossum1998-05-131-1/+1
|
* Tim's quicksort on May 10.Guido van Rossum1998-05-131-68/+99
|
* Get rid of the unused ifdefed-out old sort code.Guido van Rossum1998-04-281-76/+0
|
* Quicksort retuned by Tim Peters.Guido van Rossum1998-04-281-33/+26
|
* Use Py_Repr{Enter,Leave} to display recursive lists in finite space.Guido van Rossum1998-04-101-1/+20
| | | | (Jeremy will hardly recognize his patch :-)
* Add back some safeguards on the index elements that were lost in theGuido van Rossum1998-02-251-2/+2
| | | | | | | | | | last patch. Dave Ascher found a case that dumps core without these: def myComparison(x,y): return cmp(x%3,y%7) z = range(12) z.sort(myComparison)
* Modified quicksort by Raymund Galvin, after studying the GNU libg++Guido van Rossum1997-12-101-23/+48
| | | | | quicksort. This should be much faster if there are lots of duplicates, and otherwise at least as good.
* Rename roundup() to roundupsize(), as there's a macro roundup() in theGuido van Rossum1997-08-251-2/+2
| | | | | sys/types.h header on many systems that may get pulled in (through WANT_SIGFPE_HANDLER which pulls in signal.h).
* Reordered list of methods to hopefully put the most frequently usedGuido van Rossum1997-07-131-3/+3
| | | | ones near the front.
* PyObject_Compare can raise an exception now.Guido van Rossum1997-05-231-3/+12
|
* Quickly renamed the last directory.Guido van Rossum1997-05-021-288/+295
|
* Tweaks to keep the Microsoft compiler quiet.Guido van Rossum1997-04-091-1/+1
|
* Add casts to CMPERROR macro to silence SunPro compiler warnings aboutGuido van Rossum1997-03-051-1/+1
| | | | integer overflow in << operator.
* Change comment about MINSIZE -- 10 is optimal for Python.Guido van Rossum1996-12-161-3/+6
|
* Some more tuning of quicksort: use pointers instead of indexing.Guido van Rossum1996-12-111-54/+60
|
* Added new quicksort implementation, tailored to sorting arrays ofGuido van Rossum1996-12-101-0/+227
| | | | | | | | object pointers. Should be a bit faster than the C library's qsort(), and doesn't have the prohibition on recursion that Solaris qsort() has in the threaded version of their C library. Thanks to discussions with Tim Peters.
* New permission notice, includes CNRI.Guido van Rossum1996-10-251-13/+20
|
* Use pre-created string objects for most common exceptionsGuido van Rossum1996-08-091-2/+8
| | | | (especially IndexError which is caught by 'for')
* args to call_object must be tuple or NULLGuido van Rossum1995-07-121-1/+1
|
* a few peephole optimizationsGuido van Rossum1995-03-091-2/+4
|
* explicitly init flags in methodlistsGuido van Rossum1995-02-191-1/+1
|
* round up list item counts to improve realloc performanceGuido van Rossum1995-01-261-3/+17
|
* Fix NULL dereference in case of out-of-memory conditionJack Jansen1995-01-191-4/+5
|
* added reverselist; free recycling bin on error exitGuido van Rossum1995-01-171-0/+16
|
* fix reentrancy bug in slice assignmentGuido van Rossum1995-01-171-4/+20
|
* Added 1995 to copyright message.Guido van Rossum1995-01-041-2/+2
| | | | | floatobject.c: fix hash(). methodobject.c: support METH_FREENAME flag bit.
* Lots of minor changes. Note for mappingobject.c: the hash table pointerGuido van Rossum1995-01-021-3/+5
| | | | can now be NULL.
* Correct problems found by THINK C 6.0Guido van Rossum1994-08-291-44/+67
|
* * posixmodule.c: added set{uid,gid}.Guido van Rossum1993-11-101-1/+1
| | | | | | * {tuple,list,mapping,array}object.c: call printobject with 0 for flags * compile.c (parsestr): use quote instead of '\'' at one crucial point * arraymodule.c (array_getattr): Added __members__ attribute
* * listobject.c (list_ass_slice): XDECREF instead of DECREF soGuido van Rossum1993-10-271-5/+5
| | | | | | setlistslice() can be used to cut the unused part out of a freshly made slice (as done by bagof()). [needed by the next mod!] * structural changes to bagof(), map() etc.
* * Extended X interface: pixmap objects, colormap objects visual objects,Sjoerd Mullender1993-10-111-2/+2
| | | | | | | | image objects, and lots of new methods. * Added counting of allocations and deallocations of builtin types if COUNT_ALLOCS is defined. Had to move calls to NEWREF down in some files. * Bug fix in sorting lists.
* Minor fixes / changes for Mac compatibility.Guido van Rossum1993-07-291-1/+1
|
* * Added gmtime/localtime/mktime and SYSV timezone globals to timemodule.c.Guido van Rossum1993-06-171-1/+26
| | | | | | | | | | Added $(SYSDEF) to its build rule in Makefile. * cgensupport.[ch], modsupport.[ch]: removed some old stuff. Also changed files that still used it... And made several things static that weren't but should have been... And other minor cleanups... * listobject.[ch]: add external interfaces {set,get}listslice * socketmodule.c: fix bugs in new send() argument parsing. * sunaudiodevmodule.c: added flush() and close().
* * stdwinmodule.c: various new commands: setwin{pos,size},Guido van Rossum1993-02-081-12/+8
| | | | | | | | | | listfontnames, bitmap ops. * listobject.c: use mkvalue() when possible; avoid weird error when calling append() without args. * modsupport.c: new feature in getargs(): if the format string contains a semicolor the string after that is used as the error message instead of "bad argument list (format %s)" when there's an error.
* * Added Fixcprt.py: script to fix copyright message.Guido van Rossum1993-01-261-2/+2
| | | | | | | | | | | * various modules: added 1993 to copyright. * thread.c: added copyright notice. * ceval.c: minor change to error message for "+" * stdwinmodule.c: check for error from wfetchcolor * config.c: MS-DOS fixes (define PYTHONPATH, use DELIM, use osdefs.h) * Add declaration of inittab to import.h * sysmodule.c: added sys.builtin_module_names * xxmodule.c, xxobject.c: fix minor errors
* * Configure.py: use #!/usr/local/bin/pythonGuido van Rossum1993-01-041-0/+4
| | | | | | | | | | | * posixmodule.c: move extern function declarations to top * listobject.c: cmp() arguments must be void* if __STDC__ * Makefile, allobjects.h, panelmodule.c, modsupport.c: get rid of strdup() -- it is a portability risk * Makefile: enclosed ranlib command in parentheses for Sequent Make which aborts if the command is not found even if '-' is present * timemodule.c: time() returns a floating point number, in microsecond precision if BSD_TIME is defined.
* * Makefile: added IMGFILE; moved some stuff around.Guido van Rossum1992-09-171-1/+1
| | | | | | | | * flmodule.c: added some missing functions; changed readonly flags of some data members based upon FORMS documentation. * listobject.c: fixed int/long arg lint bug (bites PC compilers). * several: removed redundant print methods (repr is good enough). * posixmodule.c: added (still experimental) process group functions.
* Remove outdated warning in comments.Guido van Rossum1992-09-031-3/+0
|
* * renamed malloc.h mymalloc.h, and added MALLARG as the type of theGuido van Rossum1992-08-191-1/+7
| | | | | | | | argument to malloc() (size_t or unsigned int) * listobject.c: check for overflow of the size of the object, so things like range(0x7fffffff) will raise MemoryError instead of calling malloc() with -4 (and then crashing -- malloc's fault)
* * Makefile: cosmeticsGuido van Rossum1992-08-051-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | * socketmodule.c: get rid of makepair(); fix makesocketaddr to fix broken recvfrom() * socketmodule: get rid of getStrarg() * ceval.h: move eval_code() to new file eval.h, so compile.h is no longer needed. * ceval.c: move thread comments to ceval.h; always make save/restore thread functions available (for dynloaded modules) * cdmodule.c, listobject.c: don't include compile.h * flmodule.c: include ceval.h * import.c: include eval.h instead of ceval.h * cgen.py: add forground(); noport(); winopen(""); to initgl(). * bltinmodule.c, socketmodule.c, fileobject.c, posixmodule.c, selectmodule.c: adapt to threads (add BGN/END SAVE macros) * stdwinmodule.c: adapt to threads and use a special stdwin lock. * pythonmain.c: don't include getpythonpath(). * pythonrun.c: use BGN/END SAVE instead of direct calls; also more BGN/END SAVE calls etc. * thread.c: bigger stack size for sun; change exit() to _exit() * threadmodule.c: use BGN/END SAVE macros where possible * timemodule.c: adapt better to threads; use BGN/END SAVE; add longsleep internal function if BSD_TIME; cosmetics
* listobject.c: added optional cmp function to list.sort().Guido van Rossum1992-08-031-7/+54
|
* Copyright for 1992 addedGuido van Rossum1992-04-051-1/+1
|