summaryrefslogtreecommitdiff
path: root/src/compression
diff options
context:
space:
mode:
authorMagnus Lundborg <lundborg.magnus@gmail.com>2013-10-11 08:26:12 (GMT)
committerMagnus Lundborg <lundborg.magnus@gmail.com>2013-10-11 11:56:45 (GMT)
commita5764da642a14633833fe0303ace0808b0e04290 (patch)
treeab75e37cc3e6e8a88235adce64bd67a6252e0045 /src/compression
parent437ebc84d8d5baa2564d9ffe9a10800b15e961e3 (diff)
Fixing many llvm clang warnings.
Diffstat (limited to 'src/compression')
-rw-r--r--src/compression/bwt.c14
-rw-r--r--src/compression/coder.c8
-rw-r--r--src/compression/tng_compress.c22
-rw-r--r--src/compression/xtc3.c32
4 files changed, 34 insertions, 42 deletions
diff --git a/src/compression/bwt.c b/src/compression/bwt.c
index ea75199..e5cb5ce 100644
--- a/src/compression/bwt.c
+++ b/src/compression/bwt.c
@@ -37,8 +37,8 @@ static int compare_index(int i1,int i2,int nvals,unsigned int *vals,unsigned int
int k1=(int)(nrepeat[i1]&0xFFU);
int repeat2=(int)(nrepeat[i2]>>8);
int k2=(int)(nrepeat[i2]&0xFFU);
-
- if ((repeat1>1) && (repeat1>1) && (k1==k2))
+
+ if ((repeat1>1) && (repeat2>1) && (k1==k2))
{
int maxskip=0;
/* Yes. Compare the repeating patterns. */
@@ -88,7 +88,7 @@ void Ptngc_bwt_merge_sort_inner(int *indices, int nvals,unsigned int *vals,
middle=start+(end-start)/2;
#if 0
printf("For start %d end %d obtained new middle: %d\n",start,end,middle);
-#endif
+#endif
Ptngc_bwt_merge_sort_inner(indices,nvals,vals,
start,middle,
nrepeat,
@@ -126,7 +126,7 @@ void Ptngc_bwt_merge_sort_inner(int *indices, int nvals,unsigned int *vals,
if (compare_index(indices[ileft],indices[iright],nvals,vals,nrepeat)>0)
{
workarray[i]=indices[iright];
- iright++;
+ iright++;
}
else
{
@@ -221,7 +221,7 @@ void Ptngc_comp_to_bwt(unsigned int *vals, int nvals,
pattern. */
#ifdef SHOWIT
printf("Best j and k is now %d and %d\n",good_j,good_k);
-#endif
+#endif
}
}
else
@@ -257,7 +257,7 @@ void Ptngc_comp_to_bwt(unsigned int *vals, int nvals,
nrepeat[i+m]=((unsigned int) (good_k)) | (((unsigned int) (repeat))<<8);
}
/* If no repetition was found for this value signal that here. */
- if (!nrepeat[i])
+ if (!nrepeat[i])
nrepeat[i+m]=257U; /* This is 1<<8 | 1 */
}
}
@@ -334,4 +334,4 @@ void Ptngc_comp_from_bwt(unsigned int *input, int nvals, int index,
free(p);
free(c);
}
-
+
diff --git a/src/compression/coder.c b/src/compression/coder.c
index 270e4d3..ca3de86 100644
--- a/src/compression/coder.c
+++ b/src/compression/coder.c
@@ -171,7 +171,6 @@ static int pack_stopbits_item(struct coder *coder_inst,int item, unsigned char *
else if (item<0)
s=2+(-item-1)*2;
return write_stop_bit_code(coder_inst,s,coding_parameter,output);
- return 0;
}
static int pack_triplet(struct coder *coder_inst,unsigned int *s, unsigned char **output, int coding_parameter,
@@ -194,7 +193,6 @@ static int pack_triplet(struct coder *coder_inst,unsigned int *s, unsigned char
{
if (this_base>max_base)
return 1;
- this_base=max_base;
bits_per_value=maxbits;
jbase=3;
}
@@ -332,7 +330,7 @@ unsigned char *Ptngc_pack_array(struct coder *coder_inst,int *input, int *length
static int unpack_array_stop_bits(struct coder *coder_inst,unsigned char *packed,int *output, int length, int coding_parameter)
{
- (void)coder_inst;
+ (void) coder_inst;
int i,j;
unsigned int extract_mask=0x80;
unsigned char *ptr=packed;
@@ -385,7 +383,7 @@ static int unpack_array_stop_bits(struct coder *coder_inst,unsigned char *packed
static int unpack_array_triplet(struct coder *coder_inst,unsigned char *packed,int *output, int length, int coding_parameter)
{
- (void)coder_inst;
+ (void) coder_inst;
int i,j;
unsigned int extract_mask=0x80;
unsigned char *ptr=packed;
@@ -457,7 +455,7 @@ static int unpack_array_triplet(struct coder *coder_inst,unsigned char *packed,i
static int unpack_array_bwlzh(struct coder *coder_inst,unsigned char *packed,int *output, int length, int natoms)
{
- (void)coder_inst;
+ (void) coder_inst;
int i,j,k,n=length;
unsigned int *pval=warnmalloc(n*sizeof *pval);
int nframes=n/natoms/3;
diff --git a/src/compression/tng_compress.c b/src/compression/tng_compress.c
index ebd495b..2578336 100644
--- a/src/compression/tng_compress.c
+++ b/src/compression/tng_compress.c
@@ -481,13 +481,14 @@ static void compress_quantized_vel(int *quant, int *quant_inter,
if (data)
bufferfix((unsigned char*)data+bufloc,prec_hi,4);
bufloc+=4;
+
+ length=natoms*3;
/* The initial frame */
if ((initial_coding==TNG_COMPRESS_ALGO_VEL_STOPBIT_ONETOONE) ||
(initial_coding==TNG_COMPRESS_ALGO_VEL_TRIPLET_ONETOONE) ||
(initial_coding==TNG_COMPRESS_ALGO_VEL_BWLZH_ONETOONE))
{
struct coder *coder=Ptngc_coder_init();
- length=natoms*3;
datablock=(char*)Ptngc_pack_array(coder,quant,&length,
initial_coding,initial_coding_parameter,natoms,speed);
Ptngc_coder_deinit(coder);
@@ -497,10 +498,12 @@ static void compress_quantized_vel(int *quant, int *quant_inter,
bufferfix((unsigned char*)data+bufloc,(fix_t)length,4);
bufloc+=4;
/* The actual data block. */
- if (data)
- memcpy(data+bufloc,datablock,length);
- free(datablock);
- bufloc+=length;
+ if (data && datablock)
+ {
+ memcpy(data+bufloc,datablock,length);
+ free(datablock);
+ bufloc+=length;
+ }
/* The remaining frames */
if (nframes>1)
{
@@ -683,7 +686,6 @@ static void determine_best_pos_initial_coding(int *quant, int *quant_intra, int
{
best_coding=current_coding;
best_coding_parameter=current_coding_parameter;
- best_code_size=current_code_size;
}
}
*initial_coding=best_coding;
@@ -846,7 +848,6 @@ static void determine_best_pos_coding(int *quant, int *quant_inter, int *quant_i
{
best_coding=current_coding;
best_coding_parameter=current_coding_parameter;
- best_code_size=current_code_size;
}
}
*coding=best_coding;
@@ -950,7 +951,6 @@ static void determine_best_vel_initial_coding(int *quant, int natoms, int speed,
{
best_coding=current_coding;
best_coding_parameter=current_coding_parameter;
- best_code_size=current_code_size;
}
}
*initial_coding=best_coding;
@@ -1090,7 +1090,6 @@ static void determine_best_vel_coding(int *quant, int *quant_inter, int natoms,
if (current_code_size<best_code_size)
{
best_coding=current_coding;
- best_code_size=current_code_size;
best_coding_parameter=current_coding_parameter;
}
}
@@ -1492,7 +1491,6 @@ int DECLSPECDLLEXPORT tng_compress_inquire(char *data,int *vel, int *natoms,
prec_lo=readbufferfix((unsigned char *)data+bufloc,4);
bufloc+=4;
prec_hi=readbufferfix((unsigned char *)data+bufloc,4);
- bufloc+=4;
*precision=PRECISION(prec_hi, prec_lo);
algo[0]=initial_coding;
algo[1]=initial_coding_parameter;
@@ -1583,8 +1581,6 @@ static int tng_compress_uncompress_pos_gen(char *data,double *posd,float *posf,i
/* The remaining frames. */
if (nframes>1)
{
- /* The data block length. */
- length=(int)readbufferfix((unsigned char *)data+bufloc,4);
bufloc+=4;
coder=Ptngc_coder_init();
rval=Ptngc_unpack_array(coder,(unsigned char *)data+bufloc,quant+natoms*3,(nframes-1)*natoms*3,
@@ -1721,8 +1717,6 @@ static int tng_compress_uncompress_vel_gen(char *data,double *veld,float *velf,i
/* The remaining frames. */
if (nframes>1)
{
- /* The data block length. */
- length=(int)readbufferfix((unsigned char *)data+bufloc,4);
bufloc+=4;
coder=Ptngc_coder_init();
rval=Ptngc_unpack_array(coder,(unsigned char *)data+bufloc,quant+natoms*3,(nframes-1)*natoms*3,
diff --git a/src/compression/xtc3.c b/src/compression/xtc3.c
index 197cc12..297e948 100644
--- a/src/compression/xtc3.c
+++ b/src/compression/xtc3.c
@@ -512,7 +512,6 @@ static void buffer_large(struct xtc3_context *xtc3_context, int *input, int inpd
thislen=compute_intlen(interdelta);
if (thislen*TRESHOLD_INTRA_INTER_DIRECT<minlen)
{
- minlen=thislen;
best_type=2; /* Inter delta */
}
}
@@ -730,7 +729,6 @@ static void base_decompress(unsigned char *input, int len, unsigned int *output)
while (nvals_left)
{
int n;
- int numints;
if (basegiven==0)
{
base=(unsigned int)(input[0])|
@@ -755,24 +753,26 @@ static void base_decompress(unsigned char *input, int len, unsigned int *output)
#ifdef SHOWIT
fprintf(stderr,"Reading largeint: ");
#endif
- for (j=0; j<numbytes; j++)
- {
- int ilarge=j/4;
- int ibyte=j%4;
- largeint[ilarge]|=((unsigned int)input[j])<<(ibyte*8);
+ if (numbytes/4 < maxbasevals+1)
+ {
+ for (j=0; j<numbytes; j++)
+ {
+ int ilarge=j/4;
+ int ibyte=j%4;
+ largeint[ilarge]|=((unsigned int)input[j])<<(ibyte*8);
#ifdef SHOWIT
- fprintf(stderr,"%02x",(unsigned int)input[j]);
+ fprintf(stderr,"%02x",(unsigned int)input[j]);
#endif
+ }
}
#ifdef SHOWIT
- fprintf(stderr,"\n");
+ fprintf(stderr,"\n");
#endif
input+=numbytes;
/* Do the long division required to get the output values. */
n=maxbasevals;
if (n>nvals_left)
n=nvals_left;
- numints=(numbytes+3)/4;
for (i=n-1; i>=0; i--)
{
output[outvals+i*3]=Ptngc_largeint_div(base,largeint,largeint_tmp,maxbasevals+1);
@@ -1699,21 +1699,21 @@ static void unpack_one_large(struct xtc3_context *xtc3_context,
int natoms, int current_large_type)
{
int large_ints[3]={0,0,0};
- if (current_large_type==0)
+ if (current_large_type==0 && xtc3_context->large_direct)
{
large_ints[0]=(int)xtc3_context->large_direct[(*ilargedir)]+minint[0];
large_ints[1]=(int)xtc3_context->large_direct[(*ilargedir)+1]+minint[1];
large_ints[2]=(int)xtc3_context->large_direct[(*ilargedir)+2]+minint[2];
(*ilargedir)+=3;
}
- else if (current_large_type==1)
+ else if (current_large_type==1 && xtc3_context->large_intra_delta)
{
large_ints[0]=unpositive_int(xtc3_context->large_intra_delta[(*ilargeintra)])+prevcoord[0];
large_ints[1]=unpositive_int(xtc3_context->large_intra_delta[(*ilargeintra)+1])+prevcoord[1];
large_ints[2]=unpositive_int(xtc3_context->large_intra_delta[(*ilargeintra)+2])+prevcoord[2];
(*ilargeintra)+=3;
}
- else
+ else if (xtc3_context->large_inter_delta)
{
large_ints[0]=unpositive_int(xtc3_context->large_inter_delta[(*ilargeinter)])
+output[outdata-natoms*3+didswap*3];
@@ -1838,7 +1838,7 @@ int Ptngc_unpack_array_xtc3(unsigned char *packed,int *output, int length, int n
prevcoord[1]=minint[1];
prevcoord[2]=minint[2];
- while (ntriplets_left>0)
+ while (ntriplets_left>0 && iinstr<xtc3_context.ninstr)
{
int instr=xtc3_context.instructions[iinstr++];
#ifdef SHOWIT
@@ -1895,7 +1895,7 @@ int Ptngc_unpack_array_xtc3(unsigned char *packed,int *output, int length, int n
outdata+=runlength*3;
}
}
- else if (instr==INSTR_LARGE_RLE)
+ else if (instr==INSTR_LARGE_RLE && irle<xtc3_context.nrle)
{
int large_rle=xtc3_context.rle[irle++];
#ifdef SHOWIT
@@ -1910,7 +1910,7 @@ int Ptngc_unpack_array_xtc3(unsigned char *packed,int *output, int length, int n
outdata+=3;
}
}
- else if (instr==INSTR_SMALL_RUNLENGTH)
+ else if (instr==INSTR_SMALL_RUNLENGTH && irle<xtc3_context.nrle)
{
runlength=xtc3_context.rle[irle++];
#ifdef SHOWIT
contact: Jan Huwald // Impressum