30 lines
828 B
C#
30 lines
828 B
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
|
|
namespace FinLib.Stats;
|
|
|
|
public static class Stats
|
|
{
|
|
public static double? Covariance(IEnumerable<double> valuesOne, IEnumerable<double> valuesTwo)
|
|
{
|
|
unsafe {
|
|
var valuesOneArr = valuesOne.ToArray();
|
|
var valuesTwoArr = valuesTwo.ToArray();
|
|
fixed (double* ptrOne = valuesOneArr)
|
|
fixed (double* ptrTwo = valuesTwoArr) {
|
|
var ret = NativeMethods.covariance(ptrOne, (UIntPtr)valuesOneArr.Length, ptrTwo, (UIntPtr) valuesTwoArr.Length);
|
|
|
|
if (ret == null)
|
|
{
|
|
return null;
|
|
}
|
|
else
|
|
{
|
|
return *ret;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |