/// <summary> /// Assign zeros to the values at the indices /// </summary> /// <param name="indices">The indices</param> public void ZeroItems(int[] indices) { Contracts.AssertValue(indices); // REVIEW: Ideally, we'd adjust the indices once so we wouldn't need to // repeatedly deal with padding adjustments. SseUtils.ZeroMatrixItems(Items, ColCount, ColCountPhy, indices); }
public static float SumAbs(float mean, ReadOnlySpan <float> source) => SseUtils.SumAbs(mean, source);
public static void SdcaL1UpdateDense(float primalUpdate, int length, float[] src, float threshold, float[] v, float[] w) => SseUtils.SdcaL1UpdateDense(primalUpdate, length, src, threshold, v, w);
public static float L2DistSquared(float[] a, float[] b, int count) => SseUtils.L2DistSquared(a, b, count);
public static float DotProductDense(float[] a, int offset, float[] b, int count) => SseUtils.DotProductDense(a, offset, b, count);
public static float MaxAbs(float[] src, int offset, int count) => SseUtils.MaxAbs(src, offset, count);
public static float SumAbs(float[] src, int count) => SseUtils.SumAbs(src, count);
public static void MulElementWise(float[] src1, float[] src2, float[] dst, int count) => SseUtils.MulElementWise(src1, src2, dst, count);
public static void MatTimesSrc(bool tran, bool add, AlignedArray mat, AlignedArray src, AlignedArray dst, int crun) => SseUtils.MatTimesSrc(tran, add, mat, src, dst, crun);
public static void SdcaL1UpdateSparse(float primalUpdate, int count, ReadOnlySpan <float> source, ReadOnlySpan <int> indices, float threshold, Span <float> v, Span <float> w) => SseUtils.SdcaL1UpdateSparse(primalUpdate, count, source, indices, threshold, v, w);
public static float L2DistSquared(ReadOnlySpan <float> left, ReadOnlySpan <float> right, int count) => SseUtils.L2DistSquared(left, right, count);
public static float DotProductSparse(ReadOnlySpan <float> left, ReadOnlySpan <float> right, ReadOnlySpan <int> indices, int count) => SseUtils.DotProductSparse(left, right, indices, count);
public static float DotProductDense(ReadOnlySpan <float> left, ReadOnlySpan <float> right, int count) => SseUtils.DotProductDense(left, right, count);
public static float MaxAbsDiff(float mean, ReadOnlySpan <float> source) => SseUtils.MaxAbsDiff(mean, source);
public static float MaxAbs(ReadOnlySpan <float> source) => SseUtils.MaxAbs(source);
public static void Add(float[] src, float[] dst, int count) => SseUtils.Add(src, dst, count);
public static void Add(float[] src, int[] indices, float[] dst, int dstOffset, int count) => SseUtils.Add(src, indices, dst, dstOffset, count);
public static void MatTimesSrc(bool tran, bool add, AlignedArray mat, int[] rgposSrc, AlignedArray srcValues, int posMin, int iposMin, int iposLim, AlignedArray dst, int crun) => SseUtils.MatTimesSrc(tran, add, mat, rgposSrc, srcValues, posMin, iposMin, iposLim, dst, crun);
public static float SumSq(float[] src, int offset, int count) => SseUtils.SumSq(src, offset, count);
public static void Scale(float a, float[] dst, int offset, int count) => SseUtils.Scale(a, dst, offset, count);
public static float SumAbs(float mean, float[] src, int offset, int count) => SseUtils.SumAbs(mean, src, offset, count);
public static void Scale(float a, float[] src, float[] dst, int count) => SseUtils.Scale(a, src, dst, count);
public static float MaxAbsDiff(float mean, float[] src, int count) => SseUtils.MaxAbsDiff(mean, src, count);
public static void ScaleAdd(float a, float b, float[] dst, int count) => SseUtils.ScaleAdd(a, b, dst, count);
public static float DotProductSparse(float[] a, int offset, float[] b, int[] indices, int count) => SseUtils.DotProductSparse(a, offset, b, indices, count);
public static void AddScale(float a, float[] src, float[] dst, int dstOffset, int count) => SseUtils.AddScale(a, src, dst, dstOffset, count);
public static void ZeroMatrixItems(AlignedArray dst, int ccol, int cfltRow, int[] indices) => SseUtils.ZeroMatrixItems(dst, ccol, cfltRow, indices);
public static void AddScale(float a, float[] src, int[] indices, float[] dst, int count) => SseUtils.AddScale(a, src, indices, dst, count);
public static void SdcaL1UpdateSparse(float primalUpdate, int length, float[] src, int[] indices, int count, float threshold, float[] v, float[] w) => SseUtils.SdcaL1UpdateSparse(primalUpdate, length, src, indices, count, threshold, v, w);
public static void AddScaleCopy(float a, float[] src, float[] dst, float[] res, int count) => SseUtils.AddScaleCopy(a, src, dst, res, count);