






import json
import os
import tempfile

import datasets
from utils import generate_example_dataset, get_duration


SCREAMING_SNAKE_CASE__		:       str   							=							50_00_00

SCREAMING_SNAKE_CASE__							, SCREAMING_SNAKE_CASE__		:       Union[str, Any]   							=							os.path.split(__file__)
SCREAMING_SNAKE_CASE__		:       Dict   							=							os.path.join(RESULTS_BASEPATH, """results""", RESULTS_FILENAME.replace(""".py""", """.json"""))





@get_duration
def    _lowerCamelCase	(	__lowerCamelCase					)   -> List[Any]:

     '''simple docstring'''
     UpperCAmelCase__			:     Optional[Any]										= dataset.select(range(0   ,       len(__lowerCamelCase					)   ,       2					)					)





@get_duration
def    _lowerCamelCase	(	__lowerCamelCase					)   -> int:

     '''simple docstring'''
     UpperCAmelCase__			:     str										= dataset.sort("""numbers"""					)





@get_duration
def    _lowerCamelCase	(	__lowerCamelCase					)   -> List[str]:

     '''simple docstring'''
     UpperCAmelCase__			:     Tuple										= dataset.shuffle()





@get_duration
def    _lowerCamelCase	(	__lowerCamelCase					)   -> Dict:

     '''simple docstring'''
     UpperCAmelCase__			:     Tuple										= dataset.train_test_split(0.1					)





@get_duration
def    _lowerCamelCase	(	__lowerCamelCase   ,       __lowerCamelCase=10					)   -> int:

     '''simple docstring'''
     for shard_id in range(__lowerCamelCase					):
          UpperCAmelCase__			:     str										= dataset.shard(__lowerCamelCase   ,       __lowerCamelCase					)





def    _lowerCamelCase	(	)   -> Optional[Any]:

     '''simple docstring'''
     UpperCAmelCase__			:     List[Any]										= {"""num examples""": SPEED_TEST_N_EXAMPLES}
     UpperCAmelCase__			:     Dict										= (select, sort, shuffle, train_test_split, shard)
     with tempfile.TemporaryDirectory() as tmp_dir:
          print("""generating dataset"""					)
          UpperCAmelCase__			:     Dict										= datasets.Features({"""text""": datasets.Value("""string"""					), """numbers""": datasets.Value("""float32"""					)}					)
          UpperCAmelCase__			:     Dict										= generate_example_dataset(
              os.path.join(__lowerCamelCase   ,       """dataset.arrow"""					)   ,       __lowerCamelCase   ,       num_examples=__lowerCamelCase					)
          print("""Functions"""					)
          for func in functions:
               print(func.__name__					)
               UpperCAmelCase__			:     Dict										= func(__lowerCamelCase					)

     with open(__lowerCamelCase   ,       """wb"""					) as f:
          f.write(json.dumps(__lowerCamelCase					).encode("""utf-8"""					)					)


if __name__ == "__main__":  # useful to run the profiler
      benchmark_indices_mapping()














import math
import os

import cva
import numpy as np

SCREAMING_SNAKE_CASE__		:       Optional[Any]   							=							255.0





def    _lowerCamelCase	(	__lowerCamelCase   ,       __lowerCamelCase					)   -> float:

     '''simple docstring'''
     UpperCAmelCase__			:     List[Any]										= np.mean((original - contrast) ** 2					)
     if mse == 0:
          return 100

     return 20 * math.logaa(PIXEL_MAX / math.sqrt(__lowerCamelCase					)					)





def    _lowerCamelCase	(	)   -> None:

     '''simple docstring'''
     UpperCAmelCase__			:     Union[str, Any]										= os.path.dirname(os.path.realpath(__lowerCamelCase					)					)
     # Loading images (original image and compressed image)
     UpperCAmelCase__			:     List[Any]										= cva.imread(os.path.join(__lowerCamelCase   ,       """image_data/original_image.png"""					)					)
     UpperCAmelCase__			:     Dict										= cva.imread(os.path.join(__lowerCamelCase   ,       """image_data/compressed_image.png"""					)   ,       1					)

     UpperCAmelCase__			:     Tuple										= cva.imread(os.path.join(__lowerCamelCase   ,       """image_data/PSNR-example-base.png"""					)					)
     UpperCAmelCase__			:     int										= cva.imread(
         os.path.join(__lowerCamelCase   ,       """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(__lowerCamelCase   ,       __lowerCamelCase					)} dB"					)

     # # Value expected: 31.53dB (Wikipedia Example)
     print("""\n-- Second Test --"""					)
     print(F"PSNR value is {peak_signal_to_noise_ratio(__lowerCamelCase   ,       __lowerCamelCase					)} dB"					)


if __name__ == "__main__":
      main()






