Exemplo n.º 1
0
def compute_datashape(op, operands, kwargs):
    dshape = broadcast(*operands)

    if isinstance(op, ops.ReductionOp):
        if kwargs.get("axis", None):
            raise NotImplemented("axis")

        dshape = DataShape([coretypes.extract_measure(dshape)])

    return dshape
Exemplo n.º 2
0
def compute_datashape(op, operands, kwargs):
    dshape = broadcast(*operands)

    if isinstance(op, ops.ReductionOp):
        if kwargs.get("axis", None):
            raise NotImplemented("axis")

        dshape = DataShape([coretypes.extract_measure(dshape)])

    return dshape
Exemplo n.º 3
0
def broadcast(*operands):
    types = [_get_datashape(op) for op in operands if op is not None]
    shapes = []
    for t in types:
        try:
            shapes.append(coretypes.extract_dims(t))
        except coretypes.NotNumpyCompatible:
            pass

    # TODO: broadcasting
    datashapes = [coretypes.to_numpy(coretypes.extract_measure(ds)) for ds in types]
    type = coretypes.promote_cvals(*datashapes)
    if not shapes:
        return type
    return DataShape(shapes[0] + (type,))
Exemplo n.º 4
0
def broadcast(*operands):
    types = [_get_datashape(op) for op in operands if op is not None]
    shapes = []
    for t in types:
        try:
            shapes.append(coretypes.extract_dims(t))
        except coretypes.NotNumpyCompatible:
            pass

    # TODO: broadcasting
    datashapes = [
        coretypes.to_numpy(coretypes.extract_measure(ds)) for ds in types
    ]
    type = coretypes.promote_cvals(*datashapes)
    if not shapes:
        return type
    return DataShape(shapes[0] + (type, ))
Exemplo n.º 5
0
def test_deconstruct():
    ds = dshape('1, 2, 3, int32')

    extract_dims(ds) == (1,2,3)
    extract_measure(ds) == blaze.int32
Exemplo n.º 6
0
    def test_deconstruct(self):
        ds = dshape('1, 2, 3, int32')

        self.assertEqual(extract_dims(ds), (1,2,3))
        self.assertEqual(extract_measure(ds), blaze.int32)
Exemplo n.º 7
0
def test_deconstruct():
    ds = dshape('1, 2, 3, int32')

    extract_dims(ds) == (1, 2, 3)
    extract_measure(ds) == blaze.int32
Exemplo n.º 8
0
    def test_deconstruct(self):
        ds = dshape('1, 2, 3, int32')

        self.assertEqual([int(x) for x in extract_dims(ds)], [1,2,3])
        self.assertEqual(extract_measure(ds), blaze.int32)