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

📄 flxor.c

📁 数字通信第四版原书的例程
💻 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 + -