我的项目是ES6(webpack + babel).柏拉图是伟大的,但不与ES6工作还没有.我看了一下escomplex和一系列相关软件包,但看起来作者不再维护它了,似乎它不支持ES6.
我正在使用ESLint复杂性规则至少警告我是否存在问题(它设置为在6处发出警告),但它与漂亮的报告不同.
有什么建议?
我OPTIONAL在使用Fortran 95的函数和子程序中的语句有问题.目前我正在使用Silverfrost的Plato和他们的FTN95编译器(在"Release Win32"模式下).在我正在编写的更复杂的程序中尝试实现OPTIONAL语句之后,我创建了一个非常简单的程序来测试它.这是代码:
program TEST
implicit none
integer :: a=1, b=2
call Z(a,b)
call Z(a)
call Z(b)
end program TEST
subroutine Z(x,y)
implicit none
integer :: x
integer, optional :: y
if (present(y)) then
write(*,*) x, y
else
write(*,*) x
endif
end subroutine Z
Run Code Online (Sandbox Code Playgroud)
我希望屏幕上显示以下结果:
1 2
1
2
Run Code Online (Sandbox Code Playgroud)
好吧,代码编译,虽然我得到一个警告(673)"SUBROUTINE Z被调用的参数太少".执行后,我进入我的屏幕:
1 2
Run Code Online (Sandbox Code Playgroud)
然后出现"访问冲突"错误消息.有人能理解这里有什么问题吗?
非常感谢!吉尔伯托
我有QR分解方法的问题.我使用dgeqrf子例程进行分解,但编译器中没有错误,但之后会出现问题.我没有发现错误在哪里.另一个问题是,A = Q*R =>如果A矩阵为零,则分解为零或失去秩.
program decomposition
!CONTAINS
!subroutine Qrdecomposition(A_mat, R)
real,dimension(2,2) :: A_mat !real,dimension(2,2),intent(inout)
:: A_mat
real,dimension(2,2) :: R !real,dimension(2,2),intent(out)
:: R
real,dimension(2,2) :: A
integer :: M,N,LDA,LWORK,INFO
real,allocatable, dimension(:,:) :: TAU
real,allocatable, dimension(:,:) :: WORK
external dgeqrf
M=2
N=2
LDA=2
LWORK=2
INFO=0
A_mat(1,1)=4
A_mat(1,2)=1
A_mat(2,1)=3
A_mat(2,2)=1
A=A_mat
call dgeqrf(M,N,A,TAU,WORK,LWORK,INFO)
R=A
print *,R,WORK,LWORK
!end subroutine Qrdecomposition
end program decomposition
Run Code Online (Sandbox Code Playgroud)