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

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

?? sum.c

?? This a framework to test new ideas in transmission technology. Actual development is a LDPC-coder in
?? C
字號:
/*************************************************************************** *    sum.c  - Sums up all inputs *                           ------------------- *   begin                :  2003 *   authors              :  ineiti *   emails               :  linus.gasser@epfl.ch ***************************************************************************//*************************************************************************** *                                Changes *                                ------- * date - name - description * 03/01/16 - ineiti - begin * 04/03/08 - ineiti - adjusted description * **************************************************************************//*************************************************************************** *                                                                         * *   This program is free software; you can redistribute it and/or modify  * *   it under the terms of the GNU General Public License as published by  * *   the Free Software Foundation; either version 2 of the License, or     * *   (at your option) any later version.                                   * *                                                                         * ***************************************************************************//** *  Sums up complex-signal blocks to one block. For every module connected * it waits for available data, and only processes all data, once all modules * have something to send. */#include "spc.h"#define DBG_LVL 0#define MAX_INPUTS 10typedef struct {  // The division done for every input. If it is 0, then weight = number  // of input-signals  int weight; // 0}config_t;typedef struct {}stats_t;typedef struct {  int weight;}private_t;/* * The initialisation function, or constructor,  * is called the first time this module is instantiated. */int spc_init( swr_sdb_t *context ) {  // Begin system-definitions {  config_t *config;  stats_t *stats;  MOD_INC_USE_COUNT;  if ( sizeof( private_t ) > 0 )    context->private_data = swr_malloc( sizeof( private_t ) );  swr_sdb_get_config_struct( context->id, (void**)&config );  swr_sdb_get_stats_struct( context->id, (void**)&stats );  // } End of system-definitions  private->weight = config->weight = 0;  // Begin system-definitions  swr_sdb_free_stats_struct( context->id, (void**)&stats );  swr_sdb_free_config_struct( context->id, (void**)&config );  return 0;  // End system-definitions}/* * To configure the inputs * this is called when the output-sizes change. */int spc_configure_inputs( swr_sdb_t *context ) {  int i;  // Definition of variables - don't touch  config_t *config;  swr_sdb_get_config_struct( context->id, (void**)&config );  for ( i=0; i<MAX_INPUTS; i++ ) {    port_in(i).size = port_out(0).size;  }  // Definition - don't touch  swr_sdb_free_config_struct( context->id, (void**)&config );  return 0;}/* * To configure the outputs * this is called when the input-sizes change */int spc_configure_outputs( swr_sdb_t *context ) {  // Definition of variables - don't touch  config_t *config;  swr_sdb_get_config_struct( context->id, (void**)&config );  // Hmm, this is difficult, as you're not allowed to have different  // input-sizes. Well, let's just take the size of the first  // input-port...  port_out(0).size = port_in(0).size;  //  PR_DBG( 0, "Attention: configuring outputs in sum, this is not cool\n" );  // Definition - don't touch  swr_sdb_free_config_struct( context->id, (void**)&config );  return 0;}/* * Every time modules from the outside change the value of a configuration parameter, * this function is called. */int spc_reconfig( swr_sdb_t *context ) {  // Definition of variables - don't touch  config_t *config;  swr_sdb_get_config_struct( context->id, (void**)&config );  if ( config->weight ) {    private->weight = config->weight;  }  // Definition - don't touch  swr_sdb_free_config_struct( context->id, (void**)&config );  return 0;}/* * This is the function that implements the `main method' of the class * Every class has got just ONE method/working-mode. */int spc_pdata( swr_sdb_t *context ) {  int inputs=0, i, j, weight;  // Definition of variables - don't touch  stats_t *stats;  SYMBOL_COMPLEX *in[MAX_INPUTS], *out;  // Search how many input-ports there are  for ( i=0; i<MAX_INPUTS; i++ ) {    if ( port_in( i ).sdb_id >= 0 ) {      inputs++;    }  }  PR_DBG( 4, "Found %i inputs\n", inputs );  // Look if all input-ports are filled  for ( i=0; i<inputs; i++ ) {    if ( !data_available( i ) ) {      // Input-data is missing, return and wait for next round      PR_DBG( 4, "Input %i is missing\n", i );      return 0;    }  }  if ( inputs ) {    // We have inputs, and all are filled with data    // Prepare pointers    PR_DBG( 4, "Calculating output\n" );    out = buffer_out( 0 );    for ( i=0; i<inputs; i++ ) {      in[i] = buffer_in( i );    }    if ( !( weight = private->weight ) ){      weight = inputs;    }    // And calculate    for ( i=0; i<port_out(0).size; i++ ) {      out[i].imag = out[i].real = 0;      // Now this would be something for MMX      for ( j=0; j<inputs; j++ ) {        out[i].imag += in[j][i].imag / weight;        out[i].real += in[j][i].real / weight;      }    }  }  swr_sdb_get_stats_struct( context->id, (void**)&stats );  // Put your code here  // ADD HERE  swr_sdb_free_stats_struct( context->id, (void**)&stats );  return(0);}/* * This is the `destructor'. */int spc_finalize( swr_sdb_t *context ) {  if ( sizeof( private_t ) > 0 )    swr_free( private );  MOD_DEC_USE_COUNT;  return 0;}/* * This function is called upon "insmod" and is used to register the * different parts of the module to the SPM. */swr_spc_id_t cdb_id;int spc_module_init(void) {  swr_spc_desc_t *desc;  int i;  /**   * Get a description-part from SPM   * Give the following parameters:   * Input-ports, output-ports, config-params, stat-params   */  desc = swr_spc_get_new_desc( MAX_INPUTS, 1, 1, 0 );  if ( !desc ) {    PR_DBG( 0, "Can't initialise the module. This is BAD!\n" );    return -1;  }  /**   * Define the different parts of config and stats. You have to define   * them in the same order as they appear in the structures. The names   * can be freely chosen.   *   * UM_CONFIG_{INT,DOUBLE,STRING128,POINTER}( "name" );   * UM_STATS_{INT,DOUBLE,STRING128,POINTER,BLOCK}( "name" );   */  UM_CONFIG_INT( "weight" );  /**   * The in- and outputs have also to be defined in the right order. First   * port first. The additional flag is not used yet, but it will...   *   * UM_INPUT( SIG_{U8,SYMBOL_{S16,COMPLEX,MMX},SAMPLE_S12,S32}, 0 );   * UM_OUTPUT( SIG_{U8,SYMBOL_{S16,COMPLEX,MMX},SAMPLE_S12,S32}, 0 );   */  for ( i=0; i<MAX_INPUTS; i++ ) {    UM_INPUT( SIG_SYMBOL_COMPLEX, 0 );  }  UM_OUTPUT( SIG_SYMBOL_COMPLEX, 0 );  // Initialise the callback-functions. Delete the ones you don't use  desc->fn_init              = spc_init;  desc->fn_reconfigure       = spc_reconfig;  desc->fn_process_data      = spc_pdata;  desc->fn_configure_inputs  = spc_configure_inputs;  desc->fn_configure_outputs = spc_configure_outputs;  desc->fn_finalize          = spc_finalize;  // And register the module in the SPM. Change the name!  cdb_id = swr_cdb_register_spc( &desc, "sum_symbol_complex" );  if ( cdb_id == SWR_SPM_INVALID_ID ) {    swr_spc_free_desc( desc );    PR_DBG( 0, "Couldn't register the module!\n" );    return 1;  }  PR_DBG( 4, "Ready\n" );  return 0;}/* * This is called upon rmmod */void spc_module_exit( void ) {  PR_DBG( 4, "Freeing id: %i\n", cdb_id );  if ( swr_cdb_unregister_spc( cdb_id ) < 0 ) {    PR_DBG( 0, "Still in use somewhere\n" );  }}module_init( spc_module_init );module_exit( spc_module_exit );

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品18久久久久久vr| 欧美日韩另类国产亚洲欧美一级| 一本久久精品一区二区| 日韩午夜电影在线观看| 国产精品久久久久久久裸模| 丝袜美腿成人在线| 91视视频在线观看入口直接观看www | 国产女人aaa级久久久级| 亚洲444eee在线观看| 99免费精品视频| 精品日韩一区二区| 午夜欧美视频在线观看| 91老师国产黑色丝袜在线| 久久久蜜桃精品| 精久久久久久久久久久| 欧美日本一道本在线视频| 亚洲欧美经典视频| aaa亚洲精品一二三区| 久久精品亚洲麻豆av一区二区| 久久er99精品| 日韩午夜电影av| 秋霞影院一区二区| 欧美丰满少妇xxxxx高潮对白| 亚洲卡通动漫在线| 99re成人在线| 一区二区在线免费| 欧洲生活片亚洲生活在线观看| 中文字幕一区免费在线观看| 国产精品88av| 国产欧美一区二区精品性| 国产精品自拍三区| 国产午夜精品在线观看| 国产一区二区三区最好精华液| www国产精品av| 国产在线看一区| 久久众筹精品私拍模特| 国产成人在线电影| 欧美精彩视频一区二区三区| 成人综合在线视频| 国产精品卡一卡二| 色噜噜夜夜夜综合网| 亚洲影视资源网| 日韩欧美一区二区三区在线| 国产真实精品久久二三区| 国产亚洲综合在线| 成人av网址在线观看| 亚洲免费观看高清完整版在线| 欧美性xxxxx极品少妇| 视频一区二区三区中文字幕| 日韩欧美不卡在线观看视频| 国产精品自产自拍| 国产精品视频你懂的| 色一情一乱一乱一91av| 日本美女视频一区二区| 久久青草国产手机看片福利盒子 | 国产日韩精品久久久| 91最新地址在线播放| 日韩精品国产精品| 欧美国产日韩精品免费观看| 欧洲激情一区二区| 国产在线播放一区三区四| 亚洲男人天堂av| 日韩免费成人网| 色哟哟一区二区在线观看| 日韩vs国产vs欧美| 国产精品少妇自拍| 日韩一级片网站| 91麻豆精东视频| 精品一区二区国语对白| 亚洲视频一区二区免费在线观看| 7777精品久久久大香线蕉| 国产麻豆视频一区| 亚洲国产精品人人做人人爽| 久久久久99精品一区| 欧美日韩国产综合一区二区三区| 国产精品一区二区在线播放| 亚洲中国最大av网站| 欧美激情一区二区三区不卡| 欧美精品乱码久久久久久 | 久久99国产精品麻豆| 亚洲女同女同女同女同女同69| 日韩欧美国产综合| 92国产精品观看| 国产乱码字幕精品高清av| 亚洲国产日韩精品| 亚洲色欲色欲www在线观看| 精品久久久久一区| 3atv一区二区三区| 91久久精品网| 99久久精品99国产精品| 国产高清不卡一区| 久久电影国产免费久久电影| 亚洲国产成人高清精品| 国产精品国产三级国产aⅴ入口 | 国产精品888| 日韩二区三区在线观看| 一区二区三区精品在线观看| 亚洲国产精品成人综合| 26uuu国产在线精品一区二区| 欧美喷潮久久久xxxxx| 欧美三区在线观看| 色婷婷综合五月| 99re成人在线| 91亚洲男人天堂| 99久久精品免费看| 国产精品中文字幕日韩精品| 久久aⅴ国产欧美74aaa| 日韩电影在线免费看| 天堂久久一区二区三区| 亚洲一区二区高清| 亚洲成av人片在线| 夜夜精品视频一区二区 | 久久亚洲综合av| 久久久亚洲精品石原莉奈 | 这里是久久伊人| 3d成人动漫网站| 日韩一区二区三区精品视频 | 欧美视频一区二区三区在线观看| 99r精品视频| 色偷偷久久一区二区三区| 91国产福利在线| 欧美日韩视频在线第一区| 欧美日本高清视频在线观看| 欧美蜜桃一区二区三区| 欧美一卡二卡三卡四卡| 精品久久久久久久久久久久久久久 | 91精品国产乱码久久蜜臀| 这里只有精品99re| 精品国产一二三区| 国产精品无圣光一区二区| 亚洲人成人一区二区在线观看| 亚洲一区在线电影| 婷婷丁香久久五月婷婷| 美女免费视频一区二区| 丁香婷婷综合色啪| 色综合欧美在线| 91精品国产色综合久久ai换脸 | 日一区二区三区| 久久精品国产久精国产| 国产成人精品综合在线观看| 色婷婷综合在线| 欧美一级理论片| 国产精品免费网站在线观看| 亚洲va韩国va欧美va| 国产福利一区二区三区视频在线 | 精品久久免费看| 国产精品久久久久影院色老大| 亚洲一线二线三线视频| 精品中文字幕一区二区| 99国产欧美久久久精品| 777欧美精品| 国产日韩综合av| 午夜电影一区二区| 国产盗摄精品一区二区三区在线| 在线看一区二区| 国产欧美日韩另类视频免费观看| 亚洲一区中文在线| 国产mv日韩mv欧美| 欧美日韩极品在线观看一区| 亚洲国产精品激情在线观看| 午夜不卡av在线| 成人短视频下载| 精品国产凹凸成av人导航| 夜夜夜精品看看| 不卡的av在线播放| 精品久久久久av影院| 亚洲综合视频网| 97久久精品人人澡人人爽| 精品久久久久久亚洲综合网| 亚洲一区二区三区视频在线| 风间由美性色一区二区三区| 91精品国产麻豆| 亚洲大片在线观看| 成人av电影免费在线播放| 精品av综合导航| 日韩国产成人精品| 欧美视频一区二区| 亚洲美女少妇撒尿| 99这里都是精品| 国产精品麻豆欧美日韩ww| 国内欧美视频一区二区| 日韩欧美久久一区| 婷婷综合另类小说色区| 91福利精品第一导航| 国产精品国产三级国产普通话三级| 国内国产精品久久| 日韩写真欧美这视频| 天堂久久久久va久久久久| 欧美日韩亚洲综合一区| 一区二区三区久久| 91高清在线观看| 一区二区三区四区在线免费观看| 91女厕偷拍女厕偷拍高清| 国产精品欧美久久久久无广告| 丁香婷婷综合网| 亚洲欧美怡红院| 91丨porny丨首页| 一区二区三区资源| 欧美系列在线观看| 亚洲成av人片|