Support logical arrays
This commit is contained in:
parent
67905605d6
commit
99558d96c4
@ -204,6 +204,24 @@ namespace MatFileHandler.Tests
|
||||
Assert.That(structure["y", 1, 2].IsEmpty, Is.True);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Test reading a logical array.
|
||||
/// </summary>
|
||||
[Test]
|
||||
public void TestLogical()
|
||||
{
|
||||
var matFile = ReadHdfTestFile("logical");
|
||||
var array = matFile["logical_"].Value;
|
||||
var logicalArray = array as IArrayOf<bool>;
|
||||
Assert.That(logicalArray, Is.Not.Null);
|
||||
Assert.That(logicalArray[0, 0], Is.True);
|
||||
Assert.That(logicalArray[0, 1], Is.True);
|
||||
Assert.That(logicalArray[0, 2], Is.False);
|
||||
Assert.That(logicalArray[1, 0], Is.False);
|
||||
Assert.That(logicalArray[1, 1], Is.True);
|
||||
Assert.That(logicalArray[1, 2], Is.True);
|
||||
}
|
||||
|
||||
private static void CheckComplexLimits<T>(IArrayOf<ComplexOf<T>> array, T[] limits)
|
||||
where T : struct
|
||||
{
|
||||
|
BIN
MatFileHandler.Tests/test-data/hdf/logical.mat
Normal file
BIN
MatFileHandler.Tests/test-data/hdf/logical.mat
Normal file
Binary file not shown.
@ -24,6 +24,7 @@ namespace MatFileHandler
|
||||
MSingle,
|
||||
MDouble,
|
||||
MCell,
|
||||
MLogical,
|
||||
}
|
||||
|
||||
internal class HdfArray : IArray
|
||||
@ -440,6 +441,8 @@ namespace MatFileHandler
|
||||
{
|
||||
case "canonical empty":
|
||||
return HdfMatlabClass.MEmpty;
|
||||
case "logical":
|
||||
return HdfMatlabClass.MLogical;
|
||||
case "char":
|
||||
return HdfMatlabClass.MChar;
|
||||
case "int8":
|
||||
@ -598,6 +601,8 @@ namespace MatFileHandler
|
||||
{
|
||||
case HdfMatlabClass.MEmpty:
|
||||
return HdfArray.Empty();
|
||||
case HdfMatlabClass.MLogical:
|
||||
return ReadNumericalArray<bool>(datasetId, dims, arrayType);
|
||||
case HdfMatlabClass.MChar:
|
||||
return ReadCharArray(datasetId, dims);
|
||||
case HdfMatlabClass.MInt8:
|
||||
@ -651,6 +656,7 @@ namespace MatFileHandler
|
||||
{
|
||||
case HdfMatlabClass.MInt8:
|
||||
case HdfMatlabClass.MUInt8:
|
||||
case HdfMatlabClass.MLogical:
|
||||
return 1;
|
||||
case HdfMatlabClass.MInt16:
|
||||
case HdfMatlabClass.MUInt16:
|
||||
@ -675,6 +681,7 @@ namespace MatFileHandler
|
||||
case HdfMatlabClass.MInt8:
|
||||
return H5T.NATIVE_INT8;
|
||||
case HdfMatlabClass.MUInt8:
|
||||
case HdfMatlabClass.MLogical:
|
||||
return H5T.NATIVE_UINT8;
|
||||
case HdfMatlabClass.MInt16:
|
||||
return H5T.NATIVE_INT16;
|
||||
|
Loading…
x
Reference in New Issue
Block a user