Index: /trunk/psLib/src/collections/Makefile
===================================================================
--- /trunk/psLib/src/collections/Makefile	(revision 433)
+++ /trunk/psLib/src/collections/Makefile	(revision 433)
@@ -0,0 +1,29 @@
+ifndef prefix
+    export prefix=$(shell cd ../..;pwd)
+endif
+
+TARGET = libpsDataManip.a
+
+all: $(TARGET)
+
+include ../Makefile.Globals
+
+SRC_OBJS = \
+    psArray.o
+
+libpsDataManip.a: $(SRC_OBJS)
+	$(AR) -r libpsDataManip.a $(SRC_OBJS)
+
+install: $(TARGET)
+	install *.h $(includedir)
+	install $(TARGET) $(libexecdir)
+
+distclean:	clean
+	$(RM) $(TARGET)
+
+clean:
+	@echo "    Deleting intermediate files for 'utilities - $(CFG)'"
+	$(RM) $(SRC_OBJS) *.lint
+
+%.lint: %.c
+	splint +posixlib -exportlocal -realcompare $(INCLUDE_GLOBAL) $? > $@; cat $@ 
Index: /trunk/psLib/src/collections/psArray.c
===================================================================
--- /trunk/psLib/src/collections/psArray.c	(revision 433)
+++ /trunk/psLib/src/collections/psArray.c	(revision 433)
@@ -0,0 +1,30 @@
+/* remove this file when there is a valid psArray.h */
+
+#include "psArray.h"
+
+#include <stdlib.h>
+
+psFloatArray *psFloatArrayAlloc(int nalloc)
+{
+    psFloatArray *psArray = (psFloatArray*)malloc(sizeof(psFloatArray));
+    psArray->n = nalloc;
+    psArray->arr = (float*)malloc(sizeof(float)*nalloc);
+    
+    return psArray;
+}
+
+int psFreeFloatArray(psFloatArray *inArray)
+{
+    free(inArray->arr);
+    free(inArray);
+    return 0;
+}
+
+psIntArray *psIntArrayAlloc(int nalloc)
+{
+    psIntArray *psArray = (psIntArray*)malloc(sizeof(psIntArray));
+    psArray->n = nalloc;
+    psArray->arr = (int*)malloc(sizeof(int)*nalloc);
+    
+    return psArray;
+}
Index: /trunk/psLib/src/collections/psArray.h
===================================================================
--- /trunk/psLib/src/collections/psArray.h	(revision 433)
+++ /trunk/psLib/src/collections/psArray.h	(revision 433)
@@ -0,0 +1,15 @@
+/* remove this file when there is a valid psArray.h */
+
+typedef struct {
+    int n;
+    float *arr;
+} psFloatArray;
+
+typedef struct {
+    int n;
+    int *arr;
+} psIntArray;
+
+psFloatArray *psFloatArrayAlloc(int nalloc);
+int psFreeFloatArray(psFloatArray *inArray);
+psIntArray *psIntArrayAlloc(int nalloc);
Index: /trunk/psLib/src/types/psArray.c
===================================================================
--- /trunk/psLib/src/types/psArray.c	(revision 433)
+++ /trunk/psLib/src/types/psArray.c	(revision 433)
@@ -0,0 +1,30 @@
+/* remove this file when there is a valid psArray.h */
+
+#include "psArray.h"
+
+#include <stdlib.h>
+
+psFloatArray *psFloatArrayAlloc(int nalloc)
+{
+    psFloatArray *psArray = (psFloatArray*)malloc(sizeof(psFloatArray));
+    psArray->n = nalloc;
+    psArray->arr = (float*)malloc(sizeof(float)*nalloc);
+    
+    return psArray;
+}
+
+int psFreeFloatArray(psFloatArray *inArray)
+{
+    free(inArray->arr);
+    free(inArray);
+    return 0;
+}
+
+psIntArray *psIntArrayAlloc(int nalloc)
+{
+    psIntArray *psArray = (psIntArray*)malloc(sizeof(psIntArray));
+    psArray->n = nalloc;
+    psArray->arr = (int*)malloc(sizeof(int)*nalloc);
+    
+    return psArray;
+}
Index: /trunk/psLib/src/types/psArray.h
===================================================================
--- /trunk/psLib/src/types/psArray.h	(revision 433)
+++ /trunk/psLib/src/types/psArray.h	(revision 433)
@@ -0,0 +1,15 @@
+/* remove this file when there is a valid psArray.h */
+
+typedef struct {
+    int n;
+    float *arr;
+} psFloatArray;
+
+typedef struct {
+    int n;
+    int *arr;
+} psIntArray;
+
+psFloatArray *psFloatArrayAlloc(int nalloc);
+int psFreeFloatArray(psFloatArray *inArray);
+psIntArray *psIntArrayAlloc(int nalloc);
