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

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

?? spmm.cc

?? sparselib庫
?? CC
?? 第 1 頁 / 共 2 頁
字號:
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*//*             ********   ***                                 SparseLib++    *//*          *******  **  ***       ***      ***                              *//*           *****      ***     ******** ********                            *//*            *****    ***     ******** ********              R. Pozo        *//*       **  *******  ***   **   ***      ***                 K. Remington   *//*        ********   ********                                 A. Lumsdaine   *//*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*//*                                                                           *//*                                                                           *//*                     SparseLib++ : Sparse Matrix Library                   *//*                                                                           *//*               National Institute of Standards and Technology              *//*                        University of Notre Dame                           *//*              Authors: R. Pozo, K. Remington, A. Lumsdaine                 *//*                                                                           *//*                                 NOTICE                                    *//*                                                                           *//* Permission to use, copy, modify, and distribute this software and         *//* its documentation for any purpose and without fee is hereby granted       *//* provided that the above notice appear in all copies and supporting        *//* documentation.                                                            *//*                                                                           *//* Neither the Institutions (National Institute of Standards and Technology, *//* University of Notre Dame) nor the Authors make any representations about  *//* the suitability of this software for any purpose.  This software is       *//* provided ``as is'' without expressed or implied warranty.                 *//*                                                                           *//*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*//* * Home Grown Sparse BLAS * * These are just a subset of the functions described in SPARKER * Working Note #3. * * Would be great if these could be templated some day * */#include <stdlib.h>#include <iostream>#include "spblas.h"#define _SpMatVal(_a,_lda,_row,_col) ((_a)[(_lda)*(_col)+(_row)])static void CoordMatVec_float(int m, int n, int k, const float &alpha,        const float *val, const int *indx, const int *jndx,        const int &nnz,        const float *b, int ldb, float *c, int ldc){  int i, j;  // To make the compiler happy  if (k && m)    ;  // Frob these so we can use one-based indexing externally  b -= 1;  c -= 1;  if (alpha == 1.0) {    if (n == 1)      for (j = 0; j < nnz; j++)    c[indx[j]] += b[jndx[j]] * val[j];    else      for (i = 0; i < n; i++)    for (j = 0; j < nnz; j++)      _SpMatVal(c, ldc, indx[j], i) += _SpMatVal(b, ldb, indx[j], i) * val[j];  } else {    if (n == 1)      for (j = 0; j < nnz; j++)    c[indx[j]] += alpha * b[jndx[j]] * val[j];    else      for (i = 0; i < n; i++)    for (j = 0; j < nnz; j++)      _SpMatVal(c, ldc, indx[j], i) +=        alpha * _SpMatVal(b, ldb, indx[j], i) * val[j];  }}static void CoordMatVec_double(int m, int n, int k, const double &alpha,        const double *val, const int *indx, const int *jndx,        const int &nnz,        const double *b, int ldb, double *c, int ldc){  int i, j;  // To make the compiler happy  if (k && m)    ;  // Frob these so we can use one-based indexing externally  b -= 1;  c -= 1;  if (alpha == 1.0) {    if (n == 1)      for (j = 0; j < nnz; j++)    c[indx[j]] += b[jndx[j]] * val[j];    else      for (i = 0; i < n; i++)    for (j = 0; j < nnz; j++)      _SpMatVal(c, ldc, indx[j], i) += _SpMatVal(b, ldb, indx[j], i) * val[j];  } else {    if (n == 1)      for (j = 0; j < nnz; j++)    c[indx[j]] += alpha * b[jndx[j]] * val[j];    else      for (i = 0; i < n; i++)    for (j = 0; j < nnz; j++)      _SpMatVal(c, ldc, indx[j], i) +=        alpha * _SpMatVal(b, ldb, indx[j], i) * val[j];  }}static voidCompColMatVec_double(int m, int n, int k, const double &alpha,            const double *val, const int *indx, const int *pntr,            const double *b, int ldb, double *c, int ldc){  int i, j, l;  if (alpha == 0.0)    return;  // To make the compiler happy  if (m)    ;  // Frob these so we can use one-based indexing externally  c -= 1;  val -= pntr[0];  indx -= pntr[0];  if (alpha == 1.0) {    if (n == 1)      for (i = 0; i < k; i++)    for (j = pntr[i]; j < pntr[i+1]; j++)      c[indx[j]] += b[i] * val[j];    else      for (l = 0; l < n; l++)    for (i = 0; i < k; i++)      for (j = pntr[i]; j < pntr[i+1]; j++)        _SpMatVal(c, ldc, indx[j], l) += _SpMatVal(b, ldb, i, l) * val[j];  } else {    if (n == 1)      for (i = 0; i < k; i++)    for (j = pntr[i]; j < pntr[i+1]; j++)      c[indx[j]] += alpha * b[i] * val[j];    else      for (l = 0; l < n; l++)    for (i = 0; i < k; i++)      for (j = pntr[i]; j < pntr[i+1]; j++)        _SpMatVal(c, ldc, indx[j], l) +=          alpha * _SpMatVal(b, ldb, i, l) * val[j];  }}static void CompColMatVec_float(int m, int n, int k, const float &alpha,            const float *val, const int *indx, const int *pntr,            const float *b, int ldb, float *c, int ldc){  int i, j, l;  if (alpha == 0.0)    return;  // To make the compiler happy  if (m)    ;  // Frob these so we can use one-based indexing externally  c -= 1;  val -= pntr[0];  indx -= pntr[0];  if (alpha == 1.0) {    if (n == 1)      for (i = 0; i < k; i++)    for (j = pntr[i]; j < pntr[i+1]; j++)      c[indx[j]] += b[i] * val[j];    else      for (l = 0; l < n; l++)    for (i = 0; i < k; i++)      for (j = pntr[i]; j < pntr[i+1]; j++)        _SpMatVal(c, ldc, indx[j], l) += _SpMatVal(b, ldb, i, l) * val[j];  } else {    if (n == 1)      for (i = 0; i < k; i++)    for (j = pntr[i]; j < pntr[i+1]; j++)      c[indx[j]] += alpha * b[i] * val[j];    else      for (l = 0; l < n; l++)    for (i = 0; i < k; i++)      for (j = pntr[i]; j < pntr[i+1]; j++)        _SpMatVal(c, ldc, indx[j], l) +=          alpha * _SpMatVal(b, ldb, i, l) * val[j];  }}static voidCompRowMatVec_double(int m, int n, int k, const double &alpha,            const double *val, const int *indx, const int *pntr,            const double *b, int ldb, double *c, int ldc){  int i, j, l;  if (alpha == 0.0)    return;  // To make the compiler happy  if (m || k)    ;  // Frob these so we can use one-based indexing externally  b -= 1;  val -= pntr[0];  indx -= pntr[0];  if (alpha == 1.0) {    if (n == 1)      for (i = 0; i < m; i++)    for (j = pntr[i]; j < pntr[i+1]; j++)      c[i] += b[indx[j]] * val[j];    else      for (l = 0; l < n; l++)    for (i = 0; i < m; i++)      for (j = pntr[i]; j < pntr[i+1]; j++)        _SpMatVal(c, ldc, i, l) += _SpMatVal(b, ldb, indx[j], l) * val[j];  } else {    if (n == 1)      for (i = 0; i < m; i++)    for (j = pntr[i]; j < pntr[i+1]; j++)      c[i] += alpha * b[indx[j]] * val[j];    else      for (l = 0; l < n; l++)    for (i = 0; i < m; i++)      for (j = pntr[i]; j < pntr[i+1]; j++)        _SpMatVal(c, ldc, i, l) +=          alpha * _SpMatVal(b, ldb, indx[j], l) * val[j];  }}static voidCompRowMatVec_float(int m, int n, int k, const float &alpha,            const float *val, const int *indx, const int *pntr,            const float *b, int ldb, float *c, int ldc){  int i, j, l;  if (alpha == 0.0)    return;  // To make the compiler happy  if (m || k)    ;  // Frob these so we can use one-based indexing externally  b -= 1;  val -= pntr[0];  indx -= pntr[0];  if (alpha == 1.0) {    if (n == 1)      for (i = 0; i < m; i++)    for (j = pntr[i]; j < pntr[i+1]; j++)      c[i] += b[indx[j]] * val[j];    else      for (l = 0; l < n; l++)    for (i = 0; i < m; i++)      for (j = pntr[i]; j < pntr[i+1]; j++)        _SpMatVal(c, ldc, i, l) += _SpMatVal(b, ldb, indx[j], l) * val[j];  } else {    if (n == 1)      for (i = 0; i < m; i++)    for (j = pntr[i]; j < pntr[i+1]; j++)      c[i] += alpha * b[indx[j]] * val[j];    else      for (l = 0; l < n; l++)    for (i = 0; i < m; i++)      for (j = pntr[i]; j < pntr[i+1]; j++)        _SpMatVal(c, ldc, i, l) +=          alpha * _SpMatVal(b, ldb, indx[j], l) * val[j];  }}static voidScaleRectangularArray_double(int m, int n, double *c, int ldc,     const double &beta){  int i, j;  if (beta == 1.0)    return;  if (beta == 0.0) {    if (n == 1)      for (j = 0; j < m; j++)    c[j] = 0.0;    else      for (i = 0; i < n; i++)    for (j = 0; j < m; j++)      _SpMatVal(c, ldc, j, i) = 0.0;  } else {    if (n == 1)      for (j = 0; j < m; j++)    c[j] *= beta;    else      for (i = 0; i < n; i++)    for (j = 0; j < m; j++)      _SpMatVal(c, ldc, j, i) *= beta;  }}static voidScaleRectangularArray_float(int m, int n, float *c, int ldc,     const double &beta){  int i, j;  if (beta == 1.0)    return;  if (beta == 0.0) {    if (n == 1)      for (j = 0; j < m; j++)    c[j] = 0.0;    else      for (i = 0; i < n; i++)    for (j = 0; j < m; j++)      _SpMatVal(c, ldc, j, i) = 0.0;  } else {    if (n == 1)      for (j = 0; j < m; j++)    c[j] *= beta;    else

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧洲精品一区二区精品久久久| 麻豆freexxxx性91精品| 国产精品你懂的| 国产精品污网站| 久久久国产综合精品女国产盗摄| 日韩欧美的一区| 精品久久人人做人人爰| 日韩女优av电影在线观看| 精品欧美乱码久久久久久1区2区 | 日韩欧美国产精品| 精品国产乱码久久久久久老虎| 日韩免费成人网| 久久久久久日产精品| 国产精品高潮久久久久无| 一区二区三区自拍| 亚洲一区二区三区自拍| 亚洲成va人在线观看| 久久机这里只有精品| 国产成人av在线影院| 91免费视频大全| 欧美性xxxxx极品少妇| 欧美一区二区人人喊爽| 久久久久久久综合| 中文在线一区二区| 一区二区三区久久久| 免费日本视频一区| 国产盗摄精品一区二区三区在线| 99riav一区二区三区| 欧美乱妇一区二区三区不卡视频| 日韩欧美国产三级电影视频| 欧美激情一区二区在线| 一区二区三区国产精华| 免费成人深夜小野草| 国产不卡免费视频| 欧美亚洲国产一区二区三区va| 69堂成人精品免费视频| 久久久亚洲欧洲日产国码αv| 最新日韩av在线| 日韩国产在线一| 国产999精品久久久久久绿帽| 色婷婷精品大在线视频 | √…a在线天堂一区| 亚洲电影第三页| 精品在线你懂的| 色综合婷婷久久| 日韩免费高清视频| 亚洲欧美日韩精品久久久久| 久久精品国产免费| 在线一区二区三区| 久久亚洲免费视频| 亚洲一二三四区不卡| 国产在线播放一区| 欧美日韩1区2区| 国产欧美精品国产国产专区 | 黑人巨大精品欧美一区| 在线影院国内精品| 久久日一线二线三线suv| 亚洲激情欧美激情| 国产成人综合网站| 欧美乱妇15p| 亚洲免费三区一区二区| 国产真实精品久久二三区| 欧美日韩在线播| 国产精品午夜在线| 老司机一区二区| 欧美色中文字幕| 亚洲视频综合在线| 国产精品一区二区你懂的| 欧美日韩三级一区| 亚洲精选视频免费看| 国产精品1区2区| 日韩欧美一二三四区| 亚洲va欧美va国产va天堂影院| 国产福利91精品一区二区三区| 日韩午夜三级在线| 亚洲国产精品麻豆| 91老师片黄在线观看| 国产欧美日韩激情| 精品亚洲porn| 欧美大片在线观看一区二区| 一区二区三区免费在线观看| 成人高清免费在线播放| 337p日本欧洲亚洲大胆色噜噜| 天天综合天天综合色| 在线观看91视频| 亚洲免费三区一区二区| av激情综合网| 国产欧美一区二区精品秋霞影院 | 婷婷国产v国产偷v亚洲高清| 欧洲一区在线观看| 亚洲天堂久久久久久久| www.在线成人| 国产午夜亚洲精品不卡| 国产精品一区三区| 精品久久人人做人人爰| 裸体一区二区三区| 91精品国产综合久久久蜜臀粉嫩| 亚洲成人综合网站| 在线观看欧美黄色| 亚洲一区二区偷拍精品| 欧美三级日韩三级国产三级| 亚洲一区二区在线视频| 一本一道久久a久久精品| 亚洲日本成人在线观看| 成人18精品视频| 亚洲欧美在线视频| 91免费观看在线| 亚洲自拍偷拍网站| 欧美日韩久久久一区| 亚洲va天堂va国产va久| 7777精品伊人久久久大香线蕉完整版| 亚洲国产精品久久艾草纯爱| 欧美日韩不卡一区| 日韩电影免费在线| 精品国产一区二区三区忘忧草 | 久久99精品国产.久久久久| 精品久久久久久无| 国产999精品久久久久久| 国产精品久久久爽爽爽麻豆色哟哟| 东方欧美亚洲色图在线| 国产欧美一区二区精品忘忧草| 成人aaaa免费全部观看| 中文字幕一区二| 欧美综合一区二区| 午夜精品久久久久久不卡8050 | 性久久久久久久久久久久| 69成人精品免费视频| 国产在线国偷精品免费看| 久久久蜜桃精品| 色综合久久综合网97色综合 | 91老司机福利 在线| 亚洲综合av网| 精品乱人伦小说| 97久久精品人人做人人爽| 亚洲国产日日夜夜| 精品精品国产高清一毛片一天堂| 国产精品一区专区| 一区二区三区欧美日| 日韩午夜激情电影| av在线不卡免费看| 天堂av在线一区| 国产午夜精品一区二区三区视频| 91年精品国产| 美洲天堂一区二卡三卡四卡视频 | 亚洲精品菠萝久久久久久久| 欧美一区二视频| 粉嫩绯色av一区二区在线观看| 一区二区三区在线观看网站| 欧美一级淫片007| 成人精品视频一区二区三区尤物| 一区二区三区视频在线看| 337p粉嫩大胆色噜噜噜噜亚洲| caoporm超碰国产精品| 视频一区视频二区中文字幕| 久久久久国产精品麻豆ai换脸 | 欧美国产激情二区三区| 欧美日韩视频第一区| 国产不卡免费视频| 天堂精品中文字幕在线| 国产精品国产精品国产专区不蜜| 欧美日韩午夜精品| 成人性生交大片免费看在线播放| 亚洲亚洲精品在线观看| 中文字幕va一区二区三区| 欧美日韩电影在线| 成人久久视频在线观看| 青青草精品视频| 亚洲欧洲精品天堂一级| 欧美一级xxx| 色综合欧美在线| 国产成人免费视频| 久久精品国产成人一区二区三区 | 午夜视频久久久久久| 国产精品美女久久久久av爽李琼| 日韩欧美一区二区三区在线| 在线看国产一区| 成人免费视频app| 看片的网站亚洲| 怡红院av一区二区三区| 欧美激情综合五月色丁香| 3d成人h动漫网站入口| 色偷偷成人一区二区三区91| 国产精品18久久久久久vr| 麻豆高清免费国产一区| 亚洲第一激情av| 亚洲精品网站在线观看| 国产精品理论片在线观看| 久久久久国产精品厨房| 欧美tk—视频vk| 欧美一区二区三区白人| 制服.丝袜.亚洲.另类.中文| 色天天综合久久久久综合片| 成人avav在线| 成人听书哪个软件好| 国产高清不卡一区| 国产精品夜夜嗨| 国产精品一区二区男女羞羞无遮挡| 蜜臀久久99精品久久久久久9| 日韩国产精品91| 日本少妇一区二区|