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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? mod2sparse.h

?? 關(guān)于LDPC編/譯碼的方針平臺。能隨機(jī)產(chǎn)生信源和模擬高斯信道。
?? H
字號:
/* MOD2SPARSE.H - Interface to module for handling sparse mod2 matrices. *//* Copyright (c) 2000, 2001 by Radford M. Neal  * * Permission is granted for anyone to copy, use, or modify this program  * for purposes of research or education, provided this copyright notice  * is retained, and note is made of any changes that have been made.  * * This program is distributed without any warranty, express or implied. * As this program was written for research purposes only, it has not been * tested to the degree that would be advisable in any important application. * All use of this program is entirely at the user's own risk. *//* This module implements operations on sparse matrices of mod2 elements    (bits, with addition and multiplication being done modulo 2).       All procedures in this module display an error message on standard    error and terminate the program if passed an invalid argument (indicative   of 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. *//* DATA STRUCTURES USED TO STORE A SPARSE MATRIX.  Non-zero entries (ie, 1s)   are represented by nodes that are doubly-linked both by row and by column,   with the headers for these lists being kept in arrays.  Nodes are allocated   in blocks to reduce time and space overhead.  Freed nodes are kept for   reuse in the same matrix, rather than being freed for other uses, except    that they are all freed when the matrix is cleared to all zeros by the   mod2sparse_clear procedure, or copied into by mod2sparse_copy.    Direct access to these structures should be avoided except in low-level   routines.  Use the macros and procedures defined below instead. */typedef struct mod2entry /* Structure representing a non-zero entry, or			      the header for a row or column               */{  int row, col;		  /* Row and column indexes of this entry, starting                             at 0, and with -1 for a row or column header  */  struct mod2entry *left, *right,  /* Pointers to entries adjacent in row  */                   *up, *down;     /*   and column, or to headers.  Free   */                                   /*   entries are linked by 'left'.      */  double pr, lr;	  /* Probability and likelihood ratios - not used  */			  /*   by the mod2sparse module itself             */} mod2entry;#define Mod2sparse_block 10  /* Number of entries to block together for                                memory allocation */typedef struct mod2block /* Block of entries allocated all at once */{  struct mod2block *next;  /* Next block that has been allocated */  mod2entry entry[Mod2sparse_block]; /* Entries in this block */} mod2block;typedef struct		/* Representation of a sparse matrix */{   int n_rows;		  /* Number of rows in the matrix */  int n_cols;		  /* Number of columns in the matrix */  mod2entry *rows;	  /* Pointer to array of row headers */  mod2entry *cols;	  /* Pointer to array of column headers */  mod2block *blocks;	  /* Blocks that have been allocated */  mod2entry *next_free;	  /* Next free entry */} mod2sparse;/* MACROS TO GET AT ELEMENTS OF A SPARSE MATRIX.  The 'first', 'last', 'next',   and 'prev' macros traverse the elements in a row or column.  Moving past   the first/last element gets one to a header element, which can be identified   using the 'at_end' macro.  Macros also exist for finding out the row    and column of an entry, and for finding out the dimensions of a matrix. */#define mod2sparse_first_in_row(m,i) ((m)->rows[i].right) /* Find the first   */#define mod2sparse_first_in_col(m,j) ((m)->cols[j].down)  /* or last entry in */#define mod2sparse_last_in_row(m,i) ((m)->rows[i].left)   /* a row or column  */#define mod2sparse_last_in_col(m,j) ((m)->cols[j].up)#define mod2sparse_next_in_row(e) ((e)->right)  /* Move from one entry to     */#define mod2sparse_next_in_col(e) ((e)->down)   /* another in any of the four */#define mod2sparse_prev_in_row(e) ((e)->left)   /* possible directions        */#define mod2sparse_prev_in_col(e) ((e)->up)   #define mod2sparse_at_end(e) ((e)->row<0) /* See if we've reached the end     */#define mod2sparse_row(e) ((e)->row)      /* Find out the row or column index */#define mod2sparse_col(e) ((e)->col)      /* of an entry (indexes start at 0) */#define mod2sparse_rows(m) ((m)->n_rows)  /* Get the number of rows or columns*/#define mod2sparse_cols(m) ((m)->n_cols)  /* in a matrix                      *//* POSSIBLE LU DECOMPOSITION STRATEGIES.  For use with mod2sparse_decomp. */typedef enum { Mod2sparse_first,   Mod2sparse_mincol,   Mod2sparse_minprod} mod2sparse_strategy;/* PROCEDURES TO MANIPULATE SPARSE MATRICES. */mod2sparse *mod2sparse_allocate (int, int);void mod2sparse_free            (mod2sparse *);void mod2sparse_clear    (mod2sparse *);void mod2sparse_copy     (mod2sparse *, mod2sparse *);void mod2sparse_copyrows (mod2sparse *, mod2sparse *, int *);void mod2sparse_copycols (mod2sparse *, mod2sparse *, int *);void mod2sparse_print       (FILE *, mod2sparse *);int  mod2sparse_write       (FILE *, mod2sparse *);mod2sparse *mod2sparse_read (FILE *);mod2entry *mod2sparse_find   (mod2sparse *, int, int);mod2entry *mod2sparse_insert (mod2sparse *, int, int);void mod2sparse_delete       (mod2sparse *, mod2entry *);void mod2sparse_transpose (mod2sparse *, mod2sparse *);void mod2sparse_add       (mod2sparse *, mod2sparse *, mod2sparse *);void mod2sparse_multiply  (mod2sparse *, mod2sparse *, mod2sparse *);void mod2sparse_mulvec    (mod2sparse *, char *, char *);int mod2sparse_equal (mod2sparse *, mod2sparse *);int mod2sparse_count_row (mod2sparse *, int);int mod2sparse_count_col (mod2sparse *, int);void mod2sparse_add_row (mod2sparse *, int, mod2sparse *, int);void mod2sparse_add_col (mod2sparse *, int, mod2sparse *, int);int mod2sparse_decomp (mod2sparse *, int, mod2sparse *, mod2sparse *,                        int *, int *, mod2sparse_strategy, int, int);int mod2sparse_forward_sub  (mod2sparse *, int *, char *, char *);int mod2sparse_backward_sub (mod2sparse *, int *, char *, char *);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩中文字幕亚洲一区二区va在线 | 亚洲成人一区二区在线观看| 国产成人高清视频| 欧美成人一级视频| 精品一区二区影视| 精品国产伦一区二区三区观看方式| 欧美a级一区二区| 日韩欧美国产综合一区| 美腿丝袜在线亚洲一区 | 欧洲在线/亚洲| 一级做a爱片久久| 欧美综合在线视频| 亚洲一区二区高清| 欧美精三区欧美精三区| 日韩国产一二三区| 精品国产麻豆免费人成网站| 久久99精品视频| 久久综合国产精品| 国产精品12区| 中文字幕中文乱码欧美一区二区| av不卡一区二区三区| 亚洲激情中文1区| 精品婷婷伊人一区三区三| 三级不卡在线观看| 欧美videossexotv100| 国产真实乱偷精品视频免| 国产日本亚洲高清| 色综合久久综合网欧美综合网| 亚洲免费看黄网站| 欧美日韩视频在线第一区| 六月丁香综合在线视频| 久久久久高清精品| 99久久精品国产毛片| 亚洲综合色婷婷| 日韩西西人体444www| 国产高清不卡一区二区| 亚洲另类春色国产| 欧美一区二区福利在线| 国产成人亚洲精品狼色在线| 亚洲免费观看高清完整版在线观看熊 | 日韩一区二区三区免费看| 狠狠网亚洲精品| 亚洲欧洲av在线| 欧美日韩卡一卡二| 国产在线观看一区二区| 中文乱码免费一区二区| 欧美日韩激情在线| 久久99热这里只有精品| 国产精品美女久久久久aⅴ | 亚洲欧美日韩中文播放| 欧美绝品在线观看成人午夜影视 | 性久久久久久久久久久久| 欧美一区二区大片| 岛国av在线一区| 亚洲综合区在线| 日韩免费电影一区| 欧美成人午夜电影| 亚洲国产精品久久人人爱蜜臀| 欧美美女一区二区三区| 国产一区二区三区四区在线观看| 日韩美女视频一区二区| 欧美一区二区三区视频免费| 懂色av中文字幕一区二区三区| 亚洲一区在线观看免费| 久久久久久久精| 欧美视频在线观看一区| 亚洲伦理在线精品| 欧美天天综合网| 国产成人午夜高潮毛片| 天堂一区二区在线| 中文字幕第一区综合| 3751色影院一区二区三区| 成人av在线看| 久久99国产乱子伦精品免费| 亚洲激情图片小说视频| 国产午夜精品美女毛片视频| 欧美手机在线视频| www.久久精品| 国产在线精品免费| 五月天激情综合| 最新日韩在线视频| 久久日韩粉嫩一区二区三区| 欧美午夜精品久久久久久超碰| 国产成人精品一区二区三区四区| 日韩综合小视频| 亚洲精品一二三四区| 欧美激情资源网| 欧美大片免费久久精品三p| 欧美亚洲一区二区在线| 粉嫩嫩av羞羞动漫久久久| 毛片不卡一区二区| 亚洲一区国产视频| 亚洲天堂网中文字| 国产日韩成人精品| 精品久久五月天| 欧美一区二区网站| 欧美性欧美巨大黑白大战| 成人久久18免费网站麻豆| 精品一区二区免费视频| 日韩精品欧美精品| 亚洲伊人色欲综合网| 自拍av一区二区三区| 国产日产精品一区| 精品电影一区二区| 欧美一区二区三区四区久久| 欧美亚洲愉拍一区二区| 91麻豆精品秘密| 成人激情av网| 国产suv精品一区二区6| 国产一区二区精品久久99| 免费观看一级特黄欧美大片| 亚洲高清免费观看高清完整版在线观看| 国产精品的网站| 欧美国产禁国产网站cc| 久久久精品tv| 精品sm捆绑视频| 欧美tk丨vk视频| 日韩欧美在线网站| 日韩一级片在线播放| 欧美区在线观看| 91精品麻豆日日躁夜夜躁| 欧美日韩国产另类一区| 欧美日韩成人在线| 欧美理论片在线| 欧美一区中文字幕| 日韩免费在线观看| 精品日本一线二线三线不卡| 日韩欧美一二三| 日韩久久免费av| 欧美不卡在线视频| 亚洲精品一区二区三区影院| 欧美精品一区男女天堂| 久久久一区二区三区捆绑**| 国产日韩欧美高清在线| 国产欧美日韩在线看| 中文字幕av一区二区三区高| 欧美国产精品一区二区| 国产精品护士白丝一区av| 国产精品灌醉下药二区| 亚洲欧美偷拍三级| 亚洲一区二区影院| 天堂成人免费av电影一区| 视频一区二区三区入口| 美女性感视频久久| 国内成人免费视频| 成人动漫中文字幕| 色综合天天综合网国产成人综合天| 91日韩在线专区| 欧美色综合网站| 欧美一级夜夜爽| 26uuu色噜噜精品一区二区| 国产日韩高清在线| 亚洲精品综合在线| 亚洲成人免费观看| 狠狠色丁香久久婷婷综合丁香| 国产精一区二区三区| 99久久久无码国产精品| 欧美天堂一区二区三区| 日韩欧美中文字幕一区| 欧美激情一区二区三区| 亚洲精品免费视频| 日韩不卡一区二区三区| 国产精品一区二区x88av| 色综合久久综合中文综合网| 欧美精品久久99久久在免费线| 精品欧美乱码久久久久久 | 8x8x8国产精品| 久久久蜜臀国产一区二区| 亚洲视频每日更新| 丝瓜av网站精品一区二区| 精品中文字幕一区二区| 成人三级在线视频| 欧美三级电影在线观看| 精品久久免费看| 国产精品传媒视频| 日韩av一区二| 成人免费毛片高清视频| 欧美日韩精品欧美日韩精品| 久久精品视频免费观看| 亚洲黄色片在线观看| 久久99国产精品久久| 91美女在线看| 日韩三区在线观看| 亚洲少妇屁股交4| 美女视频网站久久| 91丨porny丨户外露出| 欧美一区二区三区在线观看 | 国产一区91精品张津瑜| 91网上在线视频| 日韩欧美另类在线| 玉米视频成人免费看| 激情六月婷婷久久| 色悠悠久久综合| 欧美精品一区男女天堂| 亚洲国产成人av| 成人午夜av电影| 欧美一区二区三区精品| 亚洲天堂a在线| 国产在线播精品第三| 欧美三级韩国三级日本三斤|