User Tools

Site Tools


notes:discrete:fall2022:projects:rle0

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
notes:discrete:fall2022:projects:rle0 [2022/09/06 23:18] – [ALGORITHM: RLE] dmucknotes:discrete:fall2022:projects:rle0 [2022/09/07 22:57] (current) – [PROGRAM] abarbcal
Line 18: Line 18:
 The RLE algorithm will encode this data by replacing the repeated characters with a count number and a single value. The RLE algorithm will encode this data by replacing the repeated characters with a count number and a single value.
  
-<code>4a2b1c1d1e1f5g</code>+<code>4a2b1c1d1e1f4g</code>
  
 There are 4 a's (0x61), 2 b's(0x62), 1 c(0x63), 1 d(0x64), 1 e(0x65), 1 f (0x66), and 5 g's (0x67). There are 4 a's (0x61), 2 b's(0x62), 1 c(0x63), 1 d(0x64), 1 e(0x65), 1 f (0x66), and 5 g's (0x67).
Line 63: Line 63:
 } }
 </code> </code>
 +
 +  *The in_file should be taken from the user as argv[1].
 + 
 +  *The out_file should also be taken from the user as argv[2].
 ====DATA HEADER SPECIFICATIONS==== ====DATA HEADER SPECIFICATIONS====
 Header Format: Header Format:
Line 100: Line 104:
 Encoder will output a file with a name equivalent to the second argument. Encoder will output a file with a name equivalent to the second argument.
  
-Decode program will take one argument:+Decode program will take two arguments:
 <cli> <cli>
-./decode INFILE +./decode INFILE OUTFILE 
- argv[0] arfv[1]+ argv[0] argv[1] argv[2]
  
-./decode sample0.txt.rle+./decode sample0.txt.rle sample0.txt
 </cli> </cli>
 +The decoder should be able to read the header and find out the filename if a second argument is not given. If a second argument is given it will use the second argument instead of taking the filename from the header.
 Decode will output a file of similar name without the .rle extension after running your decoder. Decode will output a file of similar name without the .rle extension after running your decoder.
 =====OUTPUT SPECIFICATIONS===== =====OUTPUT SPECIFICATIONS=====
Line 139: Line 144:
  
 **NOTE:** This is not the full make check output, this is pending a full successful make check so if one is achieved feel free to delete this. **NOTE:** This is not the full make check output, this is pending a full successful make check so if one is achieved feel free to delete this.
 +Verification adds the in/ to the input file name argument, as well as the out/ for the output file name argument.
 <cli> <cli>
 USERNAME@lab46:~/src/fall2022/rle0$ make check USERNAME@lab46:~/src/fall2022/rle0$ make check
Line 148: Line 153:
 in/sample1.txt -> o0/sample1.txt.rle: OK in/sample1.txt -> o0/sample1.txt.rle: OK
 in/sample2.bmp -> o0/sample2.bmp.rle: OK in/sample2.bmp -> o0/sample2.bmp.rle: OK
 +in/sample3.wav -> o0/sample3.wav.rle: OK
 +
 +=================================================
 += PHASE 1: Decode -> Raw data verification test =
 +=================================================
 +in/sample0.txt.rle -> o1/sample0.txt: OK
 +in/sample1.txt.rle -> o1/sample1.txt: OK
 +in/sample2.bmp.rle -> o1/sample2.bmp: OK
 +in/sample3.wav.rle -> o1/sample3.wav: OK
 +
 +================================================
 += PHASE 2: Raw -> Encode -> Decode -> Raw test =
 +================================================
 +in/sample0.txt -> m2/sample0.txt.rle -> o2/sample0.txt: OK
 +in/sample1.txt -> m2/sample1.txt.rle -> o2/sample1.txt: OK
 +in/sample2.bmp -> m2/sample2.bmp.rle -> o2/sample2.bmp: OK
 +in/sample3.wav -> m2/sample3.wav.rle -> o2/sample3.wav: OK
 +
 +=============================================
 += PHASE 3: Decode -> Raw -> Encode Raw test =
 +=============================================
 +in/sample0.txt.rle -> m3/sample0.txt -> o3/sample0.txt.rle: OK
 +in/sample1.txt.rle -> m3/sample1.txt -> o3/sample1.txt.rle: OK
 +in/sample2.bmp.rle -> m3/sample2.bmp -> o3/sample2.bmp.rle: OK
 +in/sample3.wav.rle -> m3/sample3.wav -> o3/sample3.wav.rle: OK
 </cli> </cli>
notes/discrete/fall2022/projects/rle0.1662506319.txt.gz · Last modified: 2022/09/06 23:18 by dmuck