Libraries/Microsoft.ML.CpuMath.xml
<?xml version="1.0"?>
<doc> <assembly> <name>Microsoft.ML.CpuMath</name> </assembly> <members> <member name="T:Microsoft.ML.Runtime.Internal.CpuMath.AlignedArray"> <summary> This implements a logical array of Floats that is automatically aligned for SSE/AVX operations. To pin and force alignment, call the GetPin method, typically wrapped in a using (since it returns a Pin struct that is IDisposable). From the pin, you can get the IntPtr to pass to native code. The ctor takes an alignment value, which must be a power of two at least sizeof(Float). </summary> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.AlignedArray.#ctor(System.Int32,System.Int32)"> <summary> Allocate an aligned vector with the given alignment (in bytes). The alignment must be a power of two and at least sizeof(Float). </summary> </member> <member name="T:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedVector"> <summary> This implements a logical array of Floats that is automatically aligned for SSE/AVX operations. This is a thin wrapper around the AlignedArray type implemented in C++. This simply couples the AlignedArray with a logical size, which does not include padding, while the AlignedArray size does include padding. </summary> </member> <member name="P:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedVector.ValueCount"> <summary> The value count. </summary> </member> <member name="P:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedVector.VectorSize"> <summary> The logical size of the vector. </summary> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedVector.#ctor(System.Int32,System.Int32)"> <summary> Allocate an aligned vector with the given alignment (in bytes). The alignment must be a power of two and at least sizeof(Float). </summary> </member> <member name="P:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedVector.Items"> <summary> The physical AligenedArray items. </summary> </member> <member name="P:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedVector.CbAlign"> <summary> The alignment. </summary> </member> <member name="P:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedVector.Item(System.Int32)"> <summary> Set and get the value of the vector at the given index. </summary> <param name="index">The index</param> <returns>The value at the given index</returns> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedVector.GetValue(System.Int32)"> <summary> Get the value of the vector at the given index. </summary> <param name="i">The index</param> <returns>The value at the given index</returns> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedVector.Randomize(System.Func{System.Single})"> <summary> Assign randomized values to the vector elements via the input function. </summary> <param name="rand">The input rand om function that takes no arguments and returns a float value</param> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedVector.Zero"> <summary> Assign zeros to the vector elements. </summary> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedVector.CopyTo(System.Single[],System.Int32@)"> <summary> Copy the values into dst, starting at slot ivDst and advancing ivDst. </summary> <param name="dst">The destination array</param> <param name="ivDst">The starting index in the destination array</param> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedVector.CopyTo(System.Int32,System.Single[],System.Int32,System.Int32)"> <summary> Copy the values from this vector starting at slot ivSrc into dst, starting at slot ivDst. The number of values that are copied is determined by count. </summary> <param name="ivSrc">The staring index in this vector</param> <param name="dst">The destination array</param> <param name="ivDst">The starting index in the destination array</param> <param name="count">The number of elements to be copied</param> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedVector.CopyFrom(System.Single[],System.Int32@)"> <summary> Copy the values from src, starting at slot index and advancing index, into this vector. </summary> <param name="src">The source array</param> <param name="index">The starting index in the source array</param> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedVector.CopyFrom(System.Int32,System.Single[],System.Int32,System.Int32)"> <summary> Copy the values from src, starting at slot index and advancing index, into this vector, starting at slot ivDst. The number of values that are copied is determined by count. </summary> <param name="ivDst">The staring index in this vector</param> <param name="src">The source array</param> <param name="ivSrc">The starting index in the source array</param> <param name="count">The number of elements to be copied</param> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedVector.CopyFrom(Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedVector)"> <summary> Copy the values of src vector into this vector. The src vector must have the same size as this vector. </summary> <param name="src">The source vector</param> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedVector.GetEnumerator"> <summary> Get the underlying AlignedArray as IEnumerator<Float>. </summary> </member> <member name="T:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedMatrixBase"> <summary> This implements a logical matrix of Floats that is automatically aligned for SSE/AVX operations. The ctor takes an alignment value, which must be a power of two at least sizeof(Float). </summary> </member> <member name="P:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedMatrixBase.ValueCount"> <summary> The logical number values in the matrix </summary> </member> <member name="P:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedMatrixBase.RowCount"> <summary> The logical number of rows </summary> </member> <member name="P:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedMatrixBase.ColCount"> <summary> The logical number of columns </summary> </member> <member name="P:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedMatrixBase.RowCountPhy"> <summary> The physical number of rows </summary> </member> <member name="P:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedMatrixBase.ColCountPhy"> <summary> The pysical number of columns </summary> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedMatrixBase.#ctor(System.Int32,System.Int32,System.Int32)"> <summary> Allocate an aligned matrix with the given alignment (in bytes). </summary> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedMatrixBase.Randomize(System.Func{System.Single})"> <summary> Assign randomized values to the matrix elements via the input function. </summary> <param name="rand">The input rand om function that takes no arguments and returns a float value</param> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedMatrixBase.Zero"> <summary> Assign zeros to the matrix elements. </summary> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedMatrixBase.CopyFrom(Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedMatrixBase)"> <summary> Copy the values of src matrix into this matrix. The src matrix must have the same physical and logical size as this matrix. </summary> <param name="src">The source matrix</param> </member> <member name="T:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedMatrixRowBase"> <summary> This implements a logical row-major matrix of Floats that is automatically aligned for SSE/AVX operations. The ctor takes an alignment value, which must be a power of two at least sizeof(Float). </summary> </member> <member name="P:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedMatrixRowBase.RowCount"> <summary> The logical number of rows </summary> </member> <member name="P:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedMatrixRowBase.ColCount"> <summary> The logical number of columns </summary> </member> <member name="P:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedMatrixRowBase.RowCountPhy"> <summary> The physical number of rows </summary> </member> <member name="P:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedMatrixRowBase.ColCountPhy"> <summary> The physical number of columns </summary> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedMatrixRowBase.CopyTo(System.Single[],System.Int32@)"> <summary> Copy the values into dst, starting at slot ivDst and advancing ivDst. </summary> <param name="dst">The destination array</param> <param name="ivDst">The starting index in the destination array</param> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedMatrixRowBase.CopyFrom(System.Single[],System.Int32@)"> <summary> Copy the values from src, starting at slot ivSrc and advancing ivSrc. </summary> <param name="src">The source array</param> <param name="ivSrc">The starting index in the source array</param> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedMatrixRowBase.GetEnumerator"> <summary> Get the underlying AlignedArray as IEnumerator<Float>. </summary> </member> <member name="T:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedMatrixRow"> <summary> This implements a row-major matrix of Floats that is automatically aligned for SSE/AVX operations. The ctor takes an alignment value, which must be a power of two at least sizeof(Float). </summary> </member> <member name="P:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedMatrixRow.RowCount"> <summary> The logical number of rows </summary> </member> <member name="P:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedMatrixRow.ColCount"> <summary> The logical number of columns </summary> </member> <member name="P:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedMatrixRow.RowCountPhy"> <summary> The physical number of rows </summary> </member> <member name="P:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedMatrixRow.ColCountPhy"> <summary> The physical number of columns </summary> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedMatrixRow.CopyTo(System.Int32,System.Single[],System.Int32@)"> <summary> Copy the values from this matrix, starting from the row into dst, starting at slot ivDst and advancing ivDst. </summary> <param name="row">The starting row in this matrix</param> <param name="dst">The destination array</param> <param name="ivDst">The starting index in the destination array</param> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedMatrixRow.ZeroItems(System.Int32[])"> <summary> Assign zeros to the values at the indices </summary> <param name="indices">The indices</param> </member> <member name="T:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedMatrixCol"> <summary> This implements a logical matrix of Floats that is automatically aligned for SSE/AVX operations. The ctor takes an alignment value, which must be a power of two at least sizeof(Float). </summary> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedMatrixCol.#ctor(System.Int32,System.Int32,System.Int32)"> <summary> Allocate an aligned matrix with the given alignment (in bytes). </summary> </member> <member name="P:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedMatrixCol.RowCount"> <summary> The logical number of rows </summary> </member> <member name="P:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedMatrixCol.ColCount"> <summary> The logical number of columns </summary> </member> <member name="P:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedMatrixCol.RowCountPhy"> <summary> The physical number of rows </summary> </member> <member name="P:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedMatrixCol.ColCountPhy"> <summary> The physical number of columns </summary> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedMatrixCol.CopyTo(System.Single[],System.Int32@)"> <summary> Copy the values into dst, starting at slot ivDst and advancing ivDst. </summary> <param name="dst">The destination array</param> <param name="ivDst">The starting index in the destination array</param> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedMatrixCol.CopyTo(System.Int32,System.Single[],System.Int32@)"> <summary> Copy the values from this matrix, starting from the row into dst, starting at slot ivDst and advancing ivDst. </summary> <param name="row">The starting row in this matrix</param> <param name="dst">The destination array</param> <param name="ivDst">The starting index in the destination array</param> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedMatrixCol.CopyFrom(System.Single[],System.Int32@)"> <summary> Copy the values from src, starting at slot ivSrc and advancing ivSrc. </summary> <param name="src">The source array</param> <param name="ivSrc">The starting index in the source array</param> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedMatrixCol.ZeroItems(System.Int32[])"> <summary> Assign zeros to the values at the indices </summary> <param name="indices">The indices</param> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.CpuAlignedMatrixCol.GetEnumerator"> <summary> Get the underlying AlignedArray as IEnumerator<Float>. </summary> </member> <member name="T:Microsoft.ML.Runtime.Internal.CpuMath.AvxUtils"> <summary> Keep Avx.cs in sync with Sse.cs. When making changes to one, use BeyondCompare or a similar tool to view diffs and propagate appropriate changes to the other. </summary> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.CpuAligenedMathUtils`1.AssertCompatible(Microsoft.ML.Runtime.Internal.CpuMath.ICpuFullMatrix)"> <summary> Assert the compatibility of the underlying AlignedArray for the input matrix in terms of alignment amount. </summary> <param name="values">The input matrix</param> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.CpuAligenedMathUtils`1.AssertCompatible(Microsoft.ML.Runtime.Internal.CpuMath.ICpuVector)"> <summary> Assert the compatibility of the underlying AlignedArray for the input vector in terms of alignment amount. </summary> <param name="values">The input vector</param> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.CpuAligenedMathUtils`1.AssertCompatible(Microsoft.ML.Runtime.Internal.CpuMath.ICpuFullMatrix,Microsoft.ML.Runtime.Internal.CpuMath.ICpuVector,Microsoft.ML.Runtime.Internal.CpuMath.ICpuVector)"> <summary> Asserts the following: 1. The compatibility of the underlying AlignedArray for mat in terms of alignment amount. 2. The compatibility of the underlying AlignedArray for src in terms of alignment amount. 3. The compatibility of the underlying AlignedArray for dst in terms of alignment amount. 4. The compatibility of the matrix-vector multiplication mat * src = dst. </summary> <param name="mat"></param> <param name="src"></param> <param name="dst"></param> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.CpuAligenedMathUtils`1.MatTimesSrc(System.Boolean,Microsoft.ML.Runtime.Internal.CpuMath.ICpuFullMatrix,Microsoft.ML.Runtime.Internal.CpuMath.ICpuVector,Microsoft.ML.Runtime.Internal.CpuMath.ICpuVector)"> <summary> Matrix multiplication: if (add) dst = mat * src else dest += mat * src </summary> <param name="add">The addition flag</param> <param name="mat">The multiplier matrix</param> <param name="src">The source vector</param> <param name="dst">The destination vector</param> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.CpuAligenedMathUtils`1.MatTranTimesSrc(System.Boolean,Microsoft.ML.Runtime.Internal.CpuMath.ICpuFullMatrix,Microsoft.ML.Runtime.Internal.CpuMath.ICpuVector,Microsoft.ML.Runtime.Internal.CpuMath.ICpuVector)"> <summary> Matrix transpose multiplication: if (add) dst = mat' * src else dest += mat' * src </summary> <param name="add">The addition flag</param> <param name="mat">The multiplier matrix</param> <param name="src">The source vector</param> <param name="dst">The destination vector</param> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.GeneralUtils.CbitLowZero(System.UInt32)"> <summary> Count the number of zero bits in the lonest string of zero's from the lowest significant bit of the input integer. </summary> <param name="u">The input integer</param> <returns></returns> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.ICpuBuffer`1.Randomize(System.Func{`0})"> <summary> Assign random values using the given random function. </summary> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.ICpuBuffer`1.Zero"> <summary> Set all values to zero. </summary> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.ICpuBuffer`1.CopyTo(`0[],System.Int32@)"> <summary> Copy the values into dst, starting at slot ivDst and advancing ivDst. </summary> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.ICpuBuffer`1.CopyFrom(`0[],System.Int32@)"> <summary> Copy values from the given src array into this buffer, starting at the given index in src, </summary> </member> <member name="T:Microsoft.ML.Runtime.Internal.CpuMath.ICpuVector"> <summary> A logical math vector. </summary> </member> <member name="P:Microsoft.ML.Runtime.Internal.CpuMath.ICpuVector.VectorSize"> <summary> The vector size </summary> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.ICpuVector.GetValue(System.Int32)"> <summary> Get the i'th component of the vector. </summary> </member> <member name="P:Microsoft.ML.Runtime.Internal.CpuMath.ICpuMatrix.RowCount"> <summary> The row count </summary> </member> <member name="P:Microsoft.ML.Runtime.Internal.CpuMath.ICpuMatrix.ColCount"> <summary> the column count </summary> </member> <member name="T:Microsoft.ML.Runtime.Internal.CpuMath.ICpuFullMatrix"> <summary> A 2-dimensional matrix. </summary> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.ICpuFullMatrix.CopyTo(System.Int32,System.Single[],System.Int32@)"> <summary> Copy the values for the given row into dst, starting at slot ivDst. </summary> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.ICpuFullMatrix.ZeroItems(System.Int32[])"> <summary> Zero out the items with the given indices. The indices contain the logical indices to the vectorized representation of the matrix, which can be different depending on whether the matrix is row-major or column-major. </summary> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.IntUtils.Add(System.UInt64@,System.UInt64@,System.UInt64)"> <summary> Add src to the 128 bits contained in dst. Ignores overflow, that is, the addition is done modulo 2^128. </summary> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.IntUtils.Add(System.UInt64@,System.UInt64@,System.UInt64,System.UInt64)"> <summary> Add src to dst. Ignores overflow, that is, the addition is done modulo 2^128. </summary> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.IntUtils.Sub(System.UInt64@,System.UInt64@,System.UInt64)"> <summary> Subtract src from the 128 bits contained in dst. Ignores overflow, that is, the subtraction is done modulo 2^128. </summary> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.IntUtils.Sub(System.UInt64@,System.UInt64@,System.UInt64,System.UInt64)"> <summary> Subtract src from dst. Ignores overflow, that is, the subtraction is done modulo 2^128. </summary> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.IntUtils.LessThan(System.UInt64,System.UInt64,System.UInt64,System.UInt64)"> <summary> Return true if a is less than b. </summary> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.IntUtils.Div64(System.UInt64,System.UInt64,System.UInt64,System.UInt64@)"> <summary> Divide the 128 bit value in <paramref name="lo"/> and <paramref name="hi"/> by <paramref name="den"/>. returning the quotient and placing the remainder in <paramref name="rem"/>. Throws on overflow. Note that <paramref name="lo"/> comes before <paramref name="hi"/>. </summary> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.IntUtils.Mul64(System.UInt64,System.UInt64,System.UInt64@)"> <summary> Multiple the two 64-bit values to produce 128 bit result. </summary> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.IntUtils.DivRound(System.UInt64,System.UInt64,System.UInt64)"> <summary> Divide and round to nearest using unbiased rounding. Throws on overflow. Note that <paramref name="lo"/> comes before <paramref name="hi"/>. </summary> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.IntUtils.DivRound(System.UInt64,System.UInt64,System.UInt64,System.UInt64)"> <summary> Divide and round to nearest using unbiased rounding. Throws on overflow. Note that <paramref name="numLo"/> comes before <paramref name="numHi"/>. </summary> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.IntUtils.CbitHighZero(System.UInt64)"> <summary> Return the number of zero bits on the high end. </summary> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.IntUtils.MulDiv64(System.UInt64,System.UInt64,System.UInt64,System.UInt64@)"> <summary> Multiply <paramref name="a"/> and <paramref name="b"/> and divide by <paramref name="den"/>, returning the quotient and placing the remainder in <paramref name="rem"/>. Throws on overflow. </summary> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.IntUtils.TryMulDiv64Core(System.UInt64,System.UInt64,System.UInt64,System.UInt64@,System.UInt64@)"> <summary> Multiply <paramref name="a"/> and <paramref name="b"/> and divide by <paramref name="den"/>, placing the quotient in <paramref name="quo"/> and the remainder in <paramref name="rem"/>. Returns true on success. On overflow, places zero in the out parameters and returns false. </summary> </member> <member name="T:Microsoft.ML.Runtime.Internal.CpuMath.ProbabilityFunctions"> <summary> Probability Functions. </summary> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.ProbabilityFunctions.Erfc(System.Double)"> <summary> The approximate complimentary error function (i.e., 1-erf). </summary> <param name="x">The input parameter, of infinite range.</param> <returns>Evaluation of the function</returns> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.ProbabilityFunctions.Erf(System.Double)"> <summary> The approximate error function. </summary> <param name="x">The input parameter, of infinite range.</param> <returns>Evaluation of the function</returns> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.ProbabilityFunctions.Erfinv(System.Double)"> <summary> The inverse error function. </summary> <param name="x">Parameter in the range 1 to -1.</param> <returns>Evaluation of the function.</returns> </member> <member name="M:Microsoft.ML.Runtime.Internal.CpuMath.ProbabilityFunctions.Probit(System.Double)"> <summary> The probit function. This has many applications, the most familiar being perhaps that this is the point "x" at which the standard normal CDF evaluates to the indicated p value. It is used in establishing confidence intervals. </summary> <param name="p">The input p value, so in the range 0 to 1.</param> <returns>One intepretation is, the value at which the standard normal CDF evaluates to p.</returns> </member> <member name="T:Microsoft.ML.Runtime.Internal.CpuMath.SseUtils"> <summary> Keep Sse.cs in sync with Avx.cs. When making changes to one, use BeyondCompare or a similar tool to view diffs and propagate appropriate changes to the other. </summary> </member> </members> </doc> |