Skip to content

Commit

Permalink
Close #331 - Immutable expressions
Browse files Browse the repository at this point in the history
  • Loading branch information
sys27 committed Sep 25, 2020
1 parent 1bb7ef9 commit 1a4ffd9
Show file tree
Hide file tree
Showing 169 changed files with 2,072 additions and 2,093 deletions.
11 changes: 6 additions & 5 deletions xFunc.Benchmark/Benchmarks/MulMatrixBenchmark.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
// limitations under the License.

using System;
using System.Collections.Immutable;
using BenchmarkDotNet.Attributes;
using xFunc.Maths.Expressions;
using xFunc.Maths.Expressions.Matrices;
Expand All @@ -40,17 +41,17 @@ public void Setup()

private Matrix CreateMatrix()
{
var vectors = new Vector[Size];
var vectors = ImmutableArray.CreateBuilder<Vector>(Size);
for (var i = 0; i < Size; i++)
{
var vector = new IExpression[Size];
var vector = ImmutableArray.CreateBuilder<IExpression>(Size);
for (var j = 0; j < Size; j++)
vector[j] = new Number(random.Next());
vector.Add(new Number(random.Next()));

vectors[i] = new Vector(vector);
vectors.Add(new Vector(vector.ToImmutableArray()));
}

return new Matrix(vectors);
return new Matrix(vectors.ToImmutableArray());
}

[Benchmark]
Expand Down
7 changes: 4 additions & 3 deletions xFunc.Benchmark/Benchmarks/MulVectorBenchmark.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
// limitations under the License.

using System;
using System.Collections.Immutable;
using BenchmarkDotNet.Attributes;
using xFunc.Maths.Expressions;
using xFunc.Maths.Expressions.Matrices;
Expand All @@ -40,11 +41,11 @@ public void Setup()

private Vector CreateVector()
{
var vector = new IExpression[Size];
var vector = ImmutableArray.CreateBuilder<IExpression>(Size);
for (var j = 0; j < Size; j++)
vector[j] = new Number(random.Next());
vector.Add(new Number(random.Next()));

return new Vector(vector);
return new Vector(vector.ToImmutableArray());
}

[Benchmark]
Expand Down
11 changes: 6 additions & 5 deletions xFunc.Benchmark/Benchmarks/TransposeBenchmark.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@

using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using BenchmarkDotNet.Attributes;
using xFunc.Maths.Expressions;
using xFunc.Maths.Expressions.Matrices;
Expand Down Expand Up @@ -46,17 +47,17 @@ public void Setup()

private Matrix CreateMatrix()
{
var vectors = new Vector[Size.rows];
var vectors = ImmutableArray.CreateBuilder<Vector>(Size.rows);
for (var i = 0; i < Size.rows; i++)
{
var vector = new IExpression[Size.columns];
var vector = ImmutableArray.CreateBuilder<IExpression>(Size.columns);
for (var j = 0; j < Size.columns; j++)
vector[j] = new Number(random.Next());
vector.Add(new Number(random.Next()));

vectors[i] = new Vector(vector);
vectors.Add(new Vector(vector.ToImmutableArray()));
}

return new Matrix(vectors);
return new Matrix(vectors.ToImmutableArray());
}

[Benchmark]
Expand Down

0 comments on commit 1a4ffd9

Please sign in to comment.