Class SparseVector<T>
A vector that uses sparse storage methods with doubly-linked elements.
Inherited Members
Namespace: SpiceSharp.Algebra
Assembly: SpiceSharp.dll
Syntax
public class SparseVector<T> : ISparseVector<T>, IVector<T>
Type Parameters
| Name | Description |
|---|---|
| T | The base value type. |
Remarks
The element at index 0 is considered a "trashcan" element under the hood, consistent to SparseMatrix<T>. This doesn't really make a difference for indexing the vector though.
This vector automatically expands size if necessary.
Constructors
SparseVector()
Initializes a new instance of the SparseVector<T> class.
Declaration
public SparseVector()
SparseVector(int)
Initializes a new instance of the SparseVector<T> class.
Declaration
public SparseVector(int length)
Parameters
| Type | Name | Description |
|---|---|---|
| int | length | The length of the vector. |
Exceptions
| Type | Condition |
|---|---|
| ArgumentOutOfRangeException | Thrown if |
Properties
ElementCount
Gets the number of elements in the vector.
Declaration
public int ElementCount { get; }
Property Value
| Type | Description |
|---|---|
| int | The element count. |
this[int]
Gets or sets the value at the specified index.
Declaration
public T this[int index] { get; set; }
Parameters
| Type | Name | Description |
|---|---|---|
| int | index | The index. |
Property Value
| Type | Description |
|---|---|
| T | The value. |
Exceptions
| Type | Condition |
|---|---|
| ArgumentOutOfRangeException | Thrown if |
Length
Gets the length of the vector.
Declaration
public int Length { get; }
Property Value
| Type | Description |
|---|---|
| int | The length. |
Methods
Clear()
Clears all elements in the vector. The size of the vector becomes 0.
Declaration
public void Clear()
CopyTo(IVector<T>)
Copies the contents of the vector to another one.
Declaration
public void CopyTo(IVector<T> target)
Parameters
| Type | Name | Description |
|---|---|---|
| IVector<T> | target | The target vector. |
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException | Thrown if |
| ArgumentException | Thrown if |
FindElement(int)
Finds a vector element at the specified index.
Declaration
public Element<T> FindElement(int index)
Parameters
| Type | Name | Description |
|---|---|---|
| int | index | The index. |
Returns
| Type | Description |
|---|---|
| Element<T> | The vector element; otherwise |
Exceptions
| Type | Condition |
|---|---|
| ArgumentOutOfRangeException | Thrown if |
GetElement(int)
Gets a vector element at the specified index. If it doesn't exist, a new one is created.
Declaration
public Element<T> GetElement(int index)
Parameters
| Type | Name | Description |
|---|---|---|
| int | index | The index. |
Returns
| Type | Description |
|---|---|
| Element<T> | The vector element. |
Exceptions
| Type | Condition |
|---|---|
| ArgumentOutOfRangeException | Thrown if |
GetFirstInVector()
Gets the first ISparseVectorElement<T> in the vector.
Declaration
public ISparseVectorElement<T> GetFirstInVector()
Returns
| Type | Description |
|---|---|
| ISparseVectorElement<T> | The first element in the vector. |
GetLastInVector()
Gets the last ISparseVectorElement<T> in the vector.
Declaration
public ISparseVectorElement<T> GetLastInVector()
Returns
| Type | Description |
|---|---|
| ISparseVectorElement<T> | The last element in the vector. |
RemoveElement(int)
Removes a vector element at the specified index.
Declaration
public bool RemoveElement(int index)
Parameters
| Type | Name | Description |
|---|---|---|
| int | index | The index. |
Returns
| Type | Description |
|---|---|
| bool |
|
Reset()
Resets all elements in the vector to their default value.
Declaration
public void Reset()
SwapElements(int, int)
Swaps two elements in the vector.
Declaration
public void SwapElements(int index1, int index2)
Parameters
| Type | Name | Description |
|---|---|---|
| int | index1 | The first index. |
| int | index2 | The second index. |
Exceptions
| Type | Condition |
|---|---|
| ArgumentOutOfRangeException | Thrown if |
ToString()
Returns a string that represents this instance.
Declaration
public override string ToString()
Returns
| Type | Description |
|---|---|
| string | A string that represents this instance. |