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

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

?? complex_cpp.txt

?? BESSEL PROGRAMS IN C/C
?? TXT
字號:
/*---------------------------------------------------------------------
!      Utility subroutines used by any program from Numath library
!      with (not intrinsic) complex numbers z = (zr,zi).
! ---------------------------------------------------------------------
! Reference: From Numath Library By Tuan Dang Trong in Fortran 77.
!
!                               C++ Release 1.0 By J-P Moreau, Paris
!--------------------------------------------------------------------*/
//Module COMPLEX
#include <stdio.h>
#include <math.h>

#include <basis.h>

const NMAX = 10;

typedef  REAL VEC[NMAX+1];
typedef  REAL VEC16[17];


REAL ZABS(REAL ZR, REAL ZI) {
/***BEGIN PROLOGUE  ZABS
!***REFER TO  ZBESH,ZBESI,ZBESJ,ZBESK,ZBESY,ZAIRY,ZBIRY

!     ZABS COMPUTES THE ABSOLUTE VALUE OR MAGNITUDE OF A REAL
!     PRECISION COMPLEX VARIABLE CMPLX(ZR,ZI)

!***ROUTINES CALLED  (NONE)
!***END PROLOGUE  ZABS */
//Labels: e10, e20
REAL U, V, Q, S;

      U = fabs(ZR);
      V = fabs(ZI);
      S = U + V;
/*--------------------------------------------------------------------
!     S*1.0 MAKES AN UNNORMALIZED UNDERFLOW ON CDC MACHINES INTO A
!     TRUE FLOATING ZERO
!-------------------------------------------------------------------*/
      S = S*1.0;
      if (S == 0.0) goto e20;
      if (U > V)  goto e10;
      Q = U/V;
      return (V*sqrt(1.0+Q*Q));
e10:  Q = V/U;
      return (U*sqrt(1.0+Q*Q));
e20:  return 0.0;
} //ZABS()


void ZSQRT(REAL AR,  REAL AI, REAL *BR, REAL *BI) {
/**BEGIN PROLOGUE  ZSQRT
!***REFER TO  ZBESH,ZBESI,ZBESJ,ZBESK,ZBESY,ZAIRY,ZBIRY
!
!     REAL PRECISION COMPLEX SQUARE ROOT, B=CSQRT(A)
!
!***ROUTINES CALLED  Zfabs
!***END PROLOGUE  ZSQRT */
//Labels: e10,e20,e30,e40,e50,e60,e70
REAL ZM, DTHETA, DPI, DRT;
      DRT=7.071067811865475244008443621e-01;
      DPI=3.141592653589793238462643383;
      ZM = ZABS(AR,AI);
      ZM = sqrt(ZM);
      if (AR == 0.0) goto e10;
      if (AI == 0.0) goto e20;
      DTHETA = atan(AI/AR);
      if (DTHETA <= 0.0) goto e40;
      if (AR < 0.0) DTHETA = DTHETA - DPI;
      goto e50;
e10:  if (AI > 0.0) goto e60;
      if (AI < 0.0) goto e70;
      *BR = 0.0;
      *BI = 0.0;
      return;
e20:  if (AR > 0.0) goto e30;
      *BR = 0.0;
      *BI = sqrt(fabs(AR));
      return;
e30:  *BR = sqrt(AR);
      *BI = 0.0;
      return;
e40:  if (AR < 0.0)  DTHETA = DTHETA + DPI;
e50:  DTHETA = DTHETA*0.5;
      *BR = ZM*cos(DTHETA);
      *BI = ZM*sin(DTHETA);
      return;
e60:  *BR = ZM*DRT;
      *BI = ZM*DRT;
      return;
e70:  *BR = ZM*DRT;
      *BI = -ZM*DRT;
} //ZSQRT()


void ZEXP(REAL AR, REAL AI, REAL *BR, REAL *BI) {
/***BEGIN PROLOGUE  ZEXP
!***REFER TO  ZBESH,ZBESI,ZBESJ,ZBESK,ZBESY,ZAIRY,ZBIRY
!
!     REAL PRECISION COMPLEX EXPONENTIAL FUNCTION B=EXP(A)
!
!***ROUTINES CALLED  (NONE)
!***END PROLOGUE  ZEXP */
REAL ZM, CA, CB;
      ZM = exp(AR);
      CA = ZM*cos(AI);
      CB = ZM*sin(AI);
      *BR = CA;
      *BI = CB;
} //ZEXP()


void ZMLT(REAL AR, REAL AI, REAL BR, REAL BI, REAL *CR, REAL *CI) {
/***BEGIN PROLOGUE  ZMLT
!***REFER TO  ZBESH,ZBESI,ZBESJ,ZBESK,ZBESY,ZAIRY,ZBIRY
!
!     REAL PRECISION COMPLEX MULTIPLY, C=A*B.
!
!***ROUTINES CALLED  (NONE)
!***END PROLOGUE  ZMLT */
REAL CA, CB;
      CA = AR*BR - AI*BI;
      CB = AR*BI + AI*BR;
      *CR = CA;
      *CI = CB;
} //ZMLT()

void ZDIV(REAL AR, REAL AI, REAL BR, REAL BI, REAL *CR, REAL *CI) {
/***BEGIN PROLOGUE  ZDIV
!***REFER TO  ZBESH,ZBESI,ZBESJ,ZBESK,ZBESY,ZAIRY,ZBIRY
!
!     REAL PRECISION COMPLEX DIVIDE C=A/B.

!***ROUTINES CALLED  Zfabs
!***END PROLOGUE  ZDIV */
REAL BM, CA, CB, CC, CD;
      BM = 1.0/ZABS(BR,BI);
      CC = BR*BM;
      CD = BI*BM;
      CA = (AR*CC+AI*CD)*BM;
      CB = (AI*CC-AR*CD)*BM;
      *CR = CA;
      *CI = CB;
} //ZDIV()

void ZLOG(REAL AR, REAL AI, REAL *BR, REAL *BI, int *IERR) {
/***BEGIN PROLOGUE  ZLOG
!***REFER TO  ZBESH,ZBESI,ZBESJ,ZBESK,ZBESY,ZAIRY,ZBIRY

!     REAL PRECISION COMPLEX LOGARITHM B=CLOG(A)
!     IERR=0,NORMAL RETURN      IERR=1, Z=CMPLX(0.0,0.0)
!***ROUTINES CALLED  Zfabs
!***END PROLOGUE  ZLOG */
//Labels e10,e20,e30,e40,e50,e60
REAL ZM, DTHETA, DPI, DHPI;
      DPI = 3.141592653589793238462643383;
      DHPI= 1.570796326794896619231321696;

      *IERR=0;
      if (AR == 0.0) goto e10;
      if (AI == 0.0) goto e20;
      DTHETA = atan(AI/AR);
      if (DTHETA <= 0.0) goto e40;
      if (AR < 0.0)  DTHETA -= DPI;
      goto e50;
e10:  if (AI == 0.0) goto e60;
      *BI = DHPI;
      *BR = log(fabs(AI));
      if (AI < 0.0) *BI = -(*BI);
      return;
e20:  if (AR > 0.0) goto e30;
      *BR = log(fabs(AR));
      *BI = DPI;
      return;
e30:  *BR = log(AR);
      *BI = 0.0;
      return;
e40:  if (AR < 0.0)  DTHETA += DPI;
e50:  ZM = ZABS(AR,AI);
      *BR = log(ZM);
      *BI = DTHETA;
      return;
e60:  *IERR=1;
} //ZLOG()

REAL D1MACH(int I) {
/***BEGIN PROLOGUE  D1MACH
!***DATE WRITTEN   750101   (YYMMDD)
!***REVISION DATE  860501   (YYMMDD)
!***CATEGORY NO.  R1
!***KEYWORDS  MACHINE CONSTANTS
!***AUTHOR  FOX, P. A., (BELL Lfabs)
!           HALL, A. D., (BELL Lfabs)
!           SCHRYER, N. L., (BELL Lfabs)
!***PURPOSE  RETURN REAL PRECISION MACHINE DEPENDENT CONSTANTS.
!***DESCRIPTION

!     D1MACH CAN BE USED TO OBTAIN MACHINE-DEPENDENT PARAMETERS
!     FOR THE LOCAL MACHINE ENVIRONMENT.  IT IS A FUNCTION
!     SUBPROGRAM WITH ONE (INPUT) ARGUMENT, AND CAN BE CALLED
!     AS FOLLOWS, FOR EXAMPLE

!          D = D1MACH(I)

!     WHERE I=1,...,5.  THE (OUTPUT) VALUE OF D ABOVE IS
!     DETERMINED BY THE (INPUT) VALUE OF I.  THE RESULTS FOR
!     VARIOUS VALUES OF I ARE DISCUSSED BELOW.

!  REAL-PRECISION MACHINE CONSTANTS
!  D1MACH( 1) = B**(EMIN-1), THE SMALLEST POSITIVE MAGNITUDE.
!  D1MACH( 2) = B**EMAX*(1 - B**(-T)), THE LARGEST MAGNITUDE.
!  D1MACH( 3) = B**(-T), THE SMALLEST RELATIVE SPACING.
!  D1MACH( 4) = B**(1-T), THE LARGEST RELATIVE SPACING.
!  D1MACH( 5) = LOG10(B)
!***REFERENCES  FOX P.A., HALL A.D., SCHRYER N.L.,*FRAMEWORK FOR A
!                 PORTABLE LIBRARY*, ACM TRANSACTIONS ON MATHEMATICAL
!                 SOFTWARE, VOL. 4, NO. 2, JUNE 1978, PP. 177-188.
!***ROUTINES CALLED  XERROR
!***END PROLOGUE  D1MACH */

REAL DMACH[6];

//***FIRST EXECUTABLE STATEMENT  D1MACH
      if (I < 1 || I > 5)
        printf(" D1MACH -- I OUT OF BOUNDS\n");

      //For IBM PC or APOLLO
      DMACH[1] = 2.22559e-308;
      DMACH[2] = 1.79728e308;
      DMACH[3] = 1.11048e-16;
      DMACH[4] = 2.22096e-16;
      DMACH[5] = 0.301029995663981198;

      return DMACH[I];

} //D1MACH()

long I1MACH(int I) {
/***BEGIN PROLOGUE  I1MACH
!***DATE WRITTEN   750101   (YYMMDD)
!***REVISION DATE  890313   (YYMMDD)
!***CATEGORY NO.  R1
!***KEYWORDS  LIBRARY=SLATEC,TYPE=INTEGER(I1MACH-I),MACHINE CONSTANTS
!***AUTHOR  FOX, P. A., (BELL Lfabs)
!           HALL, A. D., (BELL Lfabs)
!           SCHRYER, N. L., (BELL Lfabs)
!***PURPOSE  Return integer machine dependent constants.
!***DESCRIPTION

!     I1MACH can be used to obtain machine-dependent parameters
!     for the local machine environment.  It is a function
!     subroutine with one (input) argument, and can be called
!     as follows, for example

!          K = I1MACH(I)

!     where I=1,...,16.  The (output) value of K above is
!     determined by the (input) value of I.  The results for
!     various values of I are discussed below.

!  I/O unit numbers.
!    I1MACH( 1) = the standard input unit.
!    I1MACH( 2) = the standard output unit.
!    I1MACH( 3) = the standard punch unit.
!    I1MACH( 4) = the standard error message unit.

!  Words.
!    I1MACH( 5) = the number of bits per integer storage unit.
!    I1MACH( 6) = the number of characters per integer storage unit.

!  Integers.
!    assume integers are represented in the S-digit, base-A form

!               sign ( X(S-1)*A**(S-1) + ... + X(1)*A + X(0) )

!               where 0 .LE. X(I) .LT. A for I=0,...,S-1.
!    I1MACH( 7) = A, the base.
!    I1MACH( 8) = S, the number of base-A digits.
!    I1MACH( 9) = A**S - 1, the largest magnitude.

!  Floating-Point Numbers.
!    Assume floating-point numbers are represented in the T-digit,
!    base-B form
!               sign (B**E)*( (X(1)/B) + ... + (X(T)/B**T) )

!               where 0 .LE. X(I) .LT. B for I=1,...,T,
!               0 .LT. X(1), and EMIN .LE. E .LE. EMAX.
!    I1MACH(10) = B, the base.

!  Single-Precision
!    I1MACH(11) = T, the number of base-B digits.
!    I1MACH(12) = EMIN, the smallest exponent E.
!    I1MACH(13) = EMAX, the largest exponent E.

!  REAL-Precision
!    I1MACH(14) = T, the number of base-B digits.
!    I1MACH(15) = EMIN, the smallest exponent E.
!    I1MACH(16) = EMAX, the largest exponent E.

!  To alter this function for a particular environment,
!  the desired set of DATA statements should be activated by
!  removing the ! from column 1.  Also, the values of
!  I1MACH(1) - I1MACH(4) should be checked for consistency
!  with the local operating system.

!***REFERENCES  FOX P.A., HALL A.D., SCHRYER N.L.,*FRAMEWORK FOR A
!                 PORTABLE LIBRARY*, ACM TRANSACTIONS ON MATHEMATICAL
!                 SOFTWARE, VOL. 4, NO. 2, JUNE 1978, PP. 177-188.
!***ROUTINES CALLED  (NONE)
!***END PROLOGUE  I1MACH */
long IMACH[17];

//***FIRST EXECUTABLE STATEMENT  D1MACH
      if (I < 1 || I > 16)
        printf(" I1MACH -- I OUT OF BOUNDS\n");

      // For IBM PC or APOLLO
      IMACH[ 1] =    5;
      IMACH[ 2] =    6;
      IMACH[ 3] =    0;
      IMACH[ 4] =    0;
      IMACH[ 5] =   32;
      IMACH[ 6] =    4;
      IMACH[ 7] =    2;
      IMACH[ 8] =   31;
      IMACH[ 9] = 2147483647;
      IMACH[10] =    2;
      IMACH[11] =   24;
      IMACH[12] = -125;
      IMACH[13] =  127;
      IMACH[14] =   53;
      IMACH[15] =-1021;
      IMACH[16] = 1023;

      return IMACH[I];

} //I1MACH()

REAL DMAX(REAL a,REAL b) {
  if (a>=b) return a;
  else return b;
}

REAL DMIN(REAL a,REAL b) {
  if (a<=b) return a;
  else return b;
}

int IMAX(int a,int b) {
  if (a>=b) return a;
  else return b;
}

int IMIN(int a,int b) {
  if (a<=b) return a;
  else return b;
}

// end of file Complex.cpp

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美视频一区| 精品国精品国产尤物美女| 青青草国产精品97视觉盛宴| 久久网站热最新地址| 在线看一区二区| 高清不卡一区二区在线| 天天操天天干天天综合网| 欧美极品aⅴ影院| 日韩西西人体444www| 在线一区二区视频| 成人理论电影网| 黄色小说综合网站| 日本成人在线电影网| 亚洲欧美日韩国产手机在线| 久久夜色精品一区| 欧美一区二区视频在线观看2020| 色香蕉久久蜜桃| 国产精品国产三级国产有无不卡| 在线不卡中文字幕播放| 色香蕉成人二区免费| www.久久精品| 成人午夜私人影院| 国产一区在线观看视频| 蜜臀精品一区二区三区在线观看 | 国产亚洲成aⅴ人片在线观看| 欧美日韩黄视频| 一本大道久久a久久综合婷婷| 国产成人在线免费| av一本久道久久综合久久鬼色| 久久国产精品第一页| 五月天激情综合| 亚洲国产成人91porn| 亚洲永久免费视频| 一区二区国产盗摄色噜噜| 亚洲欧美在线视频观看| 国产精品久久久久久久久快鸭| 国产视频不卡一区| 日本一区二区三区国色天香 | 欧美tickling挠脚心丨vk| 777久久久精品| 91麻豆精品国产91久久久久| 欧美日韩国产综合久久| 欧美日韩一区二区在线视频| 欧美色图在线观看| 欧美美女一区二区三区| 91麻豆精品久久久久蜜臀| 欧美一区欧美二区| 精品久久免费看| www欧美成人18+| 日本一区二区三区在线观看| 中文字幕av资源一区| 中文字幕一区在线观看| 亚洲精品免费在线| 亚洲一卡二卡三卡四卡五卡| 亚洲国产成人91porn| 日韩国产欧美在线播放| 另类综合日韩欧美亚洲| 国产精品99久久久久久久女警 | 欧美久久久影院| 欧美va在线播放| 久久九九99视频| 最近中文字幕一区二区三区| 亚洲黄色性网站| 天天色天天操综合| 精品在线免费视频| av在线播放不卡| 欧美日韩一级二级| 久久综合视频网| 夜夜嗨av一区二区三区| 夜夜操天天操亚洲| 久久97超碰色| 91美女片黄在线| 7777精品伊人久久久大香线蕉| 精品久久久久久久久久久久包黑料 | 国产精品亚洲一区二区三区妖精 | 欧美电影精品一区二区| 国产欧美一区二区三区在线看蜜臀| 国产精品久久午夜夜伦鲁鲁| 亚洲一区在线视频观看| 精品一区二区三区免费播放| 波多野结衣精品在线| 在线观看91av| 国产精品丝袜一区| 天天影视涩香欲综合网| 成人午夜在线免费| 91精品国产色综合久久| 国产精品乱人伦| 日韩精品一二区| av日韩在线网站| 日韩精品综合一本久道在线视频| 中文字幕在线观看不卡| 蜜臀av一区二区三区| 91最新地址在线播放| 日韩欧美在线综合网| 亚洲色图丝袜美腿| 国产在线乱码一区二区三区| 色婷婷久久久亚洲一区二区三区| 日韩精品一区二区在线观看| 亚洲天堂av老司机| 国产一区二区美女诱惑| 欧美日韩国产不卡| 日韩毛片一二三区| 国产剧情av麻豆香蕉精品| 欧美日韩1区2区| 中文字幕中文字幕一区二区| 日本不卡在线视频| 欧美午夜电影网| 中文字幕一区二区三区av| 国产中文一区二区三区| 欧美精品aⅴ在线视频| 亚洲天堂av一区| 成人永久aaa| 久久精品在这里| 久久国产精品99久久久久久老狼 | 亚洲免费观看高清| 国产成人自拍网| 日韩一区二区在线看片| 亚洲午夜免费视频| 97精品久久久久中文字幕 | 欧美日韩另类一区| 国产精品丝袜黑色高跟| 国产精品一二三在| 精品精品国产高清a毛片牛牛 | 成人毛片在线观看| 久久久久久黄色| 国内精品国产三级国产a久久| 欧美日本韩国一区| 亚洲成人自拍一区| 91久久线看在观草草青青| 国产精品久久久久久一区二区三区 | 国产精品一区二区免费不卡| 日韩午夜中文字幕| 日韩不卡一二三区| 欧美一区二区日韩| 成人h动漫精品| 久久久久久久综合| 麻豆精品视频在线| 欧美一区二区精品久久911| 视频一区欧美精品| 日韩三级免费观看| 久久黄色级2电影| 久久亚洲综合av| 国产盗摄一区二区| 日本一区二区三区在线观看| 国产精品综合一区二区三区| 久久人人爽人人爽| 成人精品gif动图一区| 亚洲欧洲美洲综合色网| 日本高清不卡一区| 丝袜诱惑制服诱惑色一区在线观看| 欧美日韩一区二区在线视频| 亚洲电影中文字幕在线观看| 欧美日韩一区精品| 九色综合狠狠综合久久| 久久久噜噜噜久久中文字幕色伊伊| 国产真实乱对白精彩久久| 欧美韩国一区二区| 99re热视频精品| 性欧美大战久久久久久久久| 91麻豆精品91久久久久同性| 麻豆国产欧美日韩综合精品二区| 久久这里只有精品视频网| 国产白丝精品91爽爽久久| 最新久久zyz资源站| 欧美私模裸体表演在线观看| 日日夜夜精品视频免费| 久久久精品免费网站| 99久久99久久精品国产片果冻| 一区二区三区日本| 日韩午夜三级在线| 成人高清视频在线| 亚洲成av人片观看| 久久久不卡影院| 日本久久一区二区| 黄色成人免费在线| 亚洲精品ww久久久久久p站 | 69堂成人精品免费视频| 国产精品一区二区男女羞羞无遮挡| 亚洲手机成人高清视频| 日韩一本二本av| 91丝袜美女网| 卡一卡二国产精品| 亚洲人成精品久久久久久 | 亚洲精品国产一区二区精华液| 欧美男同性恋视频网站| 国产99一区视频免费| 亚洲成人资源在线| 国产精品久久久久桃色tv| 欧美一区二区三区小说| 99久久免费精品| 捆绑紧缚一区二区三区视频| 亚洲欧美国产77777| 26uuu欧美| 欧美精品三级在线观看| 成人午夜视频福利| 精品午夜久久福利影院| 亚洲在线中文字幕| 国产精品乱码一区二三区小蝌蚪| 日韩午夜精品电影| 欧美日韩日日夜夜|