示例#1
0
文件: max1map.py 项目: rusi/mcdp
    def __init__(self, R, value):
        if do_extra_checks():
            R.belongs(value)

        Map.__init__(self, R, R)
        self.value = value
        self.R = R
示例#2
0
 def __init__(self, A, B, factor):
     check_isinstance(A, (Rcomp, RcompUnits))
     check_isinstance(B, (Rcomp, RcompUnits))
     Map.__init__(self, A, B)
     self.A = A
     self.B = B
     self.factor = factor
示例#3
0
 def __init__(self, fs):
     fs = tuple(fs)
     self.fs = fs
     mcdp_dev_warning('add promotion to SpaceProduct')
     dom = PosetProduct(tuple(fi.get_domain() for fi in fs))
     cod = PosetProduct(tuple(fi.get_codomain() for fi in fs))
     Map.__init__(self, dom=dom, cod=cod)
示例#4
0
文件: max1map.py 项目: rusi/mcdp
    def __init__(self, F, value):
        if do_extra_checks():
            F.belongs(value)

        Map.__init__(self, F, F)
        self.value = value
        self.F = F
示例#5
0
    def __init__(self, F, value):
        if do_extra_checks():
            F.belongs(value)

        Map.__init__(self, F, F)
        self.value = value
        self.F = F
示例#6
0
    def __init__(self, R, value):
        if do_extra_checks():
            R.belongs(value)

        Map.__init__(self, R, R)
        self.value = value
        self.R = R
示例#7
0
 def __init__(self, c):
     check_isinstance(c, int)
     if c == 0:
         raise ValueError(c)
     cod = dom = Nat()
     Map.__init__(self, dom, cod)
     self.c = c
示例#8
0
文件: dp_multvalue.py 项目: rusi/mcdp
 def __init__(self, c):
     check_isinstance(c, int)
     if c == 0:
         raise ValueError(c)
     cod = dom = Nat()
     Map.__init__(self, dom, cod)
     self.c = c
示例#9
0
文件: product_map.py 项目: rusi/mcdp
 def __init__(self, fs):
     fs = tuple(fs)
     self.fs = fs
     mcdp_dev_warning('add promotion to SpaceProduct')
     dom = PosetProduct(tuple(fi.get_domain() for fi in fs))
     cod = PosetProduct(tuple(fi.get_codomain() for fi in fs))
     Map.__init__(self, dom=dom, cod=cod)
示例#10
0
 def __init__(self, P, c_value, c_space):
     c_space.belongs(c_value)
     check_isinstance(P, RcompUnits)
     check_isinstance(c_space, RcompUnits)
     self.c_value = c_value
     self.c_space = c_space
     self.c = express_value_in_isomorphic_space(c_space, c_value, P)
     Map.__init__(self, dom=P, cod=P)
示例#11
0
 def __init__(self, n):
     self.n = n
     N = Nat()
     dom = PosetProduct((N, ) * n)
     cod = N
     Map.__init__(self, dom=dom, cod=cod)
     self.top = cod.get_top()
     self.n = n
示例#12
0
 def __init__(self, n):
     self.n = n
     N = Nat()
     dom = PosetProduct((N,) * n)
     cod = N
     Map.__init__(self, dom=dom, cod=cod)
     self.top = cod.get_top()
     self.n = n
示例#13
0
 def __init__(self, c_value):
     dom = Rcomp()
     dom.belongs(c_value)
     cod = dom
     Map.__init__(self, dom=dom, cod=cod)
     self.c = c_value
     
     self.top = dom.get_top()
示例#14
0
文件: mult_value.py 项目: rusi/mcdp
 def __init__(self, F, R, unit, value):
     check_isinstance(unit, RcompUnits)
     check_isinstance(F, RcompUnits)
     check_isinstance(R, RcompUnits)
     dom = F
     cod = R
     self.value = value
     self.unit = unit
     Map.__init__(self, dom=dom, cod=cod)
示例#15
0
 def __init__(self, F, R, unit, value):
     check_isinstance(unit, RcompUnits)
     check_isinstance(F, RcompUnits)
     check_isinstance(R, RcompUnits)
     dom = F
     cod = R
     self.value = value
     self.unit = unit
     Map.__init__(self, dom=dom, cod=cod)
示例#16
0
    def __init__(self, Fs, R):
        """ Should be all Rcomp or all RcompUnits """
        for _ in Fs:
            check_isinstance(_, (Rcomp, RcompUnits))
        check_isinstance(R, (Rcomp, RcompUnits))

        self.F = dom = PosetProduct(Fs)
        self.R = cod = R
        Map.__init__(self, dom=dom, cod=cod)
示例#17
0
文件: dp_flatten.py 项目: rusi/mcdp
    def __init__(self, F, coords):
        try:
            R = get_R_from_F_coords(F, coords)
        except ValueError as e:  # pragma: no cover
            msg = 'Cannot create Mux'
            raise_wrapped(DPInternalError, e, msg, F=F, coords=coords)

        self.coords = coords
        Map.__init__(self, F, R)
示例#18
0
    def __init__(self, Fs, R):
        for _ in Fs:
            check_isinstance(_, RcompUnits)
        check_isinstance(R, RcompUnits)
        self.Fs = Fs
        self.R = R

        sum_dimensionality_works(Fs, R)

        dom = PosetProduct(self.Fs)
        cod = R

        Map.__init__(self, dom=dom, cod=cod)
示例#19
0
    def __init__(self, Fs, R):
        for _ in Fs:
            check_isinstance(_, RcompUnits)
        check_isinstance(R, RcompUnits)
        self.Fs = Fs
        self.R = R
        
        sum_dimensionality_works(Fs, R)
        
        dom = PosetProduct(self.Fs)
        cod = R

        Map.__init__(self, dom=dom, cod=cod)
示例#20
0
    def __init__(self, Fs, R):
        dom = PosetProduct(Fs)
        cod = R
        Map.__init__(self, dom=dom, cod=cod)

        tu = get_types_universe()
        self.subs = []
        target = Int()
        for F in Fs:
            # need F to be cast to Int
            F_to_Int, _ = tu.get_embedding(F, target)
            self.subs.append(F_to_Int)

        self.to_R, _ = tu.get_embedding(target, R)
示例#21
0
    def __init__(self, Fs, R):
        dom = PosetProduct(Fs)
        cod = R
        Map.__init__(self, dom=dom, cod=cod)

        tu = get_types_universe()
        self.subs = []
        target = Int()
        for F in Fs:
            # need F to be cast to Int
            F_to_Int, _ = tu.get_embedding(F, target)
            self.subs.append(F_to_Int)

        self.to_R, _ = tu.get_embedding(target, R)
示例#22
0
文件: mult_value.py 项目: rusi/mcdp
    def __init__(self, dom, cod, space, value):
        if isinstance(dom, RcompUnits):
            check_isinstance(cod, RcompUnits)
            check_isinstance(space, RcompUnits)
            # cod * space = dom
            check_mult_units_consistency(cod, space, dom)
        else:
            check_isinstance(dom, Rcomp)
            check_isinstance(cod, Rcomp)
            check_isinstance(space, Rcomp)

        space.belongs(value)
        self.value = value
        self.space = space
        # XXX: not sure about the units
        # assert (dom * space = cod)
        Map.__init__(self, dom, cod)
示例#23
0
 def __init__(self, dom, cod, space, value):
     if isinstance(dom, RcompUnits):
         check_isinstance(cod, RcompUnits)
         check_isinstance(space, RcompUnits)
         # cod * space = dom
         check_mult_units_consistency(cod, space, dom)
     else:
         check_isinstance(dom, Rcomp)
         check_isinstance(cod, Rcomp)
         check_isinstance(space, Rcomp)
          
     space.belongs(value)
     self.value = value
     self.space = space
     # XXX: not sure about the units
     # assert (dom * space = cod)
     Map.__init__(self, dom, cod)
示例#24
0
    def __init__(self, maps):
        """ 
            maps = [f, g, h]
            === h o g o f
            
            They are in order of application.
        """
        self.maps = tuple(maps)
        from mcdp_posets.types_universe import get_types_universe

        tu = get_types_universe()
        for i in range(len(maps)-1):
            first = maps[i]
            second =maps[i+1]
            cod1 = first.get_codomain()
            dom2 = second.get_domain()
            tu.check_equal(cod1, dom2)

        mcdp_dev_warning('Check that the composition makes sense')
        dom = self.maps[0].get_domain()
        cod = self.maps[-1].get_codomain()
        Map.__init__(self, dom=dom, cod=cod)
示例#25
0
    def __init__(self, maps):
        """ 
            maps = [f, g, h]
            === h o g o f
            
            They are in order of application.
        """
        self.maps = tuple(maps)
        from mcdp_posets.types_universe import get_types_universe

        tu = get_types_universe()
        for i in range(len(maps) - 1):
            first = maps[i]
            second = maps[i + 1]
            cod1 = first.get_codomain()
            dom2 = second.get_domain()
            tu.check_equal(cod1, dom2)

        mcdp_dev_warning('Check that the composition makes sense')
        dom = self.maps[0].get_domain()
        cod = self.maps[-1].get_codomain()
        Map.__init__(self, dom=dom, cod=cod)
示例#26
0
 def __init__(self, dom, cod):
     Map.__init__(self, dom=dom, cod=cod)
示例#27
0
 def __init__(self, f):
     from mcdp_posets.uppersets import UpperSets
     dom = UpperSets(f.get_domain())
     cod = UpperSets(f.get_codomain())
     self.f = f
     Map.__init__(self, dom=dom, cod=cod)
示例#28
0
 def __init__(self, cod, dom):
     # todo: check dom is Rcomp or Rcompunits
     Map.__init__(self, cod, dom)
示例#29
0
文件: dp_uncertain.py 项目: rusi/mcdp
 def __init__(self, F):
     F2 = PosetProduct((F, F))
     Map.__init__(self, dom=F, cod=F2)
     self.bottom = F.get_bottom()
示例#30
0
 def __init__(self, c_value):
     dom = Rcomp()
     dom.belongs(c_value)
     cod = dom
     Map.__init__(self, dom=dom, cod=cod)
     self.c_value = c_value
示例#31
0
文件: dp_multvalue.py 项目: rusi/mcdp
 def __init__(self):
     dom = cod = Nat()
     Map.__init__(self, dom=dom, cod=cod)
示例#32
0
文件: constant_map.py 项目: rusi/mcdp
 def __init__(self, dom, cod, value):
     cod.belongs(value)
     Map.__init__(self, dom, cod)
     self.value = value
示例#33
0
 def __init__(self, n):
     self.P = Nat()
     dom = PosetProduct( (self.P,) * n)
     cod = self.P
     Map.__init__(self, dom=dom, cod=cod)
     self.n = n
示例#34
0
 def __init__(self, n, P):
     dom = PosetProduct((P,) * n)
     cod = P
     Map.__init__(self, dom, cod)
     self.P = P
     self.n = n
示例#35
0
 def __init__(self, f):
     from mcdp_posets.uppersets import UpperSets
     dom = UpperSets(f.get_domain())
     cod = UpperSets(f.get_codomain())
     self.f = f
     Map.__init__(self, dom=dom, cod=cod)
示例#36
0
 def __init__(self):
     dom = Nat()
     cod = dom
     Map.__init__(self, dom, cod)
示例#37
0
 def __init__(self, dom, name):
     assert isinstance(dom, (Rcomp, RcompUnits))
     Map.__init__(self, dom, dom)
     self.name = name
示例#38
0
 def __init__(self):
     dom = cod = Nat()
     Map.__init__(self, dom=dom, cod=cod)
示例#39
0
 def __init__(self, cod, dom):
     # todo: check dom is Rcomp or Rcompunits
     Map.__init__(self, cod, dom)
示例#40
0
 def __init__(self, value):
     self.c = value
     dom = cod = Nat()
     dom.belongs(value)
     Map.__init__(self, dom, cod)
     self.top  = self.dom.get_top()
示例#41
0
    def __init__(self, cod, dom):
        Map.__init__(self, cod, dom)

        self.__name__ = 'Identity'
示例#42
0
 def __init__(self, n):
     self.n = n
     Map.__init__(self, Nat(), Nat())
示例#43
0
    def __init__(self, cod, dom):
        Map.__init__(self, cod, dom)

        self.__name__ = 'Identity'
示例#44
0
文件: dp_multvalue.py 项目: rusi/mcdp
 def __init__(self, dom, cod):
     Map.__init__(self, dom=dom, cod=cod)
示例#45
0
 def __init__(self, dom, cod):
     check_isinstance(dom, (Rcomp, RcompUnits))
     check_isinstance(cod, Nat)
     Map.__init__(self, dom, cod)
示例#46
0
 def __init__(self, dom, cod, value):
     cod.belongs(value)
     Map.__init__(self, dom, cod)
     self.value = value
示例#47
0
 def __init__(self, n):
     self.n = n
     Map.__init__(self, Nat(), Nat())
示例#48
0
 def __init__(self, f):
     from mcdp_posets import FiniteCollectionsInclusion
     dom = FiniteCollectionsInclusion(f.get_domain())
     cod = FiniteCollectionsInclusion(f.get_codomain())
     self.f = f
     Map.__init__(self, dom=dom, cod=cod)
示例#49
0
 def __init__(self, value):
     self.value = value
     self.N = Nat()
     self.N.belongs(value)
     Map.__init__(self, dom=self.N, cod=self.N)
示例#50
0
文件: join_map.py 项目: rusi/mcdp
 def __init__(self, n, P):
     dom = PosetProduct((P, ) * n)
     cod = P
     Map.__init__(self, dom, cod)
     self.P = P
     self.n = n
示例#51
0
文件: dp_uncertain.py 项目: rusi/mcdp
 def __init__(self, P):
     cod = PosetProduct((P, P))
     Map.__init__(self, dom=P, cod=cod)
     self.top = P.get_top()
示例#52
0
文件: dp_uncertain.py 项目: rusi/mcdp
 def __init__(self, F0):
     self.F0 = F0
     F = PosetProduct((F0, F0))
     Map.__init__(self, dom=F, cod=F)
示例#53
0
 def __init__(self, c):
     cod = dom = Nat()
     dom.belongs(c)
     self.c = c
     Map.__init__(self, dom, cod)
示例#54
0
 def __init__(self, dom, cod):
     check_isinstance(dom, (Rcomp, RcompUnits))
     check_isinstance(cod, Nat)
     Map.__init__(self, dom, cod)
示例#55
0
 def __init__(self, n):
     P = Rcomp()
     dom = PosetProduct((P, ) * n)
     cod = P
     self.n = n
     Map.__init__(self, dom, cod)