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,))
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, ))
def test_deconstruct(): ds = dshape('1, 2, 3, int32') extract_dims(ds) == (1,2,3) extract_measure(ds) == blaze.int32
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)
def test_deconstruct(): ds = dshape('1, 2, 3, int32') extract_dims(ds) == (1, 2, 3) extract_measure(ds) == blaze.int32
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)