Mentions légales du service

Skip to content
Snippets Groups Projects
Commit 6911d6b0 authored by hhakim's avatar hhakim
Browse files

Update pyfaust projectors sp, splin etc. to set them as real functors...

Update pyfaust projectors sp, splin etc. to set them as real functors (callable objects), allowing to access the underlying constraint as an attribute.
parent df3c91dc
No related branches found
No related tags found
No related merge requests found
...@@ -172,69 +172,69 @@ class ConstraintInt(ConstraintGeneric): ...@@ -172,69 +172,69 @@ class ConstraintInt(ConstraintGeneric):
self._num_cols, self._cons_value, self._num_cols, self._cons_value,
self.normalized, self.pos) self.normalized, self.pos)
def sp(shape, k, normalized=True, pos=False): class proj_gen(ABC):
"""
"""
c = ConstraintInt('sp', shape[0], shape[1], k, normalized, pos)
def proj(M):
return c.project(M)
return proj
def splin(shape, k, normalized=True, pos=False): @abstractmethod
""" def __init__(self):
""" pass
c = ConstraintInt('splin', shape[0], shape[1], k, normalized, pos)
def proj(M):
return c.project(M)
return proj
def spcol(shape, k, normalized=True, pos=False): def __call__(self, M):
""" return self.constraint.project(M)
"""
c = ConstraintInt('spcol', shape[0], shape[1], k, normalized, pos)
def proj(M):
return c.project(M)
return proj
def splincol(shape, k, normalized=True, pos=False): class sp(proj_gen):
"""
"""
c = ConstraintInt('splincol', shape[0], shape[1], k, normalized, pos)
def proj(M):
return c.project(M)
return proj
def supp(S, normalized=True, pos=False): def __init__(self, shape, k, normalized=True, pos=False):
""" """
""" """
c = ConstraintMat('supp', S, normalized, pos) self.constraint = ConstraintInt('sp', shape[0], shape[1], k, normalized, pos)
def proj(M):
return c.project(M)
return proj
def const(C, normalized=False): class splin(proj_gen):
"""
"""
c = ConstraintMat('const', C, normalized, pos=False)
def proj(M):
return c.project(M)
return proj
def normcol(shape, normval, normalized=False, pos=False): def __init__(self, shape, k, normalized=True, pos=False):
""" """
""" """
c = ConstraintReal('normcol', shape[0], shape[1], normval, normalized, pos) self.constraint = ConstraintInt('splin', shape[0], shape[1], k, normalized, pos)
def proj(M):
return c.project(M)
return proj
def normlin(shape, normval, normalized=False, pos=False): class spcol(proj_gen):
"""
""" def __init__(self, shape, k, normalized=True, pos=False):
c = ConstraintReal('normlin', shape[0], shape[1], normval, normalized, pos) """
def proj(M): """
return c.project(M) self.constraint = ConstraintInt('spcol', shape[0], shape[1], k, normalized, pos)
return proj
class splincol(proj_gen):
def __init__(self, shape, k, normalized=True, pos=False):
"""
"""
self.constraint = ConstraintInt('splincol', shape[0], shape[1], k, normalized, pos)
class supp(proj_gen):
def __init__(self, S, normalized=True, pos=False):
"""
"""
self.constraint = ConstraintMat('supp', S, normalized, pos)
class const(proj_gen):
def __init__(self, C, normalized=False):
"""
"""
self.constraint = ConstraintMat('const', C, normalized, pos=False)
class normcol(proj_gen):
def __init__(self, shape, normval, normalized=False, pos=False):
"""
"""
self.constraint = ConstraintReal('normcol', shape[0], shape[1], normval, normalized, pos)
class normlin(proj_gen):
def __init__(self, shape, normval, normalized=False, pos=False):
"""
"""
self.constraint = ConstraintReal('normlin', shape[0], shape[1], normval, normalized, pos)
class ConstraintMat(ConstraintGeneric): class ConstraintMat(ConstraintGeneric):
""" """
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment