@@ -23,12 +23,12 @@ HuffmanTree* createHuffmanTree(int stateNum)
2323
2424 huffmanTree -> pool = (struct node_t * )malloc (huffmanTree -> allNodes * 2 * sizeof (struct node_t ));
2525 huffmanTree -> qqq = (node * )malloc (huffmanTree -> allNodes * 2 * sizeof (node ));
26- huffmanTree -> code = (unsigned long * * )malloc (huffmanTree -> stateNum * sizeof (unsigned long * ));
26+ huffmanTree -> code = (uint64_t * * )malloc (huffmanTree -> stateNum * sizeof (uint64_t * ));
2727 huffmanTree -> cout = (unsigned char * )malloc (huffmanTree -> stateNum * sizeof (unsigned char ));
2828
2929 memset (huffmanTree -> pool , 0 , huffmanTree -> allNodes * 2 * sizeof (struct node_t ));
3030 memset (huffmanTree -> qqq , 0 , huffmanTree -> allNodes * 2 * sizeof (node ));
31- memset (huffmanTree -> code , 0 , huffmanTree -> stateNum * sizeof (unsigned long * ));
31+ memset (huffmanTree -> code , 0 , huffmanTree -> stateNum * sizeof (uint64_t * ));
3232 memset (huffmanTree -> cout , 0 , huffmanTree -> stateNum * sizeof (unsigned char ));
3333 huffmanTree -> qq = huffmanTree -> qqq - 1 ;
3434 huffmanTree -> n_nodes = 0 ;
@@ -119,10 +119,10 @@ node qremove(HuffmanTree* huffmanTree)
119119 * @out2 should be 0 as well.
120120 * @index: the index of the byte
121121 * */
122- void build_code (HuffmanTree * huffmanTree , node n , int len , unsigned long out1 , unsigned long out2 )
122+ void build_code (HuffmanTree * huffmanTree , node n , int len , uint64_t out1 , uint64_t out2 )
123123{
124124 if (n -> t ) {
125- huffmanTree -> code [n -> c ] = (unsigned long * )malloc (2 * sizeof (unsigned long ));
125+ huffmanTree -> code [n -> c ] = (uint64_t * )malloc (2 * sizeof (uint64_t ));
126126 if (len <=64 )
127127 {
128128 if (len == 0 )
@@ -234,14 +234,14 @@ void encode(HuffmanTree *huffmanTree, int *s, size_t length, unsigned char *out,
234234 byteSizep = bitSize /8 ; //it's used to move the pointer p for next data
235235 if (byteSize <=8 )
236236 {
237- longToBytes_bigEndian (p , (huffmanTree -> code [state ])[0 ]);
237+ int64ToBytes_bigEndian (p , (huffmanTree -> code [state ])[0 ]);
238238 p += byteSizep ;
239239 }
240240 else //byteSize>8
241241 {
242- longToBytes_bigEndian (p , (huffmanTree -> code [state ])[0 ]);
242+ int64ToBytes_bigEndian (p , (huffmanTree -> code [state ])[0 ]);
243243 p += 8 ;
244- longToBytes_bigEndian (p , (huffmanTree -> code [state ])[1 ]);
244+ int64ToBytes_bigEndian (p , (huffmanTree -> code [state ])[1 ]);
245245 p += (byteSizep - 8 );
246246 }
247247 * outSize += byteSize ;
@@ -254,8 +254,8 @@ void encode(HuffmanTree *huffmanTree, int *s, size_t length, unsigned char *out,
254254 {
255255 p ++ ;
256256 //(*outSize)++;
257- long newCode = (huffmanTree -> code [state ])[0 ] << lackBits ;
258- longToBytes_bigEndian (p , newCode );
257+ uint64_t newCode = (huffmanTree -> code [state ])[0 ] << lackBits ;
258+ int64ToBytes_bigEndian (p , newCode );
259259
260260 if (bitSize <=64 )
261261 {
@@ -279,7 +279,7 @@ void encode(HuffmanTree *huffmanTree, int *s, size_t length, unsigned char *out,
279279 p ++ ;
280280 //(*outSize)++;
281281 newCode = (huffmanTree -> code [state ])[1 ] << lackBits ;
282- longToBytes_bigEndian (p , newCode );
282+ int64ToBytes_bigEndian (p , newCode );
283283 bitSize -= lackBits ;
284284 byteSize = bitSize %8 == 0 ? bitSize /8 : bitSize /8 + 1 ;
285285 byteSizep = bitSize /8 ;
@@ -706,9 +706,9 @@ void encode_withTree(HuffmanTree* huffmanTree, int *s, size_t length, unsigned c
706706 //printf("treeByteSize = %d\n", treeByteSize);
707707
708708 * out = (unsigned char * )malloc (length * sizeof (int )+ treeByteSize );
709- intToBytes_bigEndian (buffer , nodeCount );
709+ int32ToBytes_bigEndian (buffer , nodeCount );
710710 memcpy (* out , buffer , 4 );
711- intToBytes_bigEndian (buffer , huffmanTree -> stateNum /2 ); //real number of intervals
711+ int32ToBytes_bigEndian (buffer , huffmanTree -> stateNum /2 ); //real number of intervals
712712 memcpy (* out + 4 , buffer , 4 );
713713 memcpy (* out + 8 , treeBytes , treeByteSize );
714714 free (treeBytes );
@@ -724,13 +724,13 @@ void encode_withTree(HuffmanTree* huffmanTree, int *s, size_t length, unsigned c
724724void decode_withTree (HuffmanTree * huffmanTree , unsigned char * s , size_t targetLength , int * out )
725725{
726726 size_t encodeStartIndex ;
727- size_t nodeCount = bytesToInt_bigEndian (s );
727+ size_t nodeCount = bytesToInt32_bigEndian (s );
728728 node root = reconstruct_HuffTree_from_bytes_anyStates (huffmanTree ,s + 8 , nodeCount );
729729
730730 //sdi: Debug
731731/* build_code(root, 0, 0, 0);
732732 int i;
733- unsigned long code_1, code_2;
733+ uint64_t code_1, code_2;
734734 for (i = 0; i < stateNum; i++)
735735 if (code[i])
736736 {
0 commit comments