Esempio n. 1
0
        public IFloatData2D VT_mult_V(IFloatData vt, IFloatData v)
        {
            var output = new float[v.Length, vt.Length];

            Parallel.For(0, v.Length, x => { Parallel.For(0, vt.Length, y => { output[x, y] = vt[y] * v[x]; }); });
            return(new CPU_FloatData2D(output));
        }
Esempio n. 2
0
 public IFloatData V_div_C(IFloatData cache, IFloatData v, float c)
 {
     for (int i = 0; i < cache.Length; i++)
     {
         cache[i] = v[i] / c;
     }
     return(cache);
 }
Esempio n. 3
0
 public IFloatData Sqrt(IFloatData cache, IFloatData arr)
 {
     for (int i = 0; i < cache.Length; i++)
     {
         cache[i] = SafeDouble(Math.Sqrt(arr[i]));
     }
     return(cache);
 }
Esempio n. 4
0
 public IFloatData V_add_V(IFloatData cache, IFloatData v0, IFloatData v1)
 {
     for (int i = 0; i < cache.Length; i++)
     {
         cache[i] = v0[i] + v1[i];
     }
     return(cache);
 }
Esempio n. 5
0
 public IFloatData V_sub_C(IFloatData cache, float c, IFloatData v)
 {
     for (int i = 0; i < cache.Length; i++)
     {
         cache[i] = c - v[i];
     }
     return(cache);
 }
Esempio n. 6
0
 public IFloatData Pow(IFloatData cache, IFloatData arr, float exp)
 {
     for (int i = 0; i < cache.Length; i++)
     {
         cache[i] = SafeDouble(Math.Pow(arr[i], exp));
     }
     return(cache);
 }
Esempio n. 7
0
        public IFloatData ApplyMask(IFloatData arr, IByteData mask)
        {
            var output = new float[arr.Length];

            for (var x = 0; x < arr.Length; x++)
            {
                output[x] = arr[x] * mask[x];
            }
            return(new CPU_FloatData(output));
        }
Esempio n. 8
0
 public IFloatData2D M_mult_V(IFloatData2D cache, IFloatData2D m, IFloatData v)
 {
     for (int x = 0; x < m.W; x++)
     {
         for (int y = 0; y < m.H; y++)
         {
             cache[x, y] = m[x, y] * v[x];
         }
     }
     return(cache);
 }
Esempio n. 9
0
 public IFloatData2D VT_mult_M(IFloatData2D cache, IFloatData vt, IFloatData2D m)
 {
     for (int x = 0; x < m.W; x++)
     {
         for (int y = 0; y < m.H; y++)
         {
             cache[x, y] = vt[y] * m[x, y];
         }
     }
     return(cache);
 }
Esempio n. 10
0
        public IFloatData2D VT_mult_V(IFloatData vt, IFloatData v)
        {
            var output = new float[v.Length, vt.Length];

            for (int x = 0; x < v.Length; x++)
            {
                for (int y = 0; y < vt.Length; y++)
                {
                    output[x, y] = vt[y] * v[x];
                }
            }
            return(new CPU_FloatData2D(output));
        }
Esempio n. 11
0
 public IFloatData V_div_C(IFloatData cache, float c, IFloatData v)
 {
     Parallel.For(0, cache.Length, i => cache[i] = c / v[i]);
     return(cache);
 }
Esempio n. 12
0
 public IFloatData V_div_C(IFloatData cache, IFloatData v, float c)
 {
     Parallel.For(0, cache.Length, i => cache[i] = v[i] / c);
     return(cache);
 }
Esempio n. 13
0
 public FloatArray(float[] data)
 {
     _view = ProcessingDevice.FloatData.New(data);
     cache = ProcessingDevice.FloatData.New(Length);
 }
Esempio n. 14
0
 public FloatArray(int size)
 {
     _view = ProcessingDevice.FloatData.New(size);
     cache = ProcessingDevice.FloatData.New(size);
 }
Esempio n. 15
0
 public IFloatData V_mult_V(IFloatData cache, IFloatData v0, IFloatData v1)
 {
     Parallel.For(0, cache.Length, i => cache[i] = v0[i] * v1[i]);
     return(cache);
 }
Esempio n. 16
0
 public IFloatData Cos(IFloatData cache, IFloatData arr)
 {
     Parallel.For(0, cache.Length, i => { cache[i] = SafeDouble(Math.Cos(arr[i])); });
     return(cache);
 }
Esempio n. 17
0
 public IFloatData Pow(IFloatData cache, IFloatData arr, float exp)
 {
     Parallel.For(0, cache.Length, i => { cache[i] = SafeDouble(Math.Pow(arr[i], exp)); });
     return(cache);
 }
Esempio n. 18
0
 public FloatArrayT(IFloatData data)
 {
     _view = data;
 }
Esempio n. 19
0
 public IFloatData2D VT_mult_M(IFloatData2D cache, IFloatData vt, IFloatData2D m)
 {
     Parallel.For(0, m.W, x => { Parallel.For(0, m.H, y => { cache[x, y] = vt[y] * m[x, y]; }); });
     return(cache);
 }
Esempio n. 20
0
 public FloatArray(IFloatData data)
 {
     _view = data;
     cache = ProcessingDevice.FloatData.New(Length);
 }
Esempio n. 21
0
 public IFloatData2D M_mult_V(IFloatData2D cache, IFloatData2D m, IFloatData v)
 {
     Parallel.For(0, m.W, x => { Parallel.For(0, m.H, y => { cache[x, y] = m[x, y] * v[x]; }); });
     return(cache);
 }