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

📄 psn_common.h

📁 Finite Volume Poisson PDE Solver
💻 H
字号:
#ifndef PSN_COMMON
#define PSN_COMMON


enum PSN_ERRCODES {
  PSN_ERR_OK,
  PSN_ERR_MEM,
  PSN_ERR_ARRAY
};

enum CSANMODE {
  smCol,
  smRow
};

enum BOUND{
  LOW,
  UP
};



typedef double* PSN_VECTOR;
typedef double** PSN_MATRIX;

PSN_VECTOR psn_vector_create(size_t col_num);
void psn_vector_free(PSN_VECTOR a);
#define psn_vector_getval(a,num)                  a[num]
#define psn_vector_setval(a,num,val)              a[num]=(val)

PSN_MATRIX psn_matrix_create(size_t row_num, size_t col_num);
void psn_matrix_free(PSN_MATRIX a, size_t col_num);
#define psn_matrix_getval(a,row,col)                  a[col][row]
#define psn_matrix_setval(a,row,col,val)              a[col][row]=(val)

#ifdef __MEX__
#include "mex.h"
PSN_MATRIX psn_matrix_create_from_mxArray(const mxArray* ar);
int psn_matrix_free_from_mxArray(PSN_MATRIX a);
#endif
void psn_matrix_get_rowcol(
           const size_t N,
           size_t num,
           int mode,   //1-row, 0-col
           PSN_MATRIX mat,
           PSN_VECTOR vec);
void psn_matrix_set_rowcol(const size_t N, size_t num,
           int mode,
           PSN_MATRIX mat,
           PSN_VECTOR vec);

double norm_vector(size_t N, PSN_VECTOR oldvec, PSN_VECTOR newvec);


#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -