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

📄 dcomplex.h

📁 SuperLU 2.2版本。对大型、稀疏、非对称的线性系统的直接求解
💻 H
字号:
/* * -- Distributed SuperLU routine (version 1.0) -- * Lawrence Berkeley National Lab, Univ. of California Berkeley. * September 1, 1999 * *//*  * This header file is to be included in source files z*.c */#ifndef __SUPERLU_DCOMPLEX /* allow multiple inclusions */#define __SUPERLU_DCOMPLEX#include <mpi.h>typedef struct { double r, i; } doublecomplex;/* * These variables will be defined to be MPI datatypes for complex * and double complex. I'm too lazy to declare * these guys external in every file that needs them. */extern MPI_Datatype SuperLU_MPI_DOUBLE_COMPLEX;/* Macro definitions *//* Complex Addition c = a + b */#define z_add(c, a, b) { (c)->r = (a)->r + (b)->r; \			 (c)->i = (a)->i + (b)->i; }/* Complex Subtraction c = a - b */#define z_sub(c, a, b) { (c)->r = (a)->r - (b)->r; \			 (c)->i = (a)->i - (b)->i; }/* Complex-Double Multiplication */#define zd_mult(c, a, b) { (c)->r = (a)->r * (b); \                           (c)->i = (a)->i * (b); }/* Complex-Complex Multiplication */#define zz_mult(c, a, b) { \	double cr, ci; \    	cr = (a)->r * (b)->r - (a)->i * (b)->i; \    	ci = (a)->i * (b)->r + (a)->r * (b)->i; \    	(c)->r = cr; \    	(c)->i = ci; \    }/* Complex equality testing */#define z_eq(a, b)  ( (a)->r == (b)->r && (a)->i == (b)->i )#ifdef __cplusplusextern "C" {#endif/* Prototypes for functions in dcomplex.c */void   z_div(doublecomplex *, doublecomplex *, doublecomplex *);double z_abs(doublecomplex *);     /* exact */double z_abs1(doublecomplex *);    /* approximate */void   z_exp(doublecomplex *, doublecomplex *);void   d_cnjg(doublecomplex *r, doublecomplex *z);double d_imag(doublecomplex *);#ifdef __cplusplus  }#endif#endif  /* __SUPERLU_DCOMPLEX */

⌨️ 快捷键说明

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