亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mod2sparse.html

?? 關于LDPC編/譯碼的方針平臺。能隨機產生信源和模擬高斯信道。
?? HTML
?? 第 1 頁 / 共 2 頁
字號:
<HTML><HEAD><TITLE> Sparse Modulo-2 Matrix Routines </TITLE></HEAD><BODY><H1> Sparse Modulo-2 Matrix Routines </H1><P>This module implements operations on matrices in which the elementsare all 0 or 1, with addition and multiplication being done modulo 2.The matrices are represented by doubly-linked lists of entriesrepresenting the elements in each row and column that are 1s, withother elements being assumed to be zero.  <P>This is an appropriate representation when the matrices are sparse(ie, 0s are much more frequent that 1s).  Matrices in which 0s and 1sare about equally likely may be better handled with the <AHREF="mod2dense.html">dense modulo-2 matrix routines</A>.  Matricescan be converted between these two formats using the <AHREF="mod2convert.html">module-2 matrix conversion routines</A>.<P>All procedures in this module display an error message on standard error and terminate the program if passed an invalid argument (indicativeof a programming error), or if memory cannot be allocated.  Errors from invalid contents of a file result in an error code being returned to the caller, with no message being printed by this module. <A NAME="rep"><H2>Representation of sparse matrices</H2></A><P>This module represents a non-zero element of a matrix (which must havethe value 1, since these are modulo-2 matrices) by a node of type<TT>mod2entry</TT>, which contains the row and column of the element,pointers to the next non-zero elements above and below in its columnand to the left and the right in its row, and two double-precisionfloating-point numbers called <B>pr</B> and <B>lr</B>, which areof no significance to this module, but which are used by the routinesfor <A HREF="decoding.html#prprp">decoding LDPC codes by probabilitypropagation</A>.<P>The <TT>mod2sparse</TT> type represents a matrix.  It records thenumber of rows and columns in the matrix, and contains arrays ofpointers to the <TT>mod2entry</TT> structures for the first non-zeroelement in each row and the first non-zero element in each column.<P>Matrices must be created by the <AHREF="#allocate"><TT>mod2sparse_allocate</TT></A> procedure, whichreturns a pointer to a <TT>mod2sparse</TT> structure.  When a matrixis no longer needed, the space it occupies can be freed with <AHREF="#free"><TT>mod2sparse_free</TT></A>.  Elements within a matrix,represented by <TT>mod2entry</TT> nodes, are allocated as needed, andif deleted, they will be reused for new elements within the samematrix.  The space they occupy is not reusable for other matrices orother purposes until the entire matrix is either freed, with <AHREF="#free"><TT>mod2sparse_free</TT></A>, or cleared to all zeros,with <A HREF="#clear"><TT>mod2sparse_clear</TT></A>, or used asthe result matrix for copying or arithmetic operations.<P><B>Header files required</B>:<TT>mod2sparse.h</TT><A NAME="dimension-sec"><P><HR><CENTER><BIG>Dimension Macros</BIG></CENTER></A><HR>The following macros take a pointer to a mod2sparse structure as theirargument, and return the number of rows or the number of columns inthe matrix pointed to, which will have been fixed when the matrix wascreated with <A HREF="#allocate">mod2sparse_allocate</A>:<BLOCKQUOTE><PRE>mod2sparse_rows(m)   /* Returns the number of rows in m */mod2sparse_cols(m)   /* Returns the number of columns in m */</PRE></BLOCKQUOTE><A NAME="traversal-sec"><P><HR><CENTER><BIG>Traversal Macros</BIG></CENTER></A><HR>The following macros are used to move around a sparse matrix byfollowing the pointers from one non-zero element to the next orprevious non-zero element in the same row or column.  If such amovement takes one beyond the last or before first entry in a row orcolumn, or if one tries to find the first or last non-zero entry in arow or column that has no non-zero entries, the entry returned will bea special one that can be identified using the<TT>mod2sparse_at_end</TT> macro.  <P>The macros for finding the first or last entry in a row or columntake as their arguments a pointer to the matrix (<TT>mod2sparse*</TT>) and a row or column index, starting at zero.  The other macrostake as their arguments a pointer to an entry (<TT>mod2entry *</TT>)within some matrix.<BLOCKQUOTE><PRE>mod2sparse_first_in_row(m,i) /* Returns the first entry in row i of m */mod2sparse_first_in_col(m,j) /* Returns the first entry in column j of m */mod2sparse_last_in_row(m,i)  /* Returns the last entry in row i of m */mod2sparse_last_in_col(m,j)  /* Returns the last entry in column j of m */mod2sparse_next_in_row(e)    /* Returns the entry after e in its row */mod2sparse_next_in_col(e)    /* Returns the entry after e in its column */mod2sparse_prev_in_row(e)    /* Returns the entry before e in its row */mod2sparse_prev_in_col(e)    /* Returns the entry before e in its col */mod2sparse_row(e)            /* Returns the row index of entry e */mod2sparse_col(e)            /* Returns the column index of entry e */mod2sparse_at_end(e)         /* Returns 1 if e is a special entry obtained                                 by moving past the end, returns 0 otherwise */</PRE></BLOCKQUOTE><A NAME="alloc-sec"><P><HR><CENTER><BIG>Allocating and Freeing Sparse Modulo-2 Matrices</BIG></CENTER></A><A NAME="allocate"><HR><B>mod2sparse_allocate</B>: Allocate space for a sparse module-2 matrix.</A><BLOCKQUOTE><PRE>mod2sparse *mod2sparse_allocate ( int n_rows,     /* Number of rows in matrix */  int n_cols      /* Number of columns in matrix */)</PRE></BLOCKQUOTE>Allocates space for a matrix with the given number of rows andcolumns, and returns a pointer to it.  The matrix will initiallybe all zero.  <P>If there is not enough memory available, a message is displayed onstandard error and the program is terminated.  The matrix should befreed with <A HREF="#free"><TT>mod2sparse_free</TT></A> once it is nolonger in use.<P><A NAME="free"><HR><B>mod2sparse_free</B>: Free the space occupied by a sparse module-2 matrix.</A><BLOCKQUOTE><PRE>void mod2sparse_free ( mod2sparse *m   /* Pointer to matrix to free */)</PRE></BLOCKQUOTE>Frees the space occupied by the matrix for re-use.  The pointer passedshould not be used afterward.  Note that space for the individual matrixelements (but not the matrix as a whole) is also freed when <AHREF="#clear"><TT>mod2sparse_clear</TT></A> is called, or the matrixis used as the destination for other operations.<A NAME="copy-clear-sec"><P><HR><CENTER><BIG>Copying and Clearing Sparse Modulo-2 Matrices</BIG></CENTER></A><A NAME="clear"><HR><B>mod2sparse_clear</B>: Set all elements of a matrix to zero.</A><BLOCKQUOTE><PRE>void mod2sparse_clear( mod2sparse *m   /* Pointer to matrix to clear */)</PRE></BLOCKQUOTE>Sets all of the elements of the matrix passed to 0.  The space occupiedby the previous non-zero elements is freed for use in other matrices, orother purposes.  The matrix itself is not freed, however.  To do that,use <A HREF="#free"><TT>mod2sparse_free</TT></A>.<P><A NAME="copy"><HR><B>mod2sparse_copy</B>: Copy the contents of one matrix to another.</A><BLOCKQUOTE><PRE>void mod2sparse_copy( mod2sparse *m   /* Pointer to matrix to copy from */  mod2sparse *r   /* Pointer to matrix to receive data */)</PRE></BLOCKQUOTE>Copies the contents of the first matrix passed, <B>m</B>, to thesecond matrix passed, <B>r</B>, which must already have beenallocated, and must have at least as many rows and columns as thefirst.  If <B>r</B> is larger than <B>m</B>, its elements that haverow or column indexes greater than the dimension of <B>m</B> are setto zeros.  <P>The space occupied by the previous non-zero entries of <B>r</B> isfreed for general use (which may include being reused immediately forthe copies of the entries in <B>m</B>).<P><A NAME="copyrows"><HR><B>mod2sparse_copyrows</B>: Copy selected rows from one matrix to another.</A><BLOCKQUOTE><PRE>void mod2sparse_copyrows( mod2sparse *m,  /* Pointer to matrix to copy rows from */  mod2sparse *r,  /* Pointer to matrix in which to store data */  int *rows       /* Indexes of rows, numbered from 0 */)</PRE></BLOCKQUOTE>Copies selected rows of the first matrix, <B>m</B>, to the secondmatrix, <B>r</B>, which must already have been allocated, and whichmust have at least as many columns as <B>m</B>.  The indexes of therows to copy are given in order as an array of length the same asthe number of rows in <B>r</B>; duplicates are allowed.  Rowindexes start at 0.  These rows are copied to <B>r</B>, with therow indexed by the first entry in <B>rows</B> going to thefirst row of <B>r</B>, and so forth.  If <B>r</B> has more columns than <B>m</B>, the extra entries in each row are set to zeros.<P>The space occupied by the previous non-zero entries of <B>r</B> isfreed for general use (which may include being reused immediately forthe copies of the entries in <B>m</B>).<P><A NAME="copycols"><HR><B>mod2sparse_copycols</B>: Copy selected columns from one matrix to another.</A><BLOCKQUOTE><PRE>void mod2sparse_copycols( mod2sparse *m,  /* Pointer to matrix to copy columns from */  mod2sparse *r,  /* Pointer to matrix in which to store data */  int *cols       /* Indexes of columns, numbered from 0 */)</PRE></BLOCKQUOTE>Copies selected columns of the first matrix, <B>m</B>, to the secondmatrix, <B>r</B>, which must already have been allocated, and whichmust have at least as many rows as <B>m</B>.  The indexes of thecolumns to copy are given in order as an array of length the same asthe number of columns in <B>r</B>; duplicates are allowed.  Columnindexes start at 0.  These columns are copied to <B>r</B>, with thecolumn indexed by the first entry in <B>cols</B> going to thefirst column of <B>r</B>, and so forth.  If <B>r</B> has more rows than <B>m</B>, the extra entries in each column are set to zeros.<P>The space occupied by the previous non-zero entries of <B>r</B> isfreed for general use (which may include being reused immediately forthe copies of the entries in <B>m</B>).<A NAME="input-output-sec"><P><HR><CENTER><BIG>Input and Output of Sparse Modulo-2 Matrices</BIG></CENTER></A><A NAME="print"><HR><B>mod2sparse_print</B>: Print a sparse modulo-2 matrix in human-readable form.</A><BLOCKQUOTE><PRE>void mod2sparse_print( FILE *f,        /* File to print to */  mod2sparse *m   /* Pointer to matrix to print */)</PRE></BLOCKQUOTE>The matrix is printed on standard output with one line of output per row,of the form<BLOCKQUOTE><PRE><I>row</I>: <I>col col col ...</I></PRE></BLOCKQUOTE>where <I>row</I> is the index of the row, and the <I>col</I> entries are the indexes of columns that are non-zero in that row.  Row and columnindexes start at zero.  Rows with no entries are printed with no columnindexes after the colon.  The number of columns is not indicated in the output. <P><A NAME="write"><HR><B>mod2sparse_write</B>: Write a sparse modulo-2 matrix to a file in machine-readable format.</A><BLOCKQUOTE><PRE>int mod2sparse_write( FILE *f,        /* File to write data to */  mod2sparse *m   /* Pointer to matrix write out */)</PRE></BLOCKQUOTE>Writes a machine-readable representation the sparse matrix <B>m</B> tothe file <B>f</B>.  The file should have been opened in binary mode(with a "b" in the mode passed to fopen).  The contents written willnot be text, and will not be human-readable.  Other binary data mayprecede or follow the data for the matrix written.  <P>The data written to the file starts with the number of rows and thenumber of columns.  Following this are negative integers giving rowindexes (starting at 1), which apply until the next row index, andpositive integers giving column indexes (starting at 1) for a non-zeroentry in the matrix.  The data should be readable by <AHREF="#read"><TT>mod2sparse_read</TT></A> even on a machine with adifferent byte-ordering.<P>The value returned by <TT>mod2sparse_write</TT> is one if theoperation was successful, zero if an error of some sort occurred.<P><A NAME="read"><HR><B>mod2sparse_read</B>: Read a sparse modulo-2 matrix from a file.</A><BLOCKQUOTE><PRE>mod2sparse *mod2sparse_read( FILE *f,        /* File to read data from */)</PRE></BLOCKQUOTE>Reads a sparse modulo-2 matrix from the file <B>f</B>.  This fileshould have been opened in binary mode (with a "b" in the mode passedto fopen).  The contents of the file at the point when<TT>mod2sparse_read</TT> is called should have been written by <AHREF="#write"><TT>mod2sparse_write</TT></A>.  Other binary data mayprecede or follow this data.<P>The value returned is a pointer to the matrix read, for which spacewill have been allocated by <TT>mod2sparse_read</TT>, or zero if anerror occurred (either an error reading the file, or data not in theright format).<A NAME="elementary-sec"><P><HR><CENTER><BIG>Elementary Operations on Sparse Modulo-2 Matrices</BIG></CENTER></A><A NAME="find"><HR><B>mod2sparse_find</B>: Look for an entry at a given row and column.</A><BLOCKQUOTE><PRE>mod2entry *mod2sparse_find( mod2sparse *m,  /* Matrix in which to look for entry */  int row,        /* Row index (from 0) */  int col         /* Column index (from 0) */)</PRE></BLOCKQUOTE>Looks for an entry at the given row and column in the matrix <B>m</B>,representing a non-zero element (ie, one with value 1).  Returns apointer to this entry if it exists, or zero (a null pointer) if it does not exist (ie, if that element of the matrix has value 0).<P>The search strategy is to first look at the end of the row and theend of the column.  The entry might be found at one of these twoplaces, or it might be determinable from these end entries that noentry exists at the given row and column.  Otherwise, searches aredone from the start of the row and the start of the column, inparallel, until an entry with the given row and column are found, oruntil it can be determined that such an entry does not exist.Searching in parallel ensures that the operation will be fast ifeither the row is sparse or the column is sparse.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美日韩小说| 一区二区三区欧美日| 麻豆成人在线观看| 8x福利精品第一导航| 亚洲夂夂婷婷色拍ww47| 91麻豆文化传媒在线观看| 久久精品亚洲国产奇米99| 美女一区二区在线观看| 在线成人免费视频| 亚洲va欧美va人人爽| 97成人超碰视| 亚洲日本在线观看| 波多野结衣亚洲一区| 国产亚洲精品精华液| 国产伦精品一区二区三区免费迷| 日韩一区二区影院| 久久国内精品视频| www国产亚洲精品久久麻豆| 中文字幕一区三区| 婷婷综合在线观看| 欧美日韩成人激情| 日本va欧美va欧美va精品| 欧美日韩国产综合视频在线观看| 午夜久久久影院| 欧美另类videos死尸| 人人狠狠综合久久亚洲| 日韩一区二区精品在线观看| 麻豆精品视频在线| 精品福利一区二区三区| 国产精品一区二区91| 欧美国产视频在线| 色综合久久久久综合体桃花网| 一区二区三区在线影院| 欧美三级视频在线播放| 偷窥国产亚洲免费视频| 欧美成人福利视频| 国产精品18久久久久久久久| 中文字幕欧美激情一区| 色婷婷久久综合| 亚洲第一福利视频在线| 欧美一级生活片| 国产综合成人久久大片91| 欧美国产精品一区二区三区| 91在线视频网址| 亚洲电影视频在线| 日韩精品专区在线影院重磅| 国产精品一区二区视频| 中文字幕在线观看不卡视频| 一本到一区二区三区| 婷婷激情综合网| 精品国产免费人成在线观看| 国产91丝袜在线18| 一区二区三区色| 欧美一区二区福利视频| 国产成人无遮挡在线视频| 亚洲女与黑人做爰| 欧美一区二区三区白人| 国产高清成人在线| 一级特黄大欧美久久久| 欧美一区二区三区婷婷月色| 国产成人综合自拍| 一区二区三区色| 亚洲精品在线网站| 91亚洲精品久久久蜜桃| 青青草97国产精品免费观看| 中文字幕va一区二区三区| 欧美网站大全在线观看| 国产一二三精品| 一区二区三区在线免费播放| 日韩精品一区二区三区四区视频 | 中文字幕日韩一区| 欧美色图激情小说| 国产精品白丝jk白祙喷水网站| 亚洲另类色综合网站| 精品久久久久久亚洲综合网| 91麻豆6部合集magnet| 蜜桃视频在线观看一区| 中文字幕一区在线观看| 精品国产三级电影在线观看| 欧美在线小视频| 国产乱理伦片在线观看夜一区| 亚洲欧美日韩小说| 精品久久久久一区| 欧美综合视频在线观看| 国产呦萝稀缺另类资源| 亚洲国产aⅴ天堂久久| 中文字幕不卡的av| 日韩欧美区一区二| 91麻豆精东视频| 久久99精品一区二区三区三区| 一区二区三区四区五区视频在线观看 | 国产自产2019最新不卡| 一区二区三区久久| 亚洲国产精品成人久久综合一区| 欧美日韩视频专区在线播放| av爱爱亚洲一区| 国产曰批免费观看久久久| 日韩精品久久理论片| 亚洲女人小视频在线观看| 国产午夜亚洲精品理论片色戒| 制服丝袜激情欧洲亚洲| 91麻豆国产精品久久| 国产精品亚洲一区二区三区妖精 | 天堂在线一区二区| 亚洲桃色在线一区| 久久精品夜夜夜夜久久| 日韩一区二区三区免费观看 | 成人av资源在线观看| 亚洲视频综合在线| 国产一区二区三区四| 欧美中文字幕一区二区三区| 91精品国产高清一区二区三区| 国产午夜精品美女毛片视频| 一区二区三区电影在线播| 日韩电影免费一区| 成人黄动漫网站免费app| 91精品国产高清一区二区三区蜜臀 | 亚洲欧美一区二区三区极速播放| 欧美综合天天夜夜久久| 99国产欧美另类久久久精品| 精品制服美女丁香| 五月天婷婷综合| 亚洲天堂免费看| 国产无一区二区| 欧美精品久久99| 欧美亚洲一区三区| 成人av网在线| 国产九色精品成人porny| 蜜臀av一级做a爰片久久| 日韩一区欧美二区| 亚洲一区欧美一区| 亚洲欧美综合色| 国产调教视频一区| ww亚洲ww在线观看国产| 欧美老肥妇做.爰bbww视频| 欧美日韩在线电影| 在线看国产一区| 一本久久精品一区二区| 成人av动漫在线| 成人妖精视频yjsp地址| 美女精品一区二区| 日韩av一区二区在线影视| 亚洲一区二区在线观看视频| 亚洲男人的天堂在线观看| 国产精品日韩成人| 国产人妖乱国产精品人妖| 国产欧美一区视频| 国产亚洲视频系列| www久久精品| 精品国产免费人成电影在线观看四季 | 日韩电影在线一区二区| 亚洲国产综合视频在线观看| 一区二区三区在线观看网站| 国产精品久久久久久久久动漫| 国产精品成人在线观看| 欧美经典一区二区三区| 日韩精品一区二区在线观看| 日韩一区二区三区视频在线观看| 884aa四虎影成人精品一区| 欧美午夜不卡在线观看免费| 欧美视频一区二区三区四区| 色婷婷av一区二区三区之一色屋| 色屁屁一区二区| 色综合网色综合| 岛国精品在线观看| 国产99久久久国产精品潘金| 岛国av在线一区| 国产伦精一区二区三区| 成人综合婷婷国产精品久久| 成人性生交大片| 99精品一区二区三区| 色综合中文字幕国产| av成人老司机| 色哟哟一区二区在线观看| 捆绑调教美女网站视频一区| 亚洲动漫第一页| 日韩一区精品视频| 国产毛片精品国产一区二区三区| 国产福利91精品一区| 成人夜色视频网站在线观看| 92精品国产成人观看免费| 欧美中文字幕一区| 亚洲精品在线观看网站| 国产欧美一区二区精品秋霞影院| 中文一区二区在线观看| 亚洲精品中文在线| 亚洲同性gay激情无套| 日韩高清在线电影| 国产精品一二三四五| proumb性欧美在线观看| 欧美中文字幕亚洲一区二区va在线| 欧美日韩亚洲丝袜制服| 日韩一区二区在线看片| 中文字幕av资源一区| 亚洲一区二区三区视频在线| 蜜桃视频在线观看一区二区| 岛国av在线一区| 欧美日韩国产高清一区二区 | 另类调教123区| 国产成人在线观看免费网站|