Browse Source

Annotate additional readonly structures

pull/506/head
Jason Nelson 8 years ago
parent
commit
97d39ae67f
  1. 6
      src/ImageSharp/Formats/Jpeg/PdfJsPort/Components/PdfJsFileMarker.cs
  2. 21
      src/ImageSharp/Primitives/Rational.cs
  3. 10
      src/ImageSharp/Primitives/SignedRational.cs

6
src/ImageSharp/Formats/Jpeg/PdfJsPort/Components/PdfJsFileMarker.cs

@ -6,7 +6,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.PdfJsPort.Components
/// <summary>
/// Represents a jpeg file marker
/// </summary>
internal struct PdfJsFileMarker
internal readonly struct PdfJsFileMarker
{
/// <summary>
/// Initializes a new instance of the <see cref="PdfJsFileMarker"/> struct.
@ -34,9 +34,9 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.PdfJsPort.Components
}
/// <summary>
/// Gets or sets a value indicating whether the current marker is invalid
/// Gets a value indicating whether the current marker is invalid
/// </summary>
public bool Invalid { get; set; }
public bool Invalid { get; }
/// <summary>
/// Gets the position of the marker within a stream

21
src/ImageSharp/Primitives/Rational.cs

@ -12,7 +12,7 @@ namespace SixLabors.ImageSharp.Primitives
/// <remarks>
/// This is a very simplified implementation of a rational number designed for use with metadata only.
/// </remarks>
public struct Rational : IEquatable<Rational>
public readonly struct Rational : IEquatable<Rational>
{
/// <summary>
/// Initializes a new instance of the <see cref="Rational"/> struct.
@ -41,7 +41,7 @@ namespace SixLabors.ImageSharp.Primitives
/// <param name="simplify">Specified if the rational should be simplified.</param>
public Rational(uint numerator, uint denominator, bool simplify)
{
LongRational rational = new LongRational(numerator, denominator, simplify);
var rational = new LongRational(numerator, denominator, simplify);
this.Numerator = (uint)rational.Numerator;
this.Denominator = (uint)rational.Denominator;
@ -63,7 +63,7 @@ namespace SixLabors.ImageSharp.Primitives
/// <param name="bestPrecision">Whether to use the best possible precision when parsing the value.</param>
public Rational(double value, bool bestPrecision)
{
LongRational rational = new LongRational(Math.Abs(value), bestPrecision);
var rational = new LongRational(Math.Abs(value), bestPrecision);
this.Numerator = (uint)rational.Numerator;
this.Denominator = (uint)rational.Denominator;
@ -129,19 +129,14 @@ namespace SixLabors.ImageSharp.Primitives
/// <inheritdoc/>
public override bool Equals(object obj)
{
if (obj is Rational)
{
return this.Equals((Rational)obj);
}
return false;
return obj is Rational other && this.Equals(other);
}
/// <inheritdoc/>
public bool Equals(Rational other)
{
LongRational left = new LongRational(this.Numerator, this.Denominator);
LongRational right = new LongRational(other.Numerator, other.Denominator);
var left = new LongRational(this.Numerator, this.Denominator);
var right = new LongRational(other.Numerator, other.Denominator);
return left.Equals(right);
}
@ -149,7 +144,7 @@ namespace SixLabors.ImageSharp.Primitives
/// <inheritdoc/>
public override int GetHashCode()
{
LongRational self = new LongRational(this.Numerator, this.Denominator);
var self = new LongRational(this.Numerator, this.Denominator);
return self.GetHashCode();
}
@ -180,7 +175,7 @@ namespace SixLabors.ImageSharp.Primitives
/// <returns>The <see cref="string"/></returns>
public string ToString(IFormatProvider provider)
{
LongRational rational = new LongRational(this.Numerator, this.Denominator);
var rational = new LongRational(this.Numerator, this.Denominator);
return rational.ToString(provider);
}
}

10
src/ImageSharp/Primitives/SignedRational.cs

@ -12,7 +12,7 @@ namespace SixLabors.ImageSharp.Primitives
/// <remarks>
/// This is a very simplified implementation of a rational number designed for use with metadata only.
/// </remarks>
public struct SignedRational : IEquatable<SignedRational>
public readonly struct SignedRational : IEquatable<SignedRational>
{
/// <summary>
/// Initializes a new instance of the <see cref="SignedRational"/> struct.
@ -41,7 +41,7 @@ namespace SixLabors.ImageSharp.Primitives
/// <param name="simplify">Specified if the rational should be simplified.</param>
public SignedRational(int numerator, int denominator, bool simplify)
{
LongRational rational = new LongRational(numerator, denominator, simplify);
var rational = new LongRational(numerator, denominator, simplify);
this.Numerator = (int)rational.Numerator;
this.Denominator = (int)rational.Denominator;
@ -140,8 +140,8 @@ namespace SixLabors.ImageSharp.Primitives
/// <inheritdoc/>
public bool Equals(SignedRational other)
{
LongRational left = new LongRational(this.Numerator, this.Denominator);
LongRational right = new LongRational(other.Numerator, other.Denominator);
var left = new LongRational(this.Numerator, this.Denominator);
var right = new LongRational(other.Numerator, other.Denominator);
return left.Equals(right);
}
@ -180,7 +180,7 @@ namespace SixLabors.ImageSharp.Primitives
/// <returns>The <see cref="string"/></returns>
public string ToString(IFormatProvider provider)
{
LongRational rational = new LongRational(this.Numerator, this.Denominator);
var rational = new LongRational(this.Numerator, this.Denominator);
return rational.ToString(provider);
}
}

Loading…
Cancel
Save