Example #1
0
        public void swap(NinePointLinearOp m)
        {
            Utils.swap(ref d0_, ref m.d0_);
            Utils.swap(ref d1_, ref m.d1_);

            Utils.swap(ref i00_, ref m.i00_); Utils.swap(ref i10_, ref m.i10_); Utils.swap(ref i20_, ref m.i20_);
            Utils.swap(ref i01_, ref m.i01_); Utils.swap(ref i21_, ref m.i21_); Utils.swap(ref i02_, ref m.i02_);
            Utils.swap(ref i12_, ref m.i12_); Utils.swap(ref i22_, ref m.i22_);
            Utils.swap(ref a00_, ref m.a00_); Utils.swap(ref a10_, ref m.a10_); Utils.swap(ref a20_, ref m.a20_);
            Utils.swap(ref a01_, ref m.a01_); Utils.swap(ref a21_, ref m.a21_); Utils.swap(ref a02_, ref m.a02_);
            Utils.swap(ref a12_, ref m.a12_); Utils.swap(ref a22_, ref m.a22_); Utils.swap(ref a11_, ref m.a11_);

            Utils.swap(ref mesher_, ref m.mesher_);
        }
Example #2
0
        public NinePointLinearOp mult(Vector r)
        {
            NinePointLinearOp retVal = new NinePointLinearOp(d0_, d1_, mesher_);
            int size = mesher_.layout().size();

            //#pragma omp parallel for
            for (int i = 0; i < size; ++i)
            {
                double s = r[i];
                retVal.a11_[i] = a11_[i] * s; retVal.a00_[i] = a00_[i] * s;
                retVal.a01_[i] = a01_[i] * s; retVal.a02_[i] = a02_[i] * s;
                retVal.a10_[i] = a10_[i] * s; retVal.a20_[i] = a20_[i] * s;
                retVal.a21_[i] = a21_[i] * s; retVal.a12_[i] = a12_[i] * s;
                retVal.a22_[i] = a22_[i] * s;
            }

            return(retVal);
        }
Example #3
0
        public NinePointLinearOp(NinePointLinearOp m)
        {
            d0_     = m.d0_;
            d1_     = m.d1_;
            i00_    = new InitializedList <int>(m.mesher_.layout().size());
            i10_    = new InitializedList <int>(m.mesher_.layout().size());
            i20_    = new InitializedList <int>(m.mesher_.layout().size());
            i01_    = new InitializedList <int>(m.mesher_.layout().size());
            i21_    = new InitializedList <int>(m.mesher_.layout().size());
            i02_    = new InitializedList <int>(m.mesher_.layout().size());
            i12_    = new InitializedList <int>(m.mesher_.layout().size());
            i22_    = new InitializedList <int>(m.mesher_.layout().size());
            a00_    = new InitializedList <double>(m.mesher_.layout().size());
            a10_    = new InitializedList <double>(m.mesher_.layout().size());
            a20_    = new InitializedList <double>(m.mesher_.layout().size());
            a01_    = new InitializedList <double>(m.mesher_.layout().size());
            a11_    = new InitializedList <double>(m.mesher_.layout().size());
            a21_    = new InitializedList <double>(m.mesher_.layout().size());
            a02_    = new InitializedList <double>(m.mesher_.layout().size());
            a12_    = new InitializedList <double>(m.mesher_.layout().size());
            a22_    = new InitializedList <double>(m.mesher_.layout().size());
            mesher_ = m.mesher_;

            m.i00_.copy(0, m.i00_.Count, 0, i00_);
            m.i10_.copy(0, m.i10_.Count, 0, i10_);
            m.i20_.copy(0, m.i20_.Count, 0, i20_);
            m.i01_.copy(0, m.i01_.Count, 0, i01_);
            m.i21_.copy(0, m.i21_.Count, 0, i21_);
            m.i02_.copy(0, m.i02_.Count, 0, i02_);
            m.i12_.copy(0, m.i12_.Count, 0, i12_);
            m.i22_.copy(0, m.i22_.Count, 0, i22_);
            m.a00_.copy(0, m.a00_.Count, 0, a00_);
            m.a10_.copy(0, m.a10_.Count, 0, a10_);
            m.a20_.copy(0, m.a20_.Count, 0, a20_);
            m.a01_.copy(0, m.a01_.Count, 0, a01_);
            m.a11_.copy(0, m.a11_.Count, 0, a11_);
            m.a21_.copy(0, m.a21_.Count, 0, a21_);
            m.a02_.copy(0, m.a02_.Count, 0, a02_);
            m.a12_.copy(0, m.a12_.Count, 0, a12_);
            m.a22_.copy(0, m.a22_.Count, 0, a22_);
        }