using System;
using System.Numerics;
namespace IStation.Numerics.Providers.SparseSolver.Managed
{
///
/// The managed sparse solver provider
///
internal partial class ManagedSparseSolverProvider : ISparseSolverProvider
{
///
/// Try to find out whether the provider is available, at least in principle.
/// Verification may still fail if available, but it will certainly fail if unavailable.
///
public virtual bool IsAvailable()
{
return true;
}
///
/// Initialize and verify that the provided is indeed available. If not, fall back to alternatives like the managed provider
///
public virtual void InitializeVerify()
{
}
///
/// Frees memory buffers, caches and handles allocated in or to the provider.
/// Does not unload the provider itself, it is still usable afterwards.
///
public virtual void FreeResources()
{
}
public override string ToString()
{
return "Managed";
}
public virtual DssStatus Solve(DssMatrixStructure matrixStructure, DssMatrixType matrixType, DssSystemType systemType,
int rowCount, int columnCount, int nonZerosCount, int[] rowPointers, int[] ColumnIndices, float[] values,
int nRhs, float[] rhs, float[] solution)
{
throw new NotImplementedException();
}
public virtual DssStatus Solve(DssMatrixStructure matrixStructure, DssMatrixType matrixType, DssSystemType systemType,
int rowCount, int columnCount, int nonZerosCount, int[] rowPointers, int[] ColumnIndices, double[] values,
int nRhs, double[] rhs, double[] solution)
{
throw new NotImplementedException();
}
public virtual DssStatus Solve(DssMatrixStructure matrixStructure, DssMatrixType matrixType, DssSystemType systemType,
int rowCount, int columnCount, int nonZerosCount, int[] rowPointers, int[] ColumnIndices, Complex32[] values,
int nRhs, Complex32[] rhs, Complex32[] solution)
{
throw new NotImplementedException();
}
public virtual DssStatus Solve(DssMatrixStructure matrixStructure, DssMatrixType matrixType, DssSystemType systemType,
int rowCount, int columnCount, int nonZerosCount, int[] rowPointers, int[] ColumnIndices, Complex[] values,
int nRhs, Complex[] rhs, Complex[] solution)
{
throw new NotImplementedException();
}
}
}