Revision 23:0e67ed2777e9 CepstrumPitchTracker.cpp

View differences:

CepstrumPitchTracker.cpp
671 671
	}
672 672
    }
673 673

  
674
    static unsigned int tableSize = 0;
675
    static int *table = 0;
674
    int *table = new int[n];
676 675

  
677
    if (tableSize != n) {
676
    for (i = 0; i < n; ++i) {
677
	
678
        m = i;
678 679

  
679
	delete[] table;
680
        for (j = k = 0; j < bits; ++j) {
681
            k = (k << 1) | (m & 1);
682
            m >>= 1;
683
        }
680 684

  
681
	table = new int[n];
682

  
683
	for (i = 0; i < n; ++i) {
684
	
685
	    m = i;
686

  
687
	    for (j = k = 0; j < bits; ++j) {
688
		k = (k << 1) | (m & 1);
689
		m >>= 1;
690
	    }
691

  
692
	    table[i] = k;
693
	}
694

  
695
	tableSize = n;
685
        table[i] = k;
696 686
    }
697 687

  
698 688
    if (ii) {

Also available in: Unified diff