char* calculeCle(int tailleCle, char* message) { char* cle = (char*)malloc(tailleCle*sizeof(char)); int* freq = (int*)malloc(26*sizeof(int)); int max, indiceMax, i, j, nbLettre; char c; max = 0; for(i=0;i<tailleCle;i++) { nbLettre = frequence(freq, message, i, tailleCle); max = 0; for(j=0;j<26;j++) { if(freq[j] > max) { max = freq[j]; indiceMax = j; } } c = 'A'+(('A'+indiceMax-'E')%26+26)%26; cle[i] = c; } return cle; }
FMOD_RESULT F_CALLBACK cb_globale (FMOD_SOUND *sound, void *data, unsigned int datalen) { unsigned int count; static float t1 = 0; signed short *stereo16bitbuffer = (signed short *)data; for (count=0; count<datalen>>2; count++) { freq = frequence(t1) ; *stereo16bitbuffer++ = (signed short) 0 ; *stereo16bitbuffer++ = (signed short) 0 ; t1 += 0 ; } return FMOD_OK; }
void analyze(){ char c; printf("Encoded text :\n%s\n", text); textSize = strlen(text); int i; for (i = 0; i < textSize; ++i){ freq[charToInt(text[i])]++; } populate(); bubbleSort(); for(c = 25; c>=0; c--){ printf("%c ~> %lf\n", ordPrioChar[c], frequence(ordPrioChar[c])); } }
float indiceCoincidence(char* message, int debut, int incr) { int i, nbLettre; int* tabFreq = (int*)malloc(26*sizeof(int)); float ic = 0.0; float ni, n; nbLettre = frequence(tabFreq, message, debut, incr); ni = 0.0; for(i=0;i<26;i++) { ni = ni+ tabFreq[i]*(tabFreq[i]-1); } n = nbLettre*(nbLettre-1); ic = ni/n; return ic; }
void spectre::decaler(int indice) { assert(frequence(std::abs(indice)) <= rate() / 2); double sens = indice >= 0; // La contrepéterie, c'est l'art de décaler les sons. if(sens) for(int i=size()-1; i >= 0; --i) { size_t dest = i + indice; if(dest >= 0 && dest < size()) data()[dest] = data()[i]; if(i < indice || i > (int)size() - indice) data()[i] = 0; } else for(size_t i=0; i < size(); ++i) { size_t dest = i + indice; if(dest >= 0 && dest < size()) data()[dest] = data()[i]; if((int)i < indice || (int)i > (int)size() - indice) data()[i] = 0; } }