Compare commits
3 Commits
7c0f89ebbb
...
v0.9.3
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d49374b482 | ||
|
|
998624177a | ||
|
|
001b061016 |
@@ -195,7 +195,7 @@ using System.Runtime.Serialization;
|
|||||||
namespace QWERTYkez.Mensura.Units;
|
namespace QWERTYkez.Mensura.Units;
|
||||||
|
|
||||||
[JsonConverter(typeof(UnitJsonConverter<{typeNameZ}>))]
|
[JsonConverter(typeof(UnitJsonConverter<{typeNameZ}>))]
|
||||||
public readonly partial record struct {typeNameZ} : IMensuraUnit<{typeNameZ}>, IEquatable<{typeNameZ}>, IMensuraUnit
|
public readonly partial record struct {typeNameZ} : IEquatable<{typeNameZ}>, IMensuraUnit
|
||||||
{
|
{
|
||||||
|
|
||||||
[JsonInclude, DataMember, JsonPropertyName(""v""), Obsolete] // для JSON / EF на случай сбоев, если пробелма с _Value
|
[JsonInclude, DataMember, JsonPropertyName(""v""), Obsolete] // для JSON / EF на случай сбоев, если пробелма с _Value
|
||||||
|
|||||||
@@ -144,7 +144,7 @@ using System.Runtime.Serialization;
|
|||||||
namespace QWERTYkez.Mensura.Units;
|
namespace QWERTYkez.Mensura.Units;
|
||||||
|
|
||||||
[JsonConverter(typeof(UnitJsonConverter<{typeName}>))]
|
[JsonConverter(typeof(UnitJsonConverter<{typeName}>))]
|
||||||
public readonly partial record struct {typeName} : IMensuraUnit<{typeName}>, IEquatable<{typeName}>, IMensuraUnit
|
public readonly partial record struct {typeName} : IEquatable<{typeName}>, IMensuraUnit
|
||||||
{
|
{
|
||||||
[JsonInclude, DataMember, JsonPropertyName(""v""), Obsolete] // для JSON / EF на случай сбоев, если пробелма с _Value
|
[JsonInclude, DataMember, JsonPropertyName(""v""), Obsolete] // для JSON / EF на случай сбоев, если пробелма с _Value
|
||||||
internal double Value { get => _Value; init => _Value = value; }
|
internal double Value { get => _Value; init => _Value = value; }
|
||||||
|
|||||||
@@ -1,5 +1,3 @@
|
|||||||
namespace QWERTYkez.Mensura;
|
namespace QWERTYkez.Mensura;
|
||||||
|
|
||||||
internal interface IMensuraUnit { }
|
public interface IMensuraUnit { }
|
||||||
|
|
||||||
internal interface IMensuraUnit<U> where U : struct, IMensuraUnit, IEquatable<U> { }
|
|
||||||
@@ -3,15 +3,15 @@
|
|||||||
internal static class Coefficients
|
internal static class Coefficients
|
||||||
{
|
{
|
||||||
internal static double MultiplyCoefficient<T1, T2, TResult>(T1 a, T2 b, TResult r)
|
internal static double MultiplyCoefficient<T1, T2, TResult>(T1 a, T2 b, TResult r)
|
||||||
where T1 : struct, IMensuraUnit<T1>, IEquatable<T1>, IMensuraUnit
|
where T1 : struct, IEquatable<T1>, IMensuraUnit
|
||||||
where T2 : struct, IMensuraUnit<T2>, IEquatable<T2>, IMensuraUnit
|
where T2 : struct, IEquatable<T2>, IMensuraUnit
|
||||||
where TResult : struct, IMensuraUnit<TResult>, IEquatable<TResult>, IMensuraUnit
|
where TResult : struct, IEquatable<TResult>, IMensuraUnit
|
||||||
=> r.ToDouble() / (a.ToDouble() * b.ToDouble());
|
=> r.ToDouble() / (a.ToDouble() * b.ToDouble());
|
||||||
|
|
||||||
internal static double DivideCoefficient<T1, T2, TResult>(T1 a, T2 b, TResult r)
|
internal static double DivideCoefficient<T1, T2, TResult>(T1 a, T2 b, TResult r)
|
||||||
where T1 : struct, IMensuraUnit<T1>, IEquatable<T1>, IMensuraUnit
|
where T1 : struct, IEquatable<T1>, IMensuraUnit
|
||||||
where T2 : struct, IMensuraUnit<T2>, IEquatable<T2>, IMensuraUnit
|
where T2 : struct, IEquatable<T2>, IMensuraUnit
|
||||||
where TResult : struct, IMensuraUnit<TResult>, IEquatable<TResult>, IMensuraUnit
|
where TResult : struct, IEquatable<TResult>, IMensuraUnit
|
||||||
=> r.ToDouble() * b.ToDouble() / a.ToDouble();
|
=> r.ToDouble() * b.ToDouble() / a.ToDouble();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -70,6 +70,10 @@ public readonly partial record struct Area // MilliMetersSquared
|
|||||||
internal static readonly double Coeff1 = Coefficients.MultiplyCoefficient(Area.MeterSquared, ForceLinear.NewtonPerMeter, Torque._Newton_Meter);
|
internal static readonly double Coeff1 = Coefficients.MultiplyCoefficient(Area.MeterSquared, ForceLinear.NewtonPerMeter, Torque._Newton_Meter);
|
||||||
|
|
||||||
[MethodImpl(MethodImplOptions.NoInlining), OperatorsGenerator] public static Length operator /(Area left, Length right) => new(left._Value / right._Value);
|
[MethodImpl(MethodImplOptions.NoInlining), OperatorsGenerator] public static Length operator /(Area left, Length right) => new(left._Value / right._Value);
|
||||||
|
|
||||||
|
|
||||||
|
[MethodImpl(MethodImplOptions.NoInlining), OperatorsGenerator] public static ForceVolumetric operator /(ForceLinear left, Area right) => new(left._Value / right._Value);
|
||||||
|
[MethodImpl(MethodImplOptions.NoInlining), OperatorsGenerator] public static Density operator /(MassLinear left, Area right) => new(left._Value / right._Value);
|
||||||
}
|
}
|
||||||
|
|
||||||
public readonly partial record struct Volume // MillimetersCubic
|
public readonly partial record struct Volume // MillimetersCubic
|
||||||
|
|||||||
@@ -258,7 +258,7 @@
|
|||||||
//namespace QWERTYkez.Mensura.Units.Pogon
|
//namespace QWERTYkez.Mensura.Units.Pogon
|
||||||
//{
|
//{
|
||||||
// [JsonConverter(typeof(PogonAAAAAAAAAAAAAAAAConverter))]
|
// [JsonConverter(typeof(PogonAAAAAAAAAAAAAAAAConverter))]
|
||||||
// public readonly partial record struct ZZZZZZZZZZZZZZZZ : IMensuraUnit<ZZZZZZZZZZZZZZZZ>, IEquatable<ZZZZZZZZZZZZZZZZ>, IMensuraUnit
|
// public readonly partial record struct ZZZZZZZZZZZZZZZZ : IEquatable<ZZZZZZZZZZZZZZZZ>, IMensuraUnit
|
||||||
// {
|
// {
|
||||||
|
|
||||||
// [JsonInclude, DataMember, JsonPropertyName("v"), Obsolete] // для JSON / EF на случай сбоев, если пробелма с _Value
|
// [JsonInclude, DataMember, JsonPropertyName("v"), Obsolete] // для JSON / EF на случай сбоев, если пробелма с _Value
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
//namespace QWERTYkez.Mensura.Units;
|
//namespace QWERTYkez.Mensura.Units;
|
||||||
|
|
||||||
//[JsonConverter(typeof(UnitJsonConverter<XXXXXXXX>))]
|
//[JsonConverter(typeof(UnitJsonConverter<XXXXXXXX>))]
|
||||||
//public readonly partial record struct XXXXXXXX : IMensuraUnit<XXXXXXXX>, IEquatable<XXXXXXXX>, IMensuraUnit
|
//public readonly partial record struct XXXXXXXX : IEquatable<XXXXXXXX>, IMensuraUnit
|
||||||
//{
|
//{
|
||||||
// [JsonInclude, DataMember, JsonPropertyName("v"), Obsolete] // для JSON / EF на случай сбоев, если пробелма с _Value
|
// [JsonInclude, DataMember, JsonPropertyName("v"), Obsolete] // для JSON / EF на случай сбоев, если пробелма с _Value
|
||||||
// internal double Value { get => _Value; init => _Value = value; }
|
// internal double Value { get => _Value; init => _Value = value; }
|
||||||
|
|||||||
Reference in New Issue
Block a user