# This file was created automatically by SWIG.
# Don't modify this file, modify the SWIG interface instead.
# This file is compatible with both classic and new-style classes.
import _sum
def _swig_setattr(self,class_type,name,value):
    if (name == "this"):
        if isinstance(value, class_type):
            self.__dict__[name] = value.this
            if hasattr(value,"thisown"): self.__dict__["thisown"] = value.thisown
            del value.thisown
            return
    method = class_type.__swig_setmethods__.get(name,None)
    if method: return method(self,value)
    self.__dict__[name] = value

def _swig_getattr(self,class_type,name):
    method = class_type.__swig_getmethods__.get(name,None)
    if method: return method(self)
    raise AttributeError,name

import types
try:
    _object = types.ObjectType
    _newclass = 1
except AttributeError:
    class _object : pass
    _newclass = 0


class gsl_sum_levin_u_workspace(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, gsl_sum_levin_u_workspace, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, gsl_sum_levin_u_workspace, name)
    def __init__(self,*args,**kwargs):
        _swig_setattr(self, gsl_sum_levin_u_workspace, 'this', apply(_sum.new_levin,args, kwargs))
        _swig_setattr(self, gsl_sum_levin_u_workspace, 'thisown', 1)
    def __del__(self, destroy= _sum.delete_gsl_sum_levin_u_workspace):
        try:
            if self.thisown: destroy(self)
        except: pass
    def accel(*args, **kwargs): return apply(_sum.gsl_sum_levin_u_workspace_accel,args, kwargs)
    def get_terms_used(*args, **kwargs): return apply(_sum.gsl_sum_levin_u_workspace_get_terms_used,args, kwargs)
    def sum_plain(*args, **kwargs): return apply(_sum.gsl_sum_levin_u_workspace_sum_plain,args, kwargs)
    def __repr__(self):
        return "<C gsl_sum_levin_u_workspace instance at %s>" % (self.this,)

class gsl_sum_levin_u_workspacePtr(gsl_sum_levin_u_workspace):
    def __init__(self,this):
        _swig_setattr(self, gsl_sum_levin_u_workspace, 'this', this)
        if not hasattr(self,"thisown"): _swig_setattr(self, gsl_sum_levin_u_workspace, 'thisown', 0)
        _swig_setattr(self, gsl_sum_levin_u_workspace,self.__class__,gsl_sum_levin_u_workspace)
_sum.gsl_sum_levin_u_workspace_swigregister(gsl_sum_levin_u_workspacePtr)

class gsl_sum_levin_utrunc_workspace(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, gsl_sum_levin_utrunc_workspace, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, gsl_sum_levin_utrunc_workspace, name)
    def __init__(self,*args,**kwargs):
        _swig_setattr(self, gsl_sum_levin_utrunc_workspace, 'this', apply(_sum.new_levin_utrunc,args, kwargs))
        _swig_setattr(self, gsl_sum_levin_utrunc_workspace, 'thisown', 1)
    def __del__(self, destroy= _sum.delete_gsl_sum_levin_utrunc_workspace):
        try:
            if self.thisown: destroy(self)
        except: pass
    def accel(*args, **kwargs): return apply(_sum.gsl_sum_levin_utrunc_workspace_accel,args, kwargs)
    def get_terms_used(*args, **kwargs): return apply(_sum.gsl_sum_levin_utrunc_workspace_get_terms_used,args, kwargs)
    def sum_plain(*args, **kwargs): return apply(_sum.gsl_sum_levin_utrunc_workspace_sum_plain,args, kwargs)
    def __repr__(self):
        return "<C gsl_sum_levin_utrunc_workspace instance at %s>" % (self.this,)

class gsl_sum_levin_utrunc_workspacePtr(gsl_sum_levin_utrunc_workspace):
    def __init__(self,this):
        _swig_setattr(self, gsl_sum_levin_utrunc_workspace, 'this', this)
        if not hasattr(self,"thisown"): _swig_setattr(self, gsl_sum_levin_utrunc_workspace, 'thisown', 0)
        _swig_setattr(self, gsl_sum_levin_utrunc_workspace,self.__class__,gsl_sum_levin_utrunc_workspace)
_sum.gsl_sum_levin_utrunc_workspace_swigregister(gsl_sum_levin_utrunc_workspacePtr)


