Esempio n. 1
0
        internal mxNumericArray(SafeArrayPtr pa) : base(pa, mxArrayType.Numeric)
        {
            CheckActive();
            mxClassID clsId = matrix.mxGetClassID(this.NativeObject);

            int clsIdInt = (int)clsId;

            // isNumeric
            if (clsIdInt >= 6 && clsIdInt <= 15)
            {
                this.NumericType = (mxNumericType)clsIdInt;
            }
            else
            {
                throw new ArgumentException("The argument is not a numeric.");
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Create a mxArray with a mxArray pointer.
        /// </summary>
        /// <param name="pa"></param>
        /// <returns></returns>
        internal static mxArray Create(SafeArrayPtr pa)
        {
            if (pa.IsInvalid)
            {
                throw new ArgumentException("pa");
            }

            mxClassID clsId = matrix.mxGetClassID(pa);

            switch (clsId)
            {
            case mxClassID.mxDOUBLE_CLASS:
            case mxClassID.mxINT16_CLASS:
            case mxClassID.mxINT32_CLASS:
            case mxClassID.mxINT64_CLASS:
            case mxClassID.mxINT8_CLASS:
            case mxClassID.mxSINGLE_CLASS:
            case mxClassID.mxUINT16_CLASS:
            case mxClassID.mxUINT32_CLASS:
            case mxClassID.mxUINT64_CLASS:
            case mxClassID.mxUINT8_CLASS:
                return(new mxNumericArray(pa));

            case mxClassID.mxLOGICAL_CLASS:
                return(new mxLogicalArray(pa));

            case mxClassID.mxCELL_CLASS:
                return(new mxCellArray(pa));

            case mxClassID.mxCHAR_CLASS:
                return(new mxCharArray(pa));

            case mxClassID.mxSTRUCT_CLASS:
                return(new mxStructArray(pa));

            default:
                throw new NotSupportedException();
            }
        }
Esempio n. 3
0
 internal static extern IntPtr mxCreateNumericArray(int ndim, int[] dims, mxClassID classid, mxComplexity flag);
Esempio n. 4
0
 internal static extern IntPtr mxCreateNumericMatrix(int n, int m, mxClassID classid, mxComplexity c);