Data update
This commit is contained in:
parent
ed705008a8
commit
0df55f9f24
2196 changed files with 32999 additions and 3075 deletions
|
|
@ -0,0 +1,86 @@
|
|||
using System;
|
||||
|
||||
public class Program
|
||||
{
|
||||
public static void Main(string[] args)
|
||||
{
|
||||
var a = new Tropical(-2);
|
||||
var b = new Tropical(-1);
|
||||
var c = new Tropical(-0.5);
|
||||
var d = new Tropical(-0.001);
|
||||
var e = new Tropical(0);
|
||||
var f = new Tropical(1.5);
|
||||
var g = new Tropical(2);
|
||||
var h = new Tropical(5);
|
||||
var i = new Tropical(7);
|
||||
var j = new Tropical(8);
|
||||
var k = new Tropical(); // Represents -Inf
|
||||
|
||||
Console.WriteLine("2 x -2 = " + g.Multiply(a));
|
||||
Console.WriteLine("-0.001 + -Inf = " + d.Add(k));
|
||||
Console.WriteLine("0 x -Inf = " + e.Multiply(k));
|
||||
Console.WriteLine("1.5 + -1 = " + f.Add(b));
|
||||
Console.WriteLine("-0.5 x 0 = " + c.Multiply(e));
|
||||
|
||||
Console.WriteLine();
|
||||
Console.WriteLine("5^7 = " + h.Power(7));
|
||||
|
||||
Console.WriteLine();
|
||||
Console.WriteLine("5 * ( 8 + 7 ) = " + h.Multiply(j.Add(i)));
|
||||
Console.WriteLine("5 * 8 + 5 * 7 = " + h.Multiply(j).Add(h.Multiply(i)));
|
||||
}
|
||||
}
|
||||
|
||||
public class Tropical
|
||||
{
|
||||
private double? number;
|
||||
|
||||
public Tropical(double number)
|
||||
{
|
||||
this.number = number;
|
||||
}
|
||||
|
||||
public Tropical()
|
||||
{
|
||||
this.number = null; // Represents -Inf
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return number.HasValue ? ((int)number.Value).ToString() : "-Inf";
|
||||
}
|
||||
|
||||
public Tropical Add(Tropical other)
|
||||
{
|
||||
if (!number.HasValue) return other;
|
||||
if (!other.number.HasValue) return this;
|
||||
|
||||
return number > other.number ? this : other;
|
||||
}
|
||||
|
||||
public Tropical Multiply(Tropical other)
|
||||
{
|
||||
if (number.HasValue && other.number.HasValue)
|
||||
{
|
||||
return new Tropical(number.Value + other.number.Value);
|
||||
}
|
||||
|
||||
return new Tropical();
|
||||
}
|
||||
|
||||
public Tropical Power(int exponent)
|
||||
{
|
||||
if (exponent <= 0)
|
||||
{
|
||||
throw new ArgumentException("Power must be positive", nameof(exponent));
|
||||
}
|
||||
|
||||
Tropical result = this;
|
||||
for (int i = 1; i < exponent; i++)
|
||||
{
|
||||
result = result.Multiply(this);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue