Skip to content

Commit 51bcb87

Browse files
committed
move zero length check
zero length check is moved to GetZlib64BitArray for brevity
1 parent e1894e2 commit 51bcb87

File tree

2 files changed

+11
-18
lines changed

2 files changed

+11
-18
lines changed

Properties/AssemblyInfo.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
[assembly: AssemblyConfiguration("")]
1010
[assembly: AssemblyCompany("")]
1111
[assembly: AssemblyProduct("ThermoRawFileParser")]
12-
[assembly: AssemblyCopyright("Copyright © 2017 - 2020")]
12+
[assembly: AssemblyCopyright("Copyright © 2017 - 2021")]
1313
[assembly: AssemblyTrademark("")]
1414
[assembly: AssemblyCulture("")]
1515

Writer/MzMlSpectrumWriter.cs

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1015,9 +1015,7 @@ private ChromatogramType TraceToChromatogram(ChromatogramSignal trace, string ch
10151015
var timesBinaryData =
10161016
new BinaryDataArrayType
10171017
{
1018-
binary = ParseInput.NoZlibCompression
1019-
? Get64BitArray(trace.Times)
1020-
: GetZLib64BitArray(trace.Times)
1018+
binary = ParseInput.NoZlibCompression ? Get64BitArray(trace.Times) : GetZLib64BitArray(trace.Times)
10211019
};
10221020
timesBinaryData.encodedLength =
10231021
(4 * Math.Ceiling((double)timesBinaryData
@@ -1069,9 +1067,7 @@ private ChromatogramType TraceToChromatogram(ChromatogramSignal trace, string ch
10691067
var intensitiesBinaryData =
10701068
new BinaryDataArrayType
10711069
{
1072-
binary = ParseInput.NoZlibCompression
1073-
? Get64BitArray(trace.Intensities)
1074-
: GetZLib64BitArray(trace.Intensities)
1070+
binary = ParseInput.NoZlibCompression ? Get64BitArray(trace.Intensities) : GetZLib64BitArray(trace.Intensities)
10751071
};
10761072
intensitiesBinaryData.encodedLength =
10771073
(4 * Math.Ceiling((double)intensitiesBinaryData
@@ -1454,9 +1450,7 @@ private SpectrumType ConstructMSSpectrum(int scanNumber)
14541450
var massesBinaryData =
14551451
new BinaryDataArrayType
14561452
{
1457-
binary = masses.Length > 0
1458-
? ParseInput.NoZlibCompression ? Get64BitArray(masses) : GetZLib64BitArray(masses)
1459-
: new byte[0] // zero length array encoded by GZip produces non-zero length array; some downstream tools do not like it
1453+
binary = ParseInput.NoZlibCompression ? Get64BitArray(masses) : GetZLib64BitArray(masses)
14601454
};
14611455
massesBinaryData.encodedLength =
14621456
(4 * Math.Ceiling((double) massesBinaryData
@@ -1504,9 +1498,7 @@ private SpectrumType ConstructMSSpectrum(int scanNumber)
15041498
var intensitiesBinaryData =
15051499
new BinaryDataArrayType
15061500
{
1507-
binary = intensities.Length > 0
1508-
? ParseInput.NoZlibCompression ? Get64BitArray(intensities) : GetZLib64BitArray(intensities)
1509-
: new byte[0] // zero length array encoded by GZip produces non-zero length array; some downstream tools do not like it
1501+
binary = ParseInput.NoZlibCompression ? Get64BitArray(intensities) : GetZLib64BitArray(intensities)
15101502
};
15111503
intensitiesBinaryData.encodedLength =
15121504
(4 * Math.Ceiling((double) intensitiesBinaryData
@@ -1725,9 +1717,7 @@ private SpectrumType ConstructPDASpectrum(int scanNumber, int instrumentNumber)
17251717
var intensitiesBinaryData =
17261718
new BinaryDataArrayType
17271719
{
1728-
binary = ParseInput.NoZlibCompression
1729-
? Get64BitArray(intensities)
1730-
: GetZLib64BitArray(intensities)
1720+
binary = ParseInput.NoZlibCompression ? Get64BitArray(intensities) : GetZLib64BitArray(intensities)
17311721
};
17321722
intensitiesBinaryData.encodedLength =
17331723
(4 * Math.Ceiling((double)intensitiesBinaryData
@@ -2294,7 +2284,7 @@ private ScanListType ConstructScanList(int scanNumber, Scan scan)
22942284
/// </summary>
22952285
/// <param name="array">the double collection</param>
22962286
/// <returns>the byte array</returns>
2297-
private static byte[] Get64BitArray(IEnumerable<double> array)
2287+
private static byte[] Get64BitArray(ICollection<double> array)
22982288
{
22992289
byte[] bytes;
23002290

@@ -2318,8 +2308,11 @@ private static byte[] Get64BitArray(IEnumerable<double> array)
23182308
/// </summary>
23192309
/// <param name="array">the double collection</param>
23202310
/// <returns>the byte array</returns>
2321-
private static byte[] GetZLib64BitArray(IEnumerable<double> array)
2311+
private static byte[] GetZLib64BitArray(ICollection<double> array)
23222312
{
2313+
// zero length array encoded by GZip produces non-zero length array; some downstream tools do not like it
2314+
if (array.Count == 0) return new byte[0];
2315+
23232316
byte[] bytes;
23242317

23252318
using (var memoryStream = new MemoryStream())

0 commit comments

Comments
 (0)