lisp.c File Reference

#include "nsd.h"

Functions

Ns_List * Ns_ListNconc (Ns_List *l1Ptr, Ns_List *l2Ptr)
Ns_List * Ns_ListCons (void *elem, Ns_List *lPtr)
Ns_List * Ns_ListNreverse (Ns_List *lPtr)
Ns_List * Ns_ListLast (Ns_List *lPtr)
void Ns_ListFree (Ns_List *lPtr, Ns_ElemVoidProc *freeProc)
void Ns_IntPrint (int d)
void Ns_StringPrint (char *s)
void Ns_ListPrint (Ns_List *lPtr, Ns_ElemVoidProc *printProc)
Ns_List * Ns_ListCopy (Ns_List *lPtr)
int Ns_ListLength (Ns_List *lPtr)
Ns_List * Ns_ListWeightSort (Ns_List *wPtr)
Ns_List * Ns_ListSort (Ns_List *wPtr, Ns_SortProc *sortProc)
Ns_List * Ns_ListDeleteLowElements (Ns_List *mPtr, float minweight)
Ns_List * Ns_ListDeleteWithTest (void *elem, Ns_List *lPtr, Ns_EqualProc *equalProc)
Ns_List * Ns_ListDeleteIf (Ns_List *lPtr, Ns_ElemTestProc *testProc)
Ns_List * Ns_ListDeleteDuplicates (Ns_List *lPtr, Ns_EqualProc *equalProc)
Ns_List * Ns_ListNmapcar (Ns_List *lPtr, Ns_ElemValProc *valProc)
Ns_List * Ns_ListMapcar (Ns_List *lPtr, Ns_ElemValProc *valProc)

Function Documentation

void Ns_IntPrint ( int  d  ) 

----------------------------------------------------------------------

Ns_IntPrint --

Print an integer to stdout.

Results: None.

Side effects: None.

----------------------------------------------------------------------

Ns_List* Ns_ListCons ( void *  elem,
Ns_List *  lPtr 
)

----------------------------------------------------------------------

Ns_ListCons --

Prepend element to list.

Results: A new list.

Side effects: A new node will be allocated for the new element.

----------------------------------------------------------------------

Ns_List* Ns_ListCopy ( Ns_List *  lPtr  ) 

----------------------------------------------------------------------

Ns_ListCopy --

Make a copy of a list.

Results: A ponter to the head of the new list.

Side effects: None.

----------------------------------------------------------------------

Ns_List* Ns_ListDeleteDuplicates ( Ns_List *  lPtr,
Ns_EqualProc *  equalProc 
)

----------------------------------------------------------------------

Ns_ListDeleteDuplicates --

Delete duplicate items from a list, using an equivalency test callback.

Results: A new list head.

Side effects: May free nodes.

----------------------------------------------------------------------

Ns_List* Ns_ListDeleteIf ( Ns_List *  lPtr,
Ns_ElemTestProc *  testProc 
)

----------------------------------------------------------------------

Ns_ListDeleteIf --

Delete elements from a list if a callback says to.

Results: A new list head.

Side effects: May free nodes.

----------------------------------------------------------------------

Ns_List* Ns_ListDeleteLowElements ( Ns_List *  mPtr,
float  minweight 
)

----------------------------------------------------------------------

Ns_ListDeleteLowElements --

Delete elements in a list with a lower-than-specified weight.

Results: Pointer to a new list head.

Side effects: May free elements.

----------------------------------------------------------------------

Ns_List* Ns_ListDeleteWithTest ( void *  elem,
Ns_List *  lPtr,
Ns_EqualProc *  equalProc 
)

----------------------------------------------------------------------

Ns_ListDeleteWithTest --

Delete elements that pass an equivalency test run by a callback, between each node and 'elem'.

Results: New list head.

Side effects: May free nodes.

----------------------------------------------------------------------

void Ns_ListFree ( Ns_List *  lPtr,
Ns_ElemVoidProc *  freeProc 
)

----------------------------------------------------------------------

Ns_ListFree --

Frees the elements of the list with the freeing function that is passed in.

Results: None.

Side effects: None.

----------------------------------------------------------------------

Ns_List* Ns_ListLast ( Ns_List *  lPtr  ) 

----------------------------------------------------------------------

Ns_ListLast --

Find the last element in a list.

Results: Returns a pointer to the last element.

Side effects: None.

----------------------------------------------------------------------

int Ns_ListLength ( Ns_List *  lPtr  ) 

----------------------------------------------------------------------

Ns_ListLength --

Find the number of elements in a list.

Results: Number of elements.

Side effects: None.

----------------------------------------------------------------------

Ns_List* Ns_ListMapcar ( Ns_List *  lPtr,
Ns_ElemValProc *  valProc 
)

----------------------------------------------------------------------

Ns_ListMapcar --

Apply a procedure to every member of a list.

Results: A pointer to the new list head.

Side effects: Generates a new list from the results of the procedure.

----------------------------------------------------------------------

Ns_List* Ns_ListNconc ( Ns_List *  l1Ptr,
Ns_List *  l2Ptr 
)

----------------------------------------------------------------------

Ns_ListNconc --

Append l2 to l1

Results: A pointer to the head of the new list.

Side effects: May modify l1.

----------------------------------------------------------------------

Ns_List* Ns_ListNmapcar ( Ns_List *  lPtr,
Ns_ElemValProc *  valProc 
)

----------------------------------------------------------------------

Ns_ListNmapcar --

Apply a procedure to every member of a list.

Results: A pointer to the list head.

Side effects: None.

----------------------------------------------------------------------

Ns_List* Ns_ListNreverse ( Ns_List *  lPtr  ) 

----------------------------------------------------------------------

Ns_ListNreverse --

Reverse the order of a list.

Results: A pointer to the new head.

Side effects: Changes all the links in the list.

----------------------------------------------------------------------

void Ns_ListPrint ( Ns_List *  lPtr,
Ns_ElemVoidProc *  printProc 
)

----------------------------------------------------------------------

Ns_ListPrint --

Print a list to standard out.

Results: None.

Side effects: None.

----------------------------------------------------------------------

Ns_List* Ns_ListSort ( Ns_List *  wPtr,
Ns_SortProc *  sortProc 
)

----------------------------------------------------------------------

Ns_ListSort --

Quicksort a list using a comparison callback.

Results: Pointer to the new list head.

Side effects: Will rearrange links.

----------------------------------------------------------------------

Ns_List* Ns_ListWeightSort ( Ns_List *  wPtr  ) 

----------------------------------------------------------------------

Ns_ListWeightSort --

Quicksort a list by the weight element of each node.

Results: A pointer to the new list head.

Side effects: Rearranges pointers in the list.

----------------------------------------------------------------------

Loop over the whole list and build two sublists, one with elements < axis, the other with elements >= axis.

Sort the list of larger elements and append it to axis

Sort the list of smaller elements and append axis to it.

void Ns_StringPrint ( char *  s  ) 

----------------------------------------------------------------------

Ns_StringPrint --

Print a string to stdout.

Results: None.

Side effects: None.

----------------------------------------------------------------------


Generated on Tue Sep 4 19:58:56 2007 by  doxygen 1.5.1