User Tools

Site Tools


haas:summer2015:data:projects:sll1

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
haas:summer2015:data:projects:sll1 [2015/05/29 14:48] – [List library unit tests] wedgehaas:summer2015:data:projects:sll1 [2015/06/01 21:17] (current) – [list library (so far)] wedge
Line 30: Line 30:
 List *cplist(List *);                   // duplicate existing list List *cplist(List *);                   // duplicate existing list
 void displayb(List *, int);             // display list backwards void displayb(List *, int);             // display list backwards
-int compare(List *, List *);            // compare two lists for equality+uc compare(List *, List *, ulli *);     // compare two lists for equality 
 +</code> 
 + 
 +Additionally, the following content has been inserted, largely to aid with **compare()** implementation and operation: 
 + 
 +<code c> 
 +typedef struct list            List;    // because we deserve nice things 
 +typedef unsigned long long int ulli;    // short name for biggest space 
 +typedef unsigned char          uc;      // shorter name for smallest space 
 +</code> 
 + 
 +and:
  
 +<code c>
 +// return status codes
 +//
 +#define CMP_EQUALITY    0x00
 +#define CMP_L1_NULL     0x01
 +#define CMP_L1_EMPTY    0x02
 +#define CMP_L1_GREATER  0x04
 +#define CMP_L1_LESS     0x08
 +#define CMP_L2_NULL     0x10
 +#define CMP_L2_EMPTY    0x20
 +#define CMP_L2_GREATER  0x40
 +#define CMP_L2_LESS     0x80
 </code> </code>
  
Line 39: Line 62:
  
 In this project, **append()** can be considered that basic operation, where **cplist()** can be built using **append()** (along with any other list/node functions from this and previous projects). In this project, **append()** can be considered that basic operation, where **cplist()** can be built using **append()** (along with any other list/node functions from this and previous projects).
- 
 ====list library==== ====list library====
 In **src/list/**, you will find 5 new C files: In **src/list/**, you will find 5 new C files:
Line 83: Line 105:
 To assist you in verifying a correct implementation, a fully working implementation of the node library and list library (up to this point) should resemble the following: To assist you in verifying a correct implementation, a fully working implementation of the node library and list library (up to this point) should resemble the following:
  
-====node library==== 
-Here is what you should get for the node library: 
- 
-<cli> 
-lab46:~/src/data/sll1$ bin/verify-node.sh  
-==================================================== 
-=    Verifying Singly-Linked Node Functionality    = 
-==================================================== 
- [mknode] Total:   4, Matches:   4, Mismatches:   0 
- [cpnode] Total:   5, Matches:   5, Mismatches:   0 
- [rmnode] Total:   2, Matches:   2, Mismatches:   0 
-==================================================== 
-[RESULTS] Total:  11, Matches:  11, Mismatches:   0 
-==================================================== 
-lab46:~/src/data/sll1$  
-</cli> 
  
 ====list library (so far)==== ====list library (so far)====
Line 117: Line 123:
     [cplist] Total:  11, Matches:  11, Mismatches:   0     [cplist] Total:  11, Matches:  11, Mismatches:   0
   [displayb] Total:   6, Matches:   6, Mismatches:   0   [displayb] Total:   6, Matches:   6, Mismatches:   0
-   [compare] Total:   9, Matches:   9, Mismatches:   0+   [compare] Total:  15, Matches:  15, Mismatches:   0
 ====================================================== ======================================================
-   [RESULTS] Total:  85, Matches:  85, Mismatches:   0+   [RESULTS] Total:  91, Matches:  91, Mismatches:   0
 ====================================================== ======================================================
 lab46:~/src/data/sll1$  lab46:~/src/data/sll1$ 
 </cli> </cli>
  
-=====Submission Criteria===== +=====Submission===== 
-To be successful in this project, the following criteria must be met: +{{page>haas:summer2015:common:submitblurb#DATA&noheader&nofooter}}
- +
-  * Project must be submit on time, by the posted deadline. +
-    * Late submissions will lose 25% credit per day, with the submission window closing on the 4th day following the deadline. +
-  * All code must compile cleanly (no warnings or errors) +
-    * all requested functions must be implemented in the related library +
-    * all requested functionality must conform to stated requirements (either on this project page or in comment banner in source code files themselves). +
-  * Executed programs must display in a manner similar to provided output +
-    * output formatted, where applicable, must match that of project requirements +
-  * Processing must be correct based on input given and output requested +
-  * Output, if applicable, must be correct based on values input +
-  * Code must be nicely and consistently indented (you may use the **indent** tool) +
-  * Code must be commented +
-    * Any "to be implemented" comments **MUST** be removed +
-      * these "to be implemented" comments, if still present at evaluation time, will result in points being deducted. +
-    * Sufficient comments explaining the point of provided logic **MUST** be present +
-  * Any and all functions written must have, **at most**, 1 **return** statement +
-    * points will be lost for solutions containing multiple return statements in a function. +
-  * Track/version the source code in a repository +
-  * Submit a copy of your source code to me using the **submit** tool (**make submit** will do this) by the deadline.+
haas/summer2015/data/projects/sll1.1432910884.txt.gz · Last modified: 2015/05/29 14:48 by wedge