Fortran Coder

标题: sign函数使用问题 [打印本页]

作者: marri    时间: 2018-5-30 19:56
标题: sign函数使用问题
求助:
real*8 Y,P1,P2,P3,P4,P5,Q1,Q2,Q3,Q4,Q5,R1,R2,R3,R4,R5,R6,
     &S1,S2,S3,S4,S5,S6,X,ax,z,xxBESSJ1=dsqrt(.636619772/AX)*(dcos(XX)*(P1+Y*(P2+Y*(P3+Y*(P4+Y*P5)
     &        )))-Z*dsin(XX)*(Q1+Y*(Q2+Y*(Q3+Y*(Q4+Y*Q5)))))*SIGN(1.,X)

在已经规定sign函数内部的数据类型的情况下,仍然报错:
[backcolor=rgba(0, 0, 0, 0.831373)]‘b’ argument of ‘sign’ intrinsic at (1) must be the same type and kind as ‘a’


作者: kyra    时间: 2018-5-31 08:12
错误提示很明显呀,1. 必须和 X 具有相同的 kind 值。
您的 X 是 real*8 ,所以 1. 必须也是 kind=8 的常量,即 1.d0

SIGN(1.d0,X)
作者: marri    时间: 2018-6-1 10:14
kyra 发表于 2018-5-31 08:12
错误提示很明显呀,1. 必须和 X 具有相同的 kind 值。
您的 X 是 real*8 ,所以 1. 必须也是 kind=8 的常量 ...

谢谢解答,给你小心心




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2