<commit_before>"""
pyshtools
=========

pyshtools is an archive of scientific routines that can be used to perform 
spherical harmonic transforms and reconstructions, rotations of data expressed 
in spherical harmonics, and multitaper spectral analyses on the sphere.

This module makes use of Python-wrapped Fortran 95 routines. For further 
information, consult the web documentation at

   http://shtools.ipgp.fr/

and the GitHub project page at

   https://github.com/SHTOOLS/SHTOOLS
"""

from __future__ import absolute_import as _absolute_import
from __future__ import division as _division
from __future__ import print_function as _print_function
import numpy as _np

__version__ = '3.3-beta'

#----------------------------------------------------------------------
#---- Define two Python functions that replace their Fortran 
#---- equivalents that use different indexing conventions.
#----------------------------------------------------------------------
def PlmIndex(l,m):
    return (l * (l + 1)) // 2 + m

def YilmIndexVector(l,m):
    return l**2 + (i-1)*l + m

#-----------------------------------------------------------------------
#---- Define a subclass of ndarray that adds an info() method for 
#---- displaying documentation about a pyshtools constant.
#-----------------------------------------------------------------------
class _ndarrayinfo(_np.ndarray):
    """To view information about a pyshtools constant, use
    
    pyshtools.constant.constantname.info()
    """
    def __new__(cls, input_array, infostring=None):
        # Input array is an already formed ndarray instance
        obj = _np.asarray(input_array).view(cls)
        obj._infostring = infostring
        return obj

    def __array_finalize__(self, obj):
        if obj is None: return
        self._infostring = getattr(obj, '_infostring', None)
<commit_msg>Fix internal python function YilmIndexVector that was missing a required input attribute<commit_after>"""
pyshtools
=========

pyshtools is an archive of scientific routines that can be used to perform 
spherical harmonic transforms and reconstructions, rotations of data expressed 
in spherical harmonics, and multitaper spectral analyses on the sphere.

This module makes use of Python-wrapped Fortran 95 routines. For further 
information, consult the web documentation at

   http://shtools.ipgp.fr/

and the GitHub project page at

   https://github.com/SHTOOLS/SHTOOLS
"""

from __future__ import absolute_import as _absolute_import
from __future__ import division as _division
from __future__ import print_function as _print_function
import numpy as _np

__version__ = '3.3-beta'

#----------------------------------------------------------------------
#---- Define two Python functions that replace their Fortran 
#---- equivalents that use different indexing conventions.
#----------------------------------------------------------------------
def PlmIndex(l,m):
    return (l * (l + 1)) // 2 + m

def YilmIndexVector(i,l,m):
    return l**2 + (i-1)*l + m

#-----------------------------------------------------------------------
#---- Define a subclass of ndarray that adds an info() method for 
#---- displaying documentation about a pyshtools constant.
#-----------------------------------------------------------------------
class _ndarrayinfo(_np.ndarray):
    """To view information about a pyshtools constant, use
    
    pyshtools.constant.constantname.info()
    """
    def __new__(cls, input_array, infostring=None):
        # Input array is an already formed ndarray instance
        obj = _np.asarray(input_array).view(cls)
        obj._infostring = infostring
        return obj

    def __array_finalize__(self, obj):
        if obj is None: return
        self._infostring = getattr(obj, '_infostring', None)

{'fraction_non_alphanumeric': 0.22225151595043502, 'fraction_numerical': 0.004218296862641709, 'mean_word_length': 2.0303514376996805, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6398938', 'n_tokens_mistral': 992, 'n_tokens_neox': 943, 'n_words': 349}