49 from daal.data_management
import (
50 HomogenNumericTable, MergedNumericTable, BlockDescriptor, readWrite, readOnly
53 utils_folder = os.path.realpath(os.path.abspath(os.path.dirname(os.path.dirname(__file__))))
54 if utils_folder
not in sys.path:
55 sys.path.insert(0, utils_folder)
56 from utils
import printArray
59 if __name__ ==
"__main__":
61 print(
"Merged numeric table example\n")
70 (0.0, 0.1, 0.2, 0.3, 0.4),
71 (1.0, 1.1, 1.2, 1.3, 1.4),
72 (2.0, 2.1, 2.2, 2.3, 2.4),
73 (3.0, 3.1, 3.2, 3.3, 3.4),
74 (4.0, 4.1, 4.2, 4.3, 4.4),
78 (0.5, 0.6, 0.7, 0.8, 0.9, 1),
79 (1.5, 1.6, 1.7, 1.8, 1.9, 2),
80 (2.5, 2.6, 2.7, 2.8, 2.9, 3),
81 (3.5, 3.6, 3.7, 3.8, 3.9, 4),
82 (4.5, 4.6, 4.7, 4.8, 4.9, 5),
86 dataTable1 = HomogenNumericTable(data1)
87 dataTable2 = HomogenNumericTable(data2)
90 dataTable = MergedNumericTable()
91 dataTable.addNumericTable(dataTable1)
92 dataTable.addNumericTable(dataTable2)
94 block = BlockDescriptor()
97 dataTable.getBlockOfRows(firstReadRow, nRead, readWrite, block)
99 block.getArray(), nFeatures1 + nFeatures2, block.getNumberOfRows(),
100 block.getNumberOfColumns(),
"Print 1 row from merged numeric table as double:"
104 row = block.getArray()
105 for i
in range(nFeatures1 + nFeatures2):
106 row[0][i] *= row[0][i]
107 dataTable.releaseBlockOfRows(block)
110 dataTable1.getBlockOfRows(firstReadRow, nRead, readOnly, block)
112 block.getArray(), nFeatures1, block.getNumberOfRows(),
113 block.getNumberOfColumns(),
"Print 1 row from first homogen numeric table as double:"
115 dataTable1.releaseBlockOfRows(block)
117 dataTable2.getBlockOfRows(firstReadRow, nRead, readOnly, block)
119 block.getArray(), nFeatures2, block.getNumberOfRows(),
120 block.getNumberOfColumns(),
"Print 1 row from second homogen numeric table as double:"
122 dataTable2.releaseBlockOfRows(block)