Exemplo n.º 1
0
Arquivo: sqrt.cs Projeto: 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);
 }
Exemplo n.º 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);
        }
Exemplo n.º 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);
        }
Exemplo n.º 4
0
Arquivo: sub.g.cs Projeto: 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);
        }