# Path: support/profiling.py
# def profiling_name(name):
#     """
#     A class decorator that sets the @p name that will show up in profiles
#     generated with the @c cProfile module.
#     
#     Usage example:
#     @code
#     @local_method_names
#     @profiling_name( "GF<{_size}>" )
#     class FiniteField( Field, metaclass=template( "_size" ) ):
#         ...
#     @endcode
#     
#     @param name    A string that contains the class name (which is usually
#                    shorter than the original name).  For template classes, the
#                    string may contain format-string variables for the
#                    parameters.
#     
#     @note  The function requires the @c local_method_name() decorator to show
#            an effect. 
#     
#     @see   The sources of rings.quotients.naive.QuotientRing for a usage
#            example and support.types.template() for information about template
#            classes.
#     """
#     def class_wrapper(cls):
#         setattr(cls, "__profiling_name__", name)
#         return cls
#     return class_wrapper


from support.profiling import profiling_name
# -*- coding: utf-8 -*-
# Copyright (c) 2010--2012  Peter Dinges <pdinges@acm.org>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.


"""
A wrapper that extends Python's built-in integer type @c int with the expected
ring interface.

@package   rings.integers.naive
@author    Peter Dinges <pdinges@acm.org>
"""



# Path: support/profiling.py
# def profiling_name(name):
#     """
#     A class decorator that sets the @p name that will show up in profiles
#     generated with the @c cProfile module.
#     
#     Usage example:
#     @code
#     @local_method_names
#     @profiling_name( "GF<{_size}>" )
#     class FiniteField( Field, metaclass=template( "_size" ) ):
#         ...
#     @endcode
#     
#     @param name    A string that contains the class name (which is usually
#                    shorter than the original name).  For template classes, the
#                    string may contain format-string variables for the
#                    parameters.
#     
#     @note  The function requires the @c local_method_name() decorator to show
#            an effect. 
#     
#     @see   The sources of rings.quotients.naive.QuotientRing for a usage
#            example and support.types.template() for information about template
#            classes.
#     """
#     def class_wrapper(cls):
#         setattr(cls, "__profiling_name__", name)
#         return cls
#     return class_wrapper


# Path: rings/integers/naive.py
from support.profiling import profiling_name

# -*- coding: utf-8 -*-
# Copyright (c) 2010--2012  Peter Dinges <pdinges@acm.org>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.


"""
A wrapper that extends Python's built-in integer type @c int with the expected
ring interface.

@package   rings.integers.naive
@author    Peter Dinges <pdinges@acm.org>
"""



@profiling_name("Z")