public static Span256 <float> sqrt(Span256 <float> src, Span256 <float> dst) { for (var block = 0; block < src.BlockCount; block++) { var x = Vec256.Load(ref src.Block(block)); vstore(dfp.sqrt(x), ref dst[block]); } return(dst); }
public static Span256 <ulong> add(ReadOnlySpan256 <ulong> lhs, ReadOnlySpan256 <ulong> rhs, Span256 <ulong> dst) { var blocks = dst.BlockCount; for (var block = 0; block < blocks; block++) { vstore(dinx.add(lhs.LoadVec256(block), rhs.LoadVec256(block)), ref dst.Block(block)); } return(dst); }
public static Span256 <float> fmul(ReadOnlySpan256 <float> lhs, ReadOnlySpan256 <float> rhs, Span256 <float> dst) { var blocks = dst.BlockCount; for (var block = 0; block < blocks; block++) { vstore(dfp.fmul(lhs.LoadVec256(block), rhs.LoadVec256(block)), ref dst.Block(block)); } return(dst); }
public static Span256 <T> sub <T>(ReadOnlySpan256 <T> lhs, ReadOnlySpan256 <T> rhs, Span256 <T> dst) where T : struct { var blocks = dst.BlockCount; for (var block = 0; block < blocks; block++) { store(ginx.sub(ginx.lddqu256(in lhs.Block(block)), ginx.lddqu256(in rhs.Block(block))), ref dst.Block(block)); } return(dst); }