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]

  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. #
  4. # Questo script genera il frattale di newton
  5. # associato al polinomio x^alpha - 1; Può essere
  6. # divertente cambiare alpha ed eventualemnte
  7. # anche il numero di pixel dell'immagine.
  8. #
  9.  
  10. def GetNewtonConvergenceSpeed(z, maxit = 255, eps = 10e-11, alpha = 3):
  11. """
  12. Ritorna, dato un numero complesso z ed un eps > 0, il numero
  13. di iterazioni necessarie (del metodo di Newton) perché
  14. |f(x_k)| < eps, oppure maxit se dopo maxit iterazioni
  15. non si è ancora raggiunta la precisione desiderata.
  16. """
  17.  
  18. fz = pow(z, alpha) - 1
  19. iterations = 0
  20.  
  21. while (abs(fz) > eps and iterations < maxit):
  22.  
  23. # Usiamo una var temporanea per non dover
  24. # ricalcolare le parti di comuni di funzione
  25. # e derivata.
  26. t = pow(z, alpha - 1)
  27. fz = t * z - 1
  28. fpz = alpha * t
  29.  
  30.  
  31. # Questo per prevenire la divisione per zero
  32. # (tanto la nostra derivata si annulla solo lì)
  33. if (fpz == 0):
  34. return maxit
  35.  
  36. z = z - fz / fpz
  37. iterations += 1
  38.  
  39. return iterations
  40.  
  41. def Newton(size = 200):
  42. """
  43. Calcola la velocità di convergenza su una rete di punti
  44. size x size sul quadrato di [-2,2]^2 attorno all'origine
  45. del piano complesso. La salva poi in un'immagine dal nome
  46. newton.pnm
  47. """
  48.  
  49. # Delta è l'ampiezza dell'intervallo fratto il numero di
  50. # divisioni - 1
  51. delta = 4 / float(size - 1)
  52.  
  53. # Creiamo gli indici su cui iterare
  54. x_range = xrange(0 , size)
  55. y_range = x_range
  56.  
  57.  
  58. # Apriamo il file dove salveremo il nostro lavoro
  59. # e scriviamo l'intestazione del file PNM.
  60. f = open("newton.pnm", 'w')
  61. f.write("P3\n")
  62. f.write(str(size) + " " + str(size) + "\n")
  63. f.write("255\n")
  64.  
  65. # Scriviamo la matrice su file
  66. for x in x_range:
  67. for y in y_range:
  68. value = GetNewtonConvergenceSpeed(complex(-2 + x * delta,
  69. -2 + y * delta))
  70. f.write( str(3 * value) + " " +
  71. str(5 * value) + " " +
  72. str(9 * value) + "\n")
  73. f.close ()
  74.  
  75.  
  76. if __name__ == "__main__":
  77.  
  78. # Creiamo un'immagine 1024px x 1024px.
  79. Newton (1024)