From bdd3941d566e6002dd9a2ebcde841364b1fefc69 Mon Sep 17 00:00:00 2001 From: louislepage Date: Thu, 22 Jun 2023 17:28:12 +0200 Subject: [PATCH 01/10] [SYSTEMDS-3544] added DenseBlockTrueBool for boolean matrix instead of bitset --- .../runtime/data/DenseBlockTrueBool.java | 234 ++++++++++++++++++ .../sysds/runtime/util/DataConverter.java | 7 + .../sysds/runtime/util/UtilFunctions.java | 7 + 3 files changed, 248 insertions(+) create mode 100644 src/main/java/org/apache/sysds/runtime/data/DenseBlockTrueBool.java diff --git a/src/main/java/org/apache/sysds/runtime/data/DenseBlockTrueBool.java b/src/main/java/org/apache/sysds/runtime/data/DenseBlockTrueBool.java new file mode 100644 index 00000000000..0bb2a68d3ce --- /dev/null +++ b/src/main/java/org/apache/sysds/runtime/data/DenseBlockTrueBool.java @@ -0,0 +1,234 @@ +package org.apache.sysds.runtime.data; + +import org.apache.sysds.common.Types.ValueType; +import org.apache.sysds.common.Warnings; +import org.apache.sysds.runtime.util.DataConverter; +import org.apache.sysds.runtime.util.UtilFunctions; + +import java.util.Arrays; + +public class DenseBlockTrueBool extends DenseBlockDRB{ + + private static final long serialVersionUID = -6741205568083878338L; + private boolean[] _data; + + public DenseBlockTrueBool(int[] dims) { + super(dims); + reset(_rlen, _odims, 0); + } + + @Override + protected void allocateBlock(int bix, int length) { + _data = new boolean[length]; + } + + public DenseBlockTrueBool(int[] dims, boolean[] data) { + super(dims); + _data = data; + } + + @Override + public boolean isNumeric() { + return true; + } + + @Override + public boolean isNumeric(ValueType vt) { + return ValueType.BOOLEAN == vt; + } + + + @Override + public void reset(int rlen, int[] odims, double v){ + reset(rlen, odims, v!= 0); + } + + public void reset(int rlen, int[] odims, boolean bv) { + int len = rlen * odims[0]; + if( len > capacity() ) { + _data = new boolean[len]; + if( bv ) + Arrays.fill(_data, bv); + } + else { + Arrays.fill(_data, 0, len, bv); + } + _rlen = rlen; + _odims = odims; + } + + @Override + public void resetNoFill(int rlen, int[] odims){ + int len = rlen * odims[0]; + if( len > capacity() ) + _data = new boolean[len]; + + _rlen = rlen; + _odims = odims; + } + + @Override + public long capacity() { + return (_data!=null) ? _data.length : -1; + } + + @Override + protected long computeNnz(int bix, int start, int length) { + return UtilFunctions.computeNnz(_data, start, length); + } + + @Override + public double[] values(int r) { + double[] ret = getReuseRow(false); + int ix = pos(r); + int ncol = _odims[0]; + for(int j=0; j Date: Fri, 23 Jun 2023 18:20:32 +0200 Subject: [PATCH 02/10] [SYSTEMDS-3544] added tests and license for DenseBlockTrueBool; added support for boolean operations when using ValueComparisonFunctions --- .../java/org/apache/sysds/common/Types.java | 2 +- .../sysds/runtime/data/DenseBlockFactory.java | 5 ++ .../runtime/data/DenseBlockTrueBool.java | 21 +++++++- .../runtime/matrix/data/LibMatrixBincell.java | 51 ++++++++++--------- .../tensor/DenseBlockConstIndexingTest.java | 20 ++++++++ .../tensor/DenseBlockConstructionTest.java | 39 +++++++++++--- .../tensor/DenseBlockCountNonZeroTest.java | 12 +++++ .../tensor/DenseBlockGetSetIndexingTest.java | 24 +++++---- .../tensor/DenseBlockIncrementTest.java | 20 ++++---- .../tensor/DenseBlockSetDenseBlockTest.java | 28 ++++++---- .../tensor/DenseBlockSetRowTest.java | 24 +++++---- 11 files changed, 171 insertions(+), 75 deletions(-) diff --git a/src/main/java/org/apache/sysds/common/Types.java b/src/main/java/org/apache/sysds/common/Types.java index 78ed173bc9e..46ec064c4ca 100644 --- a/src/main/java/org/apache/sysds/common/Types.java +++ b/src/main/java/org/apache/sysds/common/Types.java @@ -76,7 +76,7 @@ public boolean isUnknown() { */ public enum ValueType { UINT4, UINT8, // Used for parsing in UINT values from numpy. - FP32, FP64, INT32, INT64, BOOLEAN, STRING, UNKNOWN, + FP32, FP64, INT32, INT64, BOOLEAN, TRUE_BOOLEAN, STRING, UNKNOWN, CHARACTER; public boolean isNumeric() { diff --git a/src/main/java/org/apache/sysds/runtime/data/DenseBlockFactory.java b/src/main/java/org/apache/sysds/runtime/data/DenseBlockFactory.java index c48a9d0aca3..3468863c66f 100644 --- a/src/main/java/org/apache/sysds/runtime/data/DenseBlockFactory.java +++ b/src/main/java/org/apache/sysds/runtime/data/DenseBlockFactory.java @@ -61,6 +61,10 @@ public static DenseBlock createDenseBlock(BitSet data, int[] dims) { return new DenseBlockBool(dims, data); } + public static DenseBlock createDenseBlock(boolean[] data, int[] dims) { + return new DenseBlockTrueBool(dims, data); + } + public static DenseBlock createDenseBlock(String[] data, int[] dims) { return new DenseBlockString(dims, data); } @@ -115,6 +119,7 @@ public static DenseBlock createDenseBlock(ValueType vt, DenseBlock.Type type, in case INT32: return new DenseBlockInt32(dims); case INT64: return new DenseBlockInt64(dims); case BOOLEAN: return new DenseBlockBool(dims); + case TRUE_BOOLEAN: return new DenseBlockTrueBool(dims); case STRING: return new DenseBlockString(dims); default: throw new DMLRuntimeException("Unsupported dense block value type: "+vt.name()); diff --git a/src/main/java/org/apache/sysds/runtime/data/DenseBlockTrueBool.java b/src/main/java/org/apache/sysds/runtime/data/DenseBlockTrueBool.java index 0bb2a68d3ce..d31956ec902 100644 --- a/src/main/java/org/apache/sysds/runtime/data/DenseBlockTrueBool.java +++ b/src/main/java/org/apache/sysds/runtime/data/DenseBlockTrueBool.java @@ -1,3 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + package org.apache.sysds.runtime.data; import org.apache.sysds.common.Types.ValueType; @@ -34,7 +53,7 @@ public boolean isNumeric() { @Override public boolean isNumeric(ValueType vt) { - return ValueType.BOOLEAN == vt; + return ValueType.TRUE_BOOLEAN == vt; } diff --git a/src/main/java/org/apache/sysds/runtime/matrix/data/LibMatrixBincell.java b/src/main/java/org/apache/sysds/runtime/matrix/data/LibMatrixBincell.java index 33d7bb2da53..c6d3728f8e9 100644 --- a/src/main/java/org/apache/sysds/runtime/matrix/data/LibMatrixBincell.java +++ b/src/main/java/org/apache/sysds/runtime/matrix/data/LibMatrixBincell.java @@ -30,6 +30,7 @@ import org.apache.commons.lang.NotImplementedException; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.apache.sysds.common.Types; import org.apache.sysds.runtime.DMLRuntimeException; import org.apache.sysds.runtime.data.DenseBlock; import org.apache.sysds.runtime.data.SparseBlock; @@ -38,24 +39,8 @@ import org.apache.sysds.runtime.data.SparseBlockMCSR; import org.apache.sysds.runtime.data.SparseRow; import org.apache.sysds.runtime.data.SparseRowVector; -import org.apache.sysds.runtime.functionobjects.And; -import org.apache.sysds.runtime.functionobjects.Builtin; +import org.apache.sysds.runtime.functionobjects.*; import org.apache.sysds.runtime.functionobjects.Builtin.BuiltinCode; -import org.apache.sysds.runtime.functionobjects.Divide; -import org.apache.sysds.runtime.functionobjects.Equals; -import org.apache.sysds.runtime.functionobjects.GreaterThan; -import org.apache.sysds.runtime.functionobjects.GreaterThanEquals; -import org.apache.sysds.runtime.functionobjects.LessThan; -import org.apache.sysds.runtime.functionobjects.LessThanEquals; -import org.apache.sysds.runtime.functionobjects.Minus; -import org.apache.sysds.runtime.functionobjects.MinusMultiply; -import org.apache.sysds.runtime.functionobjects.Multiply; -import org.apache.sysds.runtime.functionobjects.Multiply2; -import org.apache.sysds.runtime.functionobjects.NotEquals; -import org.apache.sysds.runtime.functionobjects.Plus; -import org.apache.sysds.runtime.functionobjects.PlusMultiply; -import org.apache.sysds.runtime.functionobjects.Power2; -import org.apache.sysds.runtime.functionobjects.ValueFunction; import org.apache.sysds.runtime.matrix.operators.BinaryOperator; import org.apache.sysds.runtime.matrix.operators.ScalarOperator; import org.apache.sysds.runtime.matrix.operators.UnaryOperator; @@ -1423,14 +1408,30 @@ else if( atype == BinaryAccessType.OUTER_VECTOR_VECTOR ) { //VECTOR - VECTOR } //general case else { - for(int r=rl; r Date: Sun, 25 Jun 2023 11:21:13 +0200 Subject: [PATCH 03/10] [SYSTEMDS-3544] fixed trigger for true bool computation and added memory size estimates for true bool --- .../apache/sysds/runtime/frame/data/columns/ArrayFactory.java | 2 ++ .../org/apache/sysds/runtime/matrix/data/LibMatrixBincell.java | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/apache/sysds/runtime/frame/data/columns/ArrayFactory.java b/src/main/java/org/apache/sysds/runtime/frame/data/columns/ArrayFactory.java index 11defd31cd2..edfe85d7948 100644 --- a/src/main/java/org/apache/sysds/runtime/frame/data/columns/ArrayFactory.java +++ b/src/main/java/org/apache/sysds/runtime/frame/data/columns/ArrayFactory.java @@ -78,6 +78,8 @@ public static long getInMemorySize(ValueType type, int _numRows) { return Array.baseMemoryCost() + (long) MemoryEstimates.longArrayCost(_numRows >> 6 + 1); else return Array.baseMemoryCost() + (long) MemoryEstimates.booleanArrayCost(_numRows); + case TRUE_BOOLEAN: + return Array.baseMemoryCost() + (long) MemoryEstimates.booleanArrayCost(_numRows); case INT64: return Array.baseMemoryCost() + (long) MemoryEstimates.longArrayCost(_numRows); case FP64: diff --git a/src/main/java/org/apache/sysds/runtime/matrix/data/LibMatrixBincell.java b/src/main/java/org/apache/sysds/runtime/matrix/data/LibMatrixBincell.java index c6d3728f8e9..22805290300 100644 --- a/src/main/java/org/apache/sysds/runtime/matrix/data/LibMatrixBincell.java +++ b/src/main/java/org/apache/sysds/runtime/matrix/data/LibMatrixBincell.java @@ -1409,7 +1409,7 @@ else if( atype == BinaryAccessType.OUTER_VECTOR_VECTOR ) { //VECTOR - VECTOR //general case else { // if return matrix is boolean and ValueFunction is comparison , use boolean arithmetics - if (ret.denseBlock.isNumeric(Types.ValueType.TRUE_BOOLEAN) && op.fn instanceof ValueComparisonFunction){ + if (op.fn instanceof ValueComparisonFunction && ret.denseBlock != null && ret.denseBlock.isNumeric(Types.ValueType.TRUE_BOOLEAN) ){ for(int r=rl; r Date: Sun, 25 Jun 2023 19:24:03 +0200 Subject: [PATCH 04/10] [SYSTEMDS-3544] use boolean arithmetics if result is boolean --- .../runtime/data/DenseBlockTrueBool.java | 5 ++++ .../runtime/matrix/data/LibMatrixBincell.java | 24 +++++++------------ 2 files changed, 14 insertions(+), 15 deletions(-) diff --git a/src/main/java/org/apache/sysds/runtime/data/DenseBlockTrueBool.java b/src/main/java/org/apache/sysds/runtime/data/DenseBlockTrueBool.java index d31956ec902..56077399a7e 100644 --- a/src/main/java/org/apache/sysds/runtime/data/DenseBlockTrueBool.java +++ b/src/main/java/org/apache/sysds/runtime/data/DenseBlockTrueBool.java @@ -31,6 +31,11 @@ public class DenseBlockTrueBool extends DenseBlockDRB{ private static final long serialVersionUID = -6741205568083878338L; private boolean[] _data; + /** + * Can be toggled to use boolean arithmetics when this denseblock is used as result matrix. + */ + private boolean useBooleanArithmetics = true; + public DenseBlockTrueBool(int[] dims) { super(dims); reset(_rlen, _odims, 0); diff --git a/src/main/java/org/apache/sysds/runtime/matrix/data/LibMatrixBincell.java b/src/main/java/org/apache/sysds/runtime/matrix/data/LibMatrixBincell.java index 22805290300..cd7545a5d97 100644 --- a/src/main/java/org/apache/sysds/runtime/matrix/data/LibMatrixBincell.java +++ b/src/main/java/org/apache/sysds/runtime/matrix/data/LibMatrixBincell.java @@ -32,13 +32,7 @@ import org.apache.commons.logging.LogFactory; import org.apache.sysds.common.Types; import org.apache.sysds.runtime.DMLRuntimeException; -import org.apache.sysds.runtime.data.DenseBlock; -import org.apache.sysds.runtime.data.SparseBlock; -import org.apache.sysds.runtime.data.SparseBlockCSR; -import org.apache.sysds.runtime.data.SparseBlockFactory; -import org.apache.sysds.runtime.data.SparseBlockMCSR; -import org.apache.sysds.runtime.data.SparseRow; -import org.apache.sysds.runtime.data.SparseRowVector; +import org.apache.sysds.runtime.data.*; import org.apache.sysds.runtime.functionobjects.*; import org.apache.sysds.runtime.functionobjects.Builtin.BuiltinCode; import org.apache.sysds.runtime.matrix.operators.BinaryOperator; @@ -1408,18 +1402,18 @@ else if( atype == BinaryAccessType.OUTER_VECTOR_VECTOR ) { //VECTOR - VECTOR } //general case else { - // if return matrix is boolean and ValueFunction is comparison , use boolean arithmetics - if (op.fn instanceof ValueComparisonFunction && ret.denseBlock != null && ret.denseBlock.isNumeric(Types.ValueType.TRUE_BOOLEAN) ){ + // if ValueFunction is comparison, return matrix is true boolean and boolean arithmetics are activated, use boolean arithmetics + if (op.fn instanceof ValueComparisonFunction && + ret.denseBlock != null && + ret.getDenseBlock() instanceof DenseBlockTrueBool){ for(int r=rl; r Date: Sun, 25 Jun 2023 19:48:07 +0200 Subject: [PATCH 05/10] [SYSTEMDS-3544] add boolean set method to Bitset DenseBlockBool --- .../sysds/runtime/data/DenseBlockBool.java | 5 +++ .../runtime/data/DenseBlockTrueBool.java | 5 --- .../runtime/matrix/data/LibMatrixBincell.java | 40 +++++++++++++------ 3 files changed, 33 insertions(+), 17 deletions(-) diff --git a/src/main/java/org/apache/sysds/runtime/data/DenseBlockBool.java b/src/main/java/org/apache/sysds/runtime/data/DenseBlockBool.java index 247526701a1..f6f57170d33 100644 --- a/src/main/java/org/apache/sysds/runtime/data/DenseBlockBool.java +++ b/src/main/java/org/apache/sysds/runtime/data/DenseBlockBool.java @@ -162,6 +162,11 @@ public DenseBlock set(int r, int c, double v) { _data.set(pos(r, c), v != 0); return this; } + + public DenseBlock set(int r, int c, boolean v) { + _data.set(pos(r, c), v); + return this; + } @Override public DenseBlock set(DenseBlock db) { diff --git a/src/main/java/org/apache/sysds/runtime/data/DenseBlockTrueBool.java b/src/main/java/org/apache/sysds/runtime/data/DenseBlockTrueBool.java index 56077399a7e..d31956ec902 100644 --- a/src/main/java/org/apache/sysds/runtime/data/DenseBlockTrueBool.java +++ b/src/main/java/org/apache/sysds/runtime/data/DenseBlockTrueBool.java @@ -31,11 +31,6 @@ public class DenseBlockTrueBool extends DenseBlockDRB{ private static final long serialVersionUID = -6741205568083878338L; private boolean[] _data; - /** - * Can be toggled to use boolean arithmetics when this denseblock is used as result matrix. - */ - private boolean useBooleanArithmetics = true; - public DenseBlockTrueBool(int[] dims) { super(dims); reset(_rlen, _odims, 0); diff --git a/src/main/java/org/apache/sysds/runtime/matrix/data/LibMatrixBincell.java b/src/main/java/org/apache/sysds/runtime/matrix/data/LibMatrixBincell.java index cd7545a5d97..554b9eb5e39 100644 --- a/src/main/java/org/apache/sysds/runtime/matrix/data/LibMatrixBincell.java +++ b/src/main/java/org/apache/sysds/runtime/matrix/data/LibMatrixBincell.java @@ -1403,18 +1403,34 @@ else if( atype == BinaryAccessType.OUTER_VECTOR_VECTOR ) { //VECTOR - VECTOR //general case else { // if ValueFunction is comparison, return matrix is true boolean and boolean arithmetics are activated, use boolean arithmetics - if (op.fn instanceof ValueComparisonFunction && - ret.denseBlock != null && - ret.getDenseBlock() instanceof DenseBlockTrueBool){ - for(int r=rl; r Date: Tue, 27 Jun 2023 10:02:17 +0200 Subject: [PATCH 06/10] [SYSTEMDS-3544] renaming of BOOLEAN to BITSET and renaming of DenseBlockBool files --- .../sysds/runtime/data/DenseBlockBool.html | 2 +- .../sysds/runtime/data/DenseBlockLBool.html | 2 +- .../data/class-use/DenseBlockBool.html | 6 ++-- .../data/class-use/DenseBlockLBool.html | 6 ++-- docs/api/java/serialized-form.html | 4 +-- .../java/org/apache/sysds/common/Types.java | 10 +++--- .../java/org/apache/sysds/hops/DataOp.java | 2 +- .../java/org/apache/sysds/hops/LiteralOp.java | 18 +++++----- .../sysds/hops/rewrite/HopRewriteUtils.java | 16 ++++----- .../sysds/parser/BooleanIdentifier.java | 2 +- .../parser/BuiltinFunctionExpression.java | 14 ++++---- .../apache/sysds/parser/DMLTranslator.java | 12 +++---- .../apache/sysds/parser/DataExpression.java | 10 +++--- .../sysds/parser/ForStatementBlock.java | 2 +- .../org/apache/sysds/parser/Identifier.java | 4 +-- .../sysds/parser/IterablePredicate.java | 2 +- ...arameterizedBuiltinFunctionExpression.java | 4 +-- .../sysds/parser/RelationalExpression.java | 2 +- .../parser/dml/DmlSyntacticValidator.java | 2 +- .../controlprogram/IfProgramBlock.java | 4 +-- .../controlprogram/ParForProgramBlock.java | 2 +- .../runtime/controlprogram/ProgramBlock.java | 2 +- .../controlprogram/WhileProgramBlock.java | 4 +-- .../sysds/runtime/data/BasicTensorBlock.java | 2 +- ...TrueBool.java => DenseBlockBoolArray.java} | 8 ++--- ...ockBool.java => DenseBlockBoolBitset.java} | 10 +++--- .../sysds/runtime/data/DenseBlockFactory.java | 10 +++--- ...kLBool.java => DenseBlockLBoolBitset.java} | 6 ++-- .../sysds/runtime/data/LibTensorAgg.java | 4 +-- .../sysds/runtime/data/LibTensorReorg.java | 4 +-- .../sysds/runtime/data/TensorBlock.java | 6 ++-- .../sysds/runtime/frame/data/FrameBlock.java | 16 ++++----- .../runtime/frame/data/columns/Array.java | 4 +-- .../frame/data/columns/ArrayFactory.java | 10 +++--- .../frame/data/columns/BitSetArray.java | 4 +-- .../frame/data/columns/BooleanArray.java | 4 +-- .../frame/data/columns/DoubleArray.java | 2 +- .../frame/data/columns/OptionalArray.java | 6 ++-- .../frame/data/columns/StringArray.java | 2 +- .../frame/data/lib/FrameFromMatrixBlock.java | 2 +- .../runtime/frame/data/lib/FrameUtil.java | 14 ++++---- .../instructions/cp/BooleanObject.java | 2 +- .../instructions/cp/DataGenCPInstruction.java | 2 +- .../runtime/instructions/cp/ListObject.java | 2 +- .../cp/ParameterizedBuiltinCPInstruction.java | 2 +- .../instructions/cp/ReshapeCPInstruction.java | 2 +- .../cp/ScalarBuiltinNaryCPInstruction.java | 2 +- .../instructions/cp/ScalarObjectFactory.java | 14 ++++---- .../instructions/cp/SqlCPInstruction.java | 4 +-- .../cp/UnaryScalarCPInstruction.java | 2 +- .../cp/VariableCPInstruction.java | 4 +-- .../ParameterizedBuiltinFEDInstruction.java | 8 ++--- .../instructions/fed/ReorgFEDInstruction.java | 4 +-- .../fed/ReshapeFEDInstruction.java | 2 +- .../gpu/MatrixReshapeGPUInstruction.java | 2 +- .../spark/MatrixReshapeSPInstruction.java | 2 +- .../instructions/spark/RandSPInstruction.java | 2 +- .../spark/utils/FrameRDDConverterUtils.java | 4 +-- .../apache/sysds/runtime/iogen/RawRow.java | 4 +-- .../sysds/runtime/iogen/ValueTrimFormat.java | 8 ++--- .../runtime/matrix/data/LibMatrixBincell.java | 9 +++-- .../sysds/runtime/util/DataConverter.java | 4 +-- .../apache/sysds/runtime/util/HDFSTool.java | 6 ++-- .../sysds/runtime/util/ProgramConverter.java | 2 +- .../sysds/runtime/util/UtilFunctions.java | 24 ++++++------- .../java/org/apache/sysds/test/TestUtils.java | 10 +++--- .../component/frame/FrameAppendTest_Old.java | 2 +- .../component/frame/FrameApplySchema.java | 6 ++-- .../component/frame/FrameCastingTest.java | 2 +- .../test/component/frame/FrameCopyTest.java | 4 +-- .../component/frame/FrameEvictionTest.java | 2 +- .../frame/FrameFromMatrixBlockTest.java | 28 +++++++-------- .../test/component/frame/FrameGetSetTest.java | 4 +-- .../component/frame/FrameIndexingTest.java | 2 +- .../frame/FrameSerializationTest.java | 2 +- .../sysds/test/component/frame/FrameTest.java | 4 +-- .../test/component/frame/FrameUtilTest.java | 20 +++++------ .../frame/array/CustomArrayTests.java | 36 +++++++++---------- .../frame/array/NegativeArrayTests.java | 12 +++---- .../TransformCompressedTestMultiCol.java | 14 ++++---- .../tensor/DenseBlockConstIndexingTest.java | 26 ++++++-------- .../tensor/DenseBlockConstructionTest.java | 16 ++++----- .../tensor/DenseBlockCountNonZeroTest.java | 30 +++++++--------- .../tensor/DenseBlockGetSetIndexingTest.java | 18 +++++----- .../tensor/DenseBlockIncrementTest.java | 14 ++++---- .../tensor/DenseBlockSetDenseBlockTest.java | 28 +++++++-------- .../tensor/DenseBlockSetRowTest.java | 22 ++++++------ .../tensor/TensorConstructionTest.java | 22 ++++++------ .../tensor/TensorGetSetIndexingTest.java | 10 +++--- .../tensor/TensorSerializationTest.java | 4 +-- .../builtin/part1/BuiltinImputeFDTest.java | 6 ++-- .../tensor/TensorBinaryBlockParallelTest.java | 4 +-- .../data/tensor/TensorBinaryBlockTest.java | 4 +-- .../tensor/TensorTextCellParallelTest.java | 4 +-- .../data/tensor/TensorTextCellTest.java | 4 +-- .../primitives/FederatedConstructionTest.java | 2 +- .../test/functions/frame/ApplySchemaTest.java | 4 +-- .../functions/frame/DetectSchemaTest.java | 4 +-- .../functions/frame/FrameAppendDistTest.java | 2 +- .../functions/frame/FrameConstructorTest.java | 2 +- .../functions/frame/FrameConverterTest.java | 4 +-- .../test/functions/frame/FrameEqualTest.java | 4 +-- .../frame/FrameIndexingDistTest.java | 2 +- .../functions/frame/FrameReadWriteTest.java | 2 +- .../FrameScalarCastingIntegratedTest.java | 10 +++--- .../frame/FrameScalarCastingTest.java | 4 +-- .../functions/frame/FrameSchemaReadTest.java | 2 +- .../test/functions/frame/TypeOfTest.java | 2 +- .../functions/iogen/GenerateRandomFrame.java | 4 +-- .../iogen/GenerateReaderFrameTest.java | 10 +++--- .../functions/misc/ScalarAssignmentTest.java | 10 +++--- .../misc/ValueTypeAutoCastingTest.java | 12 +++---- .../functions/misc/ValueTypeCastingTest.java | 18 +++++----- .../test/functions/mlcontext/FrameTest.java | 2 +- .../mlcontext/MLContextFrameTest.java | 6 ++-- .../LiteralReplaceCastScalarReadTest.java | 4 +-- .../ColumnEncoderSerializationTest.java | 4 +-- 117 files changed, 412 insertions(+), 425 deletions(-) rename src/main/java/org/apache/sysds/runtime/data/{DenseBlockTrueBool.java => DenseBlockBoolArray.java} (96%) rename src/main/java/org/apache/sysds/runtime/data/{DenseBlockBool.java => DenseBlockBoolBitset.java} (95%) rename src/main/java/org/apache/sysds/runtime/data/{DenseBlockLBool.java => DenseBlockLBoolBitset.java} (97%) diff --git a/docs/api/java/org/apache/sysds/runtime/data/DenseBlockBool.html b/docs/api/java/org/apache/sysds/runtime/data/DenseBlockBool.html index 8c0fb13b465..df1293861d2 100644 --- a/docs/api/java/org/apache/sysds/runtime/data/DenseBlockBool.html +++ b/docs/api/java/org/apache/sysds/runtime/data/DenseBlockBool.html @@ -130,7 +130,7 @@

Class DenseBlockBool

  • org.apache.sysds.runtime.data.DenseBlockDRB
    • -
    • org.apache.sysds.runtime.data.DenseBlockBool
    • +
    • org.apache.sysds.runtime.data.DenseBlockBoolBitset
  • diff --git a/docs/api/java/org/apache/sysds/runtime/data/DenseBlockLBool.html b/docs/api/java/org/apache/sysds/runtime/data/DenseBlockLBool.html index 298dd9ee902..1f5bde6ac4f 100644 --- a/docs/api/java/org/apache/sysds/runtime/data/DenseBlockLBool.html +++ b/docs/api/java/org/apache/sysds/runtime/data/DenseBlockLBool.html @@ -130,7 +130,7 @@

    Class DenseBlockLBool

  • org.apache.sysds.runtime.data.DenseBlockLDRB
    • -
    • org.apache.sysds.runtime.data.DenseBlockLBool
    • +
    • org.apache.sysds.runtime.data.DenseBlockLBoolBitset
  • diff --git a/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockBool.html b/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockBool.html index 12026612813..556a4be8973 100644 --- a/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockBool.html +++ b/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockBool.html @@ -3,7 +3,7 @@ -Uses of Class org.apache.sysds.runtime.data.DenseBlockBool (Apache SystemDS 3.2.0-SNAPSHOT API) +Uses of Class org.apache.sysds.runtime.data.DenseBlockBoolBitset (Apache SystemDS 3.2.0-SNAPSHOT API) @@ -94,9 +94,9 @@
    -

    Uses of Class
    org.apache.sysds.runtime.data.DenseBlockBool

    +

    Uses of Class
    org.apache.sysds.runtime.data.DenseBlockBoolBitset

    -
    No usage of org.apache.sysds.runtime.data.DenseBlockBool
    +
    No usage of org.apache.sysds.runtime.data.DenseBlockBoolBitset