
'''simple docstring'''





import math
from decimal import Decimal, getcontext





def     snake_case							(						UpperCAmelCase = 4_0_0_0_0_0_0		)->     int:







      """simple docstring"""

      try:
            __A    		=     int(UpperCAmelCase		)
      except (TypeError, ValueError):
            raise TypeError('Parameter n must be int or castable to int.'		)
      if n <= 0:
            raise ValueError('Parameter n must be greater than or equal to one.'		)
      __A    		=     1_0_0
      __A    		=     (Decimal(5		) ** Decimal(0.5		) + 1) / Decimal(2		)

      __A    		=     (math.floor(math.log(n * (phi + 2) ,					UpperCAmelCase		) - 1		) // 3) * 3 + 2
      __A    		=     Decimal(round(phi ** Decimal(index + 1		)		)		) / (phi + 2)
      __A    		=     num // 2
      return int(UpperCAmelCase		)


if __name__ == "__main__":
 print(f'''{solution() = }''')








'''simple docstring'''





import math
import os

import cva
import numpy as np

a__						:				List[Any]           =    255.0





def     snake_case							(						UpperCAmelCase ,					UpperCAmelCase		)->     float:







      """simple docstring"""
      __A    		=     np.mean((original - contrast) ** 2		)
      if mse == 0:
            return 1_0_0

      return 2_0 * math.logaa(PIXEL_MAX / math.sqrt(UpperCAmelCase		)		)





def     snake_case							(						)->     None:







      """simple docstring"""
      __A    		=     os.path.dirname(os.path.realpath(UpperCAmelCase		)		)
      # Loading images (original image and compressed image)
      __A    		=     cva.imread(os.path.join(UpperCAmelCase ,					'image_data/original_image.png'		)		)
      __A    		=     cva.imread(os.path.join(UpperCAmelCase ,					'image_data/compressed_image.png'		) ,					1		)

      __A    		=     cva.imread(os.path.join(UpperCAmelCase ,					'image_data/PSNR-example-base.png'		)		)
      __A    		=     cva.imread(
          os.path.join(UpperCAmelCase ,					'image_data/PSNR-example-comp-10.jpg'		) ,					1		)

      # Value expected: 29.73dB
      print('-- First Test --'		)
      print(f'PSNR value is {peak_signal_to_noise_ratio(UpperCAmelCase ,					UpperCAmelCase		)} dB'		)

      # # Value expected: 31.53dB (Wikipedia Example)
      print('\n-- Second Test --'		)
      print(f'PSNR value is {peak_signal_to_noise_ratio(UpperCAmelCase ,					UpperCAmelCase		)} dB'		)


if __name__ == "__main__":
 main()






