comparison src/scalar.c @ 246:bde5fa8692ff

Merge pull request #61 from seanlikeskites/master MSVC fixes
author Jamie Bullock <jamie@jamiebullock.com>
date Fri, 13 Jun 2014 17:29:26 +0100
parents 8fc9a0462c6e
children d383a8c66b5d
comparison
equal deleted inserted replaced
244:8c768f32a6a8 246:bde5fa8692ff
311 for(i = 0; i < n; i++) 311 for(i = 0; i < n; i++)
312 { 312 {
313 if((temp = data[i])) 313 if((temp = data[i]))
314 { 314 {
315 den += temp; 315 den += temp;
316 h = round(freqs[i] / fund); 316 h = floor(freqs[i] / fund + 0.5);
317 if(h == 1) 317 if(h == 1)
318 p1 += temp; 318 p1 += temp;
319 } 319 }
320 } 320 }
321 321
345 for(i = 0; i < n; i++) 345 for(i = 0; i < n; i++)
346 { 346 {
347 if((temp = data[i])) 347 if((temp = data[i]))
348 { 348 {
349 den += temp; 349 den += temp;
350 h = round(freqs[i] / fund); 350 h = floor(freqs[i] / fund + 0.5);
351 switch (h) 351 switch (h)
352 { 352 {
353 case 2: 353 case 2:
354 p2 += temp; 354 p2 += temp;
355 break; 355 break;
394 for(i = 0; i < n; i++) 394 for(i = 0; i < n; i++)
395 { 395 {
396 if((temp = data[i])) 396 if((temp = data[i]))
397 { 397 {
398 den += temp; 398 den += temp;
399 h = round(freqs[i] / fund); 399 h = floor(freqs[i] / fund + 0.5);
400 if(h >= 5) 400 if(h >= 5)
401 num += temp; 401 num += temp;
402 } 402 }
403 } 403 }
404 404
647 647
648 while(n--) 648 while(n--)
649 { 649 {
650 if(amps[n]) 650 if(amps[n])
651 { 651 {
652 h = round(freqs[n] / fund); 652 h = floor(freqs[n] / fund + 0.5);
653 num += fabs(freqs[n] - h * fund) * XTRACT_SQ(amps[n]); 653 num += fabs(freqs[n] - h * fund) * XTRACT_SQ(amps[n]);
654 den += XTRACT_SQ(amps[n]); 654 den += XTRACT_SQ(amps[n]);
655 } 655 }
656 } 656 }
657 657
679 679
680 while(n--) 680 while(n--)
681 { 681 {
682 if((temp = data[n])) 682 if((temp = data[n]))
683 { 683 {
684 h = round(freqs[n] / fund); 684 h = floor(freqs[n] / fund + 0.5);
685 if(XTRACT_IS_ODD(h)) 685 if(XTRACT_IS_ODD(h))
686 { 686 {
687 odd += temp; 687 odd += temp;
688 } 688 }
689 else 689 else
839 { 839 {
840 /* Input data is too short. */ 840 /* Input data is too short. */
841 *result = 0; 841 *result = 0;
842 return XTRACT_NO_RESULT; 842 return XTRACT_NO_RESULT;
843 } 843 }
844
845 peak_index = 0;
844 846
845 tempProduct = peak = 0; 847 tempProduct = peak = 0;
846 for (i = 0; i < M; ++i) 848 for (i = 0; i < M; ++i)
847 { 849 {
848 tempProduct = data [i] * data [i * 2] * data [i * 3]; 850 tempProduct = data [i] * data [i * 2] * data [i * 3];