⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 flxor.c

📁 Proakis《contemporarycommunication systems using matlab》matlab源代码
💻 C
字号:
#include <math.h>
#include "mex.h"
/*
 * Wes Wang, Cleve Moler, 10/5/95
 * Copyright (c) 1995-96 The MathWorks, Inc.
 * All Rights Reserved
 * $Revision: 1.1 $  $Date: 1996/04/01 18:13:56 $
 */
void mexFunction(int nlhs, Matrix *plhs[], int nrhs, Matrix *prhs[])
/* 
 * FLXOR Flint bitwise exclusive or (vectorized).
 *    r = flxor(i,j)
 */
{
       int mi,ni,mj,nj,m,n,k,inci,incj;
        double *pi,*pj,*pr;
     mi = mxGetM(prhs[0]);
   ni = mxGetN(prhs[0]);
   mj = mxGetM(prhs[1]);
   nj = mxGetN(prhs[1]);
   if ((mi == 1) & (ni == 1) & (mj == 1) & (nj == 1)) {
    *mxGetPr(plhs[0] = mxCreateFull(1,1,0)) = 
              (double) (((int)mxGetScalar(prhs[0])) ^ ((int)mxGetScalar(prhs[1])));
           return;
 } else if ((mi == mj) & (ni == nj)) {
           m = mi;
         n = ni;
         inci = 1;
               incj = 1;
       } else if ((mj == 1) & (nj == 1)) {
             m = mi;
         n = ni;
         inci = 1;
               incj = 0;
       } else if ((mi == 1) & (ni == 1)) {
             m = mj;
         n = nj;
         inci = 0;
               incj = 1;
       } else {
                mexErrMsgTxt("Matrix dimensions must agree.");
  }
       pi = mxGetPr(prhs[0]);
  pj = mxGetPr(prhs[1]);
  pr = mxGetPr(plhs[0] = mxCreateFull(m,n,0));
    for (k = 0; k < m*n; k++) {
             *pr++ = (double) (((int) *pi) ^ ((int) *pj));
           pi += inci;
             pj += incj;
     }
       return;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -