viewgit/index.php:465 Only variables should be passed by reference [2048]
viewgit/index.php:466 Non-static method GeSHi::get_language_name_from_extension() should not be called statically [2048]
SUBROUTINE filter_and_downsample(output, samples, downsample, fb_filter, n, m) IMPLICIT NONE ! Variabili INTEGER m, n DOUBLE PRECISION, DIMENSION(n) :: samples DOUBLE PRECISION, DIMENSION(m) :: fb_filter INTEGER downsample INTEGER k, i, s DOUBLE PRECISION, DIMENSION(n/downsample) :: output ! Dichiariamo come vogliamo usare le variabili per l'interfaccia ! python. ! !F2PY INTENT(IN) :: samples !F2PY INTENT(IN) :: fb_filter !F2PY INTENT(IN) :: downsample !F2PY INTENT(HIDE) :: n !F2PY INTENT(HIDE) :: m !F2PY INTENT(OUT) :: output ! Cominciamo a filtrare s = 1 ! Applichiamo il filtro al sample k-esimo DO k = 1,n,downsample output(s) = 0 i = 0 DO WHILE( i < m .and. i < k ) output(s) = output(s) + fb_filter(i + 1)*samples(k - i) i = i + 1 END DO ! Passiamo ai prossimi sample s = s + 1 END DO END SUBROUTINE SUBROUTINE upsample_and_filter(output, samples, upsample, fb_filter, n, m) ! dichiarazioni INTEGER :: m,n, upsample, i,j,s DOUBLE PRECISION, DIMENSION(n) :: samples DOUBLE PRECISION, DIMENSION(m) :: fb_filter DOUBLE PRECISION, DIMENSION(upsample * n) :: output ! Esportiamo le variabili per l'interfaccia python. ! !F2PY INTENT(IN) samples !F2PY INTENT(IN) fb_filter !F2PY INTENT(IN) upsample !F2PY INTENT(HIDE) m !F2PY INTENT(HIDE) n !F2PY INTENT(OUT) output s = 1 DO i = 1, n ! Calcolo l'elemento in posizione s e s+1 output(s) = 0 output(s+1) = 0 j = 0 ! In questo ciclo calcoliamo la convoluzione del filtro ! con il vettore upsampled sfruttando l'informazione che ! nei posti dispari c'รจ solo 0. DO WHILE(j < m .and. j < s) output(s) = output(s) + samples(i - j/2) * fb_filter(j + 1) output(s + 1) = output(s + 1) + samples(i - j/2) * fb_filter(j + 2) j = j + 2 END DO s = s + 2 END DO END SUBROUTINE