pspp-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Pspp-cvs] pspp src/libpspp/ChangeLog src/libpspp/range-se...


From: Ben Pfaff
Subject: [Pspp-cvs] pspp src/libpspp/ChangeLog src/libpspp/range-se...
Date: Mon, 04 Jun 2007 01:22:48 +0000

CVSROOT:        /cvsroot/pspp
Module name:    pspp
Changes by:     Ben Pfaff <blp> 07/06/04 01:22:48

Modified files:
        src/libpspp    : ChangeLog range-set.c range-set.h 
        tests          : ChangeLog 
        tests/libpspp  : range-set-test.c 

Log message:
        * range-set.c (range_set_clone): New function.
        
        * tests/range-set-test.c: Also test the range_set_clone function.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/pspp/src/libpspp/ChangeLog?cvsroot=pspp&r1=1.67&r2=1.68
http://cvs.savannah.gnu.org/viewcvs/pspp/src/libpspp/range-set.c?cvsroot=pspp&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/pspp/src/libpspp/range-set.h?cvsroot=pspp&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/pspp/tests/ChangeLog?cvsroot=pspp&r1=1.87&r2=1.88
http://cvs.savannah.gnu.org/viewcvs/pspp/tests/libpspp/range-set-test.c?cvsroot=pspp&r1=1.2&r2=1.3

Patches:
Index: src/libpspp/ChangeLog
===================================================================
RCS file: /cvsroot/pspp/pspp/src/libpspp/ChangeLog,v
retrieving revision 1.67
retrieving revision 1.68
diff -u -b -r1.67 -r1.68
--- src/libpspp/ChangeLog       4 Jun 2007 01:19:03 -0000       1.67
+++ src/libpspp/ChangeLog       4 Jun 2007 01:22:47 -0000       1.68
@@ -1,5 +1,7 @@
 2007-06-03  Ben Pfaff  <address@hidden>
 
+       * range-set.c (range_set_clone): New function.
+
        * array.c (insert_range): New function.
        (insert_element): New function.
        (move_range): New function.

Index: src/libpspp/range-set.c
===================================================================
RCS file: /cvsroot/pspp/pspp/src/libpspp/range-set.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- src/libpspp/range-set.c     3 Apr 2007 22:55:07 -0000       1.2
+++ src/libpspp/range-set.c     4 Jun 2007 01:22:48 -0000       1.3
@@ -100,6 +100,20 @@
   return rs;
 }
 
+/* Creates and returns a clone of OLD range set in the given POOL
+   (which may be null). */
+struct range_set *
+range_set_clone (const struct range_set *old, struct pool *pool)
+{
+  struct range_set *new;
+  struct range_set_node *node;
+
+  new = range_set_create_pool (pool);
+  for (node = first_node (old); node != NULL; node = next_node (old, node)) 
+    insert_node (new, node->start, node->end);
+  return new;
+}
+
 /* Destroys range set RS. */
 void
 range_set_destroy (struct range_set *rs) 

Index: src/libpspp/range-set.h
===================================================================
RCS file: /cvsroot/pspp/pspp/src/libpspp/range-set.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- src/libpspp/range-set.h     3 Apr 2007 22:55:07 -0000       1.2
+++ src/libpspp/range-set.h     4 Jun 2007 01:22:48 -0000       1.3
@@ -32,6 +32,7 @@
 
 struct range_set *range_set_create (void);
 struct range_set *range_set_create_pool (struct pool *);
+struct range_set *range_set_clone (const struct range_set *, struct pool *);
 void range_set_destroy (struct range_set *);
 
 void range_set_insert (struct range_set *,

Index: tests/ChangeLog
===================================================================
RCS file: /cvsroot/pspp/pspp/tests/ChangeLog,v
retrieving revision 1.87
retrieving revision 1.88
diff -u -b -r1.87 -r1.88
--- tests/ChangeLog     6 May 2007 22:05:22 -0000       1.87
+++ tests/ChangeLog     4 Jun 2007 01:22:48 -0000       1.88
@@ -1,3 +1,7 @@
+2007-06-03  Ben Pfaff  <address@hidden>
+
+       * tests/range-set-test.c: Also test the range_set_clone function.
+
 2007-05-06  Ben Pfaff  <address@hidden>
 
        Abstract the documents within a dictionary a little better.

Index: tests/libpspp/range-set-test.c
===================================================================
RCS file: /cvsroot/pspp/pspp/tests/libpspp/range-set-test.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- tests/libpspp/range-set-test.c      3 Apr 2007 22:55:07 -0000       1.2
+++ tests/libpspp/range-set-test.c      4 Jun 2007 01:22:48 -0000       1.3
@@ -202,14 +202,17 @@
     for (i = 0; i < positions + 1; i++)
       for (j = i; j <= positions + 1; j++)
         {
-          struct range_set *rs;
+          struct range_set *rs, *rs2;
           unsigned int final_pat;
 
           rs = make_pattern (init_pat);
           range_set_insert (rs, i, j - i);
           final_pat = init_pat | bit_range (i, j - i);
           check_pattern (rs, final_pat);
+          rs2 = range_set_clone (rs, NULL);
+          check_pattern (rs2, final_pat);
           range_set_destroy (rs);
+          range_set_destroy (rs2);
         }
 }
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]