Example #1
0
File: sqrt.cs Project: 0xCM/arrows
 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);
 }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
File: sub.g.cs Project: 0xCM/arrows
        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);
        }