Class VariableArray3D<TItem, TArray>
Three-dimensional jagged variable array.
Implements
Inherited Members
Namespace: Microsoft.ML.Probabilistic.Models
Assembly: Microsoft.ML.Probabilistic.Compiler.dll
Syntax
public class VariableArray3D<TItem, TArray> : VariableArrayBase<TItem, TArray>, CanGetContainers, IModelExpression<TArray>, SettableTo<Variable<TArray>>, ICloneable, HasItemVariables, IVariableJaggedArray, SettableTo<VariableArray3D<TItem, TArray>>, IVariableArray, IVariable, IModelExpression, HasObservedValue where TItem : Variable, ICloneable, SettableTo<TItem>
Type Parameters
Name | Description |
---|---|
TItem | |
TArray |
Constructors
VariableArray3D(VariableArray3D<TItem, TArray>)
Copy constructor.
Declaration
protected VariableArray3D(VariableArray3D<TItem, TArray> that)
Parameters
Type | Name | Description |
---|---|---|
VariableArray3D<TItem, TArray> | that |
Properties
Item[Range, Range, Range]
Get or set elements of the array.
Declaration
public TItem this[Range range0, Range range1, Range range2] { get; set; }
Parameters
Type | Name | Description |
---|---|---|
Range | range0 | The first range used to create the array. |
Range | range1 | The second range used to create the array. |
Range | range2 | The third range used to create the array. |
Property Value
Type | Description |
---|---|
TItem | A derived variable that indexes |
Remarks
When setting the elements of an array, the right hand side must be a fresh variable with no other uses. The right-hand side must be an item variable indexed by exactly the ranges of the array, but possibly in a different order.
Item[Range, Range, Variable<Int32>]
Get elements of the array.
Declaration
public TItem this[Range range0, Range range1, Variable<int> range2] { get; }
Parameters
Type | Name | Description |
---|---|---|
Range | range0 | The first range used to create the array. |
Range | range1 | The second range used to create the array. |
Variable<Int32> | range2 | The third range used to create the array. |
Property Value
Type | Description |
---|---|
TItem | A derived variable that indexes |
Remarks
When setting the elements of an array, the right hand side must be a fresh variable with no other uses. The right-hand side must be an item variable indexed by exactly the ranges of the array, but possibly in a different order.
Item[Range, Variable<Int32>, Range]
Get elements of the array.
Declaration
public TItem this[Range range0, Variable<int> range1, Range range2] { get; }
Parameters
Type | Name | Description |
---|---|---|
Range | range0 | The first range used to create the array. |
Variable<Int32> | range1 | The second range used to create the array. |
Range | range2 | The third range used to create the array. |
Property Value
Type | Description |
---|---|
TItem | A derived variable that indexes |
Remarks
When setting the elements of an array, the right hand side must be a fresh variable with no other uses. The right-hand side must be an item variable indexed by exactly the ranges of the array, but possibly in a different order.
Item[Range, Variable<Int32>, Variable<Int32>]
Get elements of the array.
Declaration
public TItem this[Range range0, Variable<int> range1, Variable<int> range2] { get; }
Parameters
Type | Name | Description |
---|---|---|
Range | range0 | The first range used to create the array. |
Variable<Int32> | range1 | The second range used to create the array. |
Variable<Int32> | range2 | The third range used to create the array. |
Property Value
Type | Description |
---|---|
TItem | A derived variable that indexes |
Remarks
When setting the elements of an array, the right hand side must be a fresh variable with no other uses. The right-hand side must be an item variable indexed by exactly the ranges of the array, but possibly in a different order.
Item[Variable<Int32>, Range, Range]
Get elements of the array.
Declaration
public TItem this[Variable<int> range0, Range range1, Range range2] { get; }
Parameters
Type | Name | Description |
---|---|---|
Variable<Int32> | range0 | The first range used to create the array. |
Range | range1 | The second range used to create the array. |
Range | range2 | The third range used to create the array. |
Property Value
Type | Description |
---|---|
TItem | A derived variable that indexes |
Remarks
When setting the elements of an array, the right hand side must be a fresh variable with no other uses. The right-hand side must be an item variable indexed by exactly the ranges of the array, but possibly in a different order.
Item[Variable<Int32>, Range, Variable<Int32>]
Get elements of the array.
Declaration
public TItem this[Variable<int> range0, Range range1, Variable<int> range2] { get; }
Parameters
Type | Name | Description |
---|---|---|
Variable<Int32> | range0 | The first range used to create the array. |
Range | range1 | The second range used to create the array. |
Variable<Int32> | range2 | The third range used to create the array. |
Property Value
Type | Description |
---|---|
TItem | A derived variable that indexes |
Remarks
When setting the elements of an array, the right hand side must be a fresh variable with no other uses. The right-hand side must be an item variable indexed by exactly the ranges of the array, but possibly in a different order.
Item[Variable<Int32>, Variable<Int32>, Range]
Get elements of the array.
Declaration
public TItem this[Variable<int> range0, Variable<int> range1, Range range2] { get; }
Parameters
Type | Name | Description |
---|---|---|
Variable<Int32> | range0 | The first range used to create the array. |
Variable<Int32> | range1 | The second range used to create the array. |
Range | range2 | The third range used to create the array. |
Property Value
Type | Description |
---|---|
TItem | A derived variable that indexes |
Remarks
When setting the elements of an array, the right hand side must be a fresh variable with no other uses. The right-hand side must be an item variable indexed by exactly the ranges of the array, but possibly in a different order.
Item[Variable<Int32>, Variable<Int32>, Variable<Int32>]
Get elements of the array.
Declaration
public TItem this[Variable<int> range0, Variable<int> range1, Variable<int> range2] { get; }
Parameters
Type | Name | Description |
---|---|---|
Variable<Int32> | range0 | The first range used to create the array. |
Variable<Int32> | range1 | The second range used to create the array. |
Variable<Int32> | range2 | The third range used to create the array. |
Property Value
Type | Description |
---|---|
TItem | A derived variable that indexes |
Remarks
When setting the elements of an array, the right hand side must be a fresh variable with no other uses. The right-hand side must be an item variable indexed by exactly the ranges of the array, but possibly in a different order.
Range0
Range for first index
Declaration
public Range Range0 { get; }
Property Value
Type | Description |
---|---|
Range |
Range1
Range for second index
Declaration
public Range Range1 { get; }
Property Value
Type | Description |
---|---|
Range |
Range2
Range for third index
Declaration
public Range Range2 { get; }
Property Value
Type | Description |
---|---|
Range |
Methods
Attrib(ICompilerAttribute)
Inline method for adding an attribute to a random variable. This method returns the random variable object, so that is can be used in an inline expression. e.g. Variable.GaussianFromMeanAndVariance(0,1).Attrib(new MyAttribute());
Declaration
public VariableArray3D<TItem, TArray> Attrib(ICompilerAttribute attr)
Parameters
Type | Name | Description |
---|---|---|
ICompilerAttribute | attr | The attribute to add |
Returns
Type | Description |
---|---|
VariableArray3D<TItem, TArray> | The random variable object |
Clone()
Clone the 3-D jagged array
Declaration
public override object Clone()
Returns
Type | Description |
---|---|
Object |
Overrides
Named(String)
Set the name of the array.
Declaration
public VariableArray3D<TItem, TArray> Named(string name)
Parameters
Type | Name | Description |
---|---|---|
String | name |
Returns
Type | Description |
---|---|
VariableArray3D<TItem, TArray> |
|
SetTo(VariableArray3D<TItem, TArray>)
Set the 3-D jagged array to the specified value
Declaration
public void SetTo(VariableArray3D<TItem, TArray> that)
Parameters
Type | Name | Description |
---|---|---|
VariableArray3D<TItem, TArray> | that |
Explicit Interface Implementations
IVariableArray.ReplaceRanges(Dictionary<Range, Range>, Dictionary<IModelExpression, IModelExpression>, Boolean)
Declaration
IVariableArray IVariableArray.ReplaceRanges(Dictionary<Range, Range> rangeReplacements, Dictionary<IModelExpression, IModelExpression> expressionReplacements, bool deepCopy)
Parameters
Type | Name | Description |
---|---|---|
Dictionary<Range, Range> | rangeReplacements | |
Dictionary<IModelExpression, IModelExpression> | expressionReplacements | |
Boolean | deepCopy |
Returns
Type | Description |
---|---|
IVariableArray |