"""Utility functions for quantum entanglement data processing."""

# Country name standardization
country_conversion = {
    'usa': 'USA',
    'united states': 'USA',
    'uk': 'UK',
    'united kingdom': 'UK',
    'england': 'UK',
}

# Institution name standardization
institution_conversion = {
    'Massachusetts Institute of Technology': 'MIT',
    'University of Oxford': 'Oxford',
}

# Lab type categories
lab_types = ['University', 'Government', 'Research Institute', 'Private']

# Photon source types
source_types = ['SPDC', 'PDC', 'Quantum Dot', 'Atomic Cascade']

# Detector types
detector_types = ['APD', 'SNSPD', 'PMT', 'SPAD']

# Measurement method types
measurement_methods = ['Coincidence', 'Homodyne', 'Heterodyne', 'Tomography']

# Country abbreviations
country_abbrev = {
    'USA': 'US',
    'UK': 'GB',
    'China': 'CN',
    'Germany': 'DE',
    'Italy': 'IT',
    'France': 'FR',
    'South Korea': 'KR',
    'Brazil': 'BR',
    'Japan': 'JP',
    'Australia': 'AU',
    'Sweden': 'SE',
    'Israel': 'IL',
    'Spain': 'ES',
    'Netherlands': 'NL',
    'Denmark': 'DK',
    'Poland': 'PL',
    'Ireland': 'IE',
    'Russia': 'RU',
    'Singapore': 'SG',
    'India': 'IN',
    'Switzerland': 'CH',
    'Canada': 'CA',
    'Czech Republic': 'CZ',
    'Taiwan': 'TW',
    'Pakistan': 'PK',
    'Egypt': 'EG',
    'Portugal': 'PT',
    'Mexico': 'MX',
    'Norway': 'NO',
    'Bangladesh': 'BD',
    'Greece': 'GR',
    'Slovakia': 'SK',
}

# Country populations (in millions, approximate)
country_populations = {
    'USA': 331,
    'UK': 67,
    'China': 1444,
    'Germany': 83,
    'Italy': 60,
    'France': 65,
    'South Korea': 52,
    'Brazil': 213,
    'Japan': 126,
    'Australia': 26,
    'Sweden': 10,
    'Israel': 9,
    'Spain': 47,
    'Netherlands': 17,
    'Denmark': 6,
    'Poland': 38,
    'Ireland': 5,
    'Russia': 144,
    'Singapore': 6,
    'India': 1380,
    'Switzerland': 9,
    'Canada': 38,
    'Czech Republic': 11,
    'Taiwan': 24,
    'Pakistan': 225,
    'Egypt': 102,
    'Portugal': 10,
    'Mexico': 129,
    'Norway': 5,
    'Bangladesh': 165,
    'Greece': 11,
    'Slovakia': 5,
}
