mirror of
https://github.com/sfilippone/psblas3.git
synced 2026-10-18 03:42:09 +00:00
psblas2-typext:
Beginning of experiments with type, extends.
This commit is contained in:
+2
-1
@@ -6,11 +6,12 @@
|
||||
# These lines are quite portable.
|
||||
.mod=@MODEXT@
|
||||
.fh=.fh
|
||||
.SUFFIXES: .f90 $(.mod) .F90 .F
|
||||
.SUFFIXES: .f90 $(.mod) .F90 .F .f03 .F03
|
||||
|
||||
|
||||
# The following ones are the variables used by the PSBLAS make scripts.
|
||||
|
||||
F03=@F90@
|
||||
F90=@F90@
|
||||
FC=@FC@
|
||||
CC=@CC@
|
||||
|
||||
@@ -120,45 +120,30 @@ module psb_spmat_type
|
||||
character(len=5) :: psb_fidef_='CSR'
|
||||
|
||||
|
||||
|
||||
type psb_sspmat_type
|
||||
integer :: m, k
|
||||
character(len=5) :: fida
|
||||
type psb_base_spmat_type
|
||||
integer :: m, k
|
||||
character(len=5) :: fida
|
||||
character(len=11) :: descra
|
||||
integer :: infoa(psb_ifasize_)
|
||||
real(psb_spk_), allocatable :: aspk(:)
|
||||
integer :: infoa(psb_ifasize_)
|
||||
integer, allocatable :: ia1(:), ia2(:)
|
||||
integer, allocatable :: pl(:), pr(:)
|
||||
end type psb_base_spmat_type
|
||||
|
||||
|
||||
type, extends(psb_base_spmat_type) :: psb_sspmat_type
|
||||
real(psb_spk_), allocatable :: aspk(:)
|
||||
end type psb_sspmat_type
|
||||
|
||||
type psb_cspmat_type
|
||||
integer :: m, k
|
||||
character(len=5) :: fida
|
||||
character(len=11) :: descra
|
||||
integer :: infoa(psb_ifasize_)
|
||||
type, extends(psb_base_spmat_type) :: psb_cspmat_type
|
||||
complex(psb_spk_), allocatable :: aspk(:)
|
||||
integer, allocatable :: ia1(:), ia2(:)
|
||||
integer, allocatable :: pl(:), pr(:)
|
||||
end type psb_cspmat_type
|
||||
|
||||
type psb_dspmat_type
|
||||
integer :: m, k
|
||||
character(len=5) :: fida
|
||||
character(len=11) :: descra
|
||||
integer :: infoa(psb_ifasize_)
|
||||
type, extends(psb_base_spmat_type) :: psb_dspmat_type
|
||||
real(psb_dpk_), allocatable :: aspk(:)
|
||||
integer, allocatable :: ia1(:), ia2(:)
|
||||
integer, allocatable :: pl(:), pr(:)
|
||||
end type psb_dspmat_type
|
||||
|
||||
type psb_zspmat_type
|
||||
integer :: m, k
|
||||
character(len=5) :: fida
|
||||
character(len=11) :: descra
|
||||
integer :: infoa(psb_ifasize_)
|
||||
type, extends(psb_base_spmat_type) :: psb_zspmat_type
|
||||
complex(psb_dpk_), allocatable :: aspk(:)
|
||||
integer, allocatable :: ia1(:), ia2(:)
|
||||
integer, allocatable :: pl(:), pr(:)
|
||||
end type psb_zspmat_type
|
||||
|
||||
interface psb_nullify_sp
|
||||
@@ -464,7 +449,17 @@ contains
|
||||
psb_get_zsp_nnz_row = 0
|
||||
end if
|
||||
end function psb_get_zsp_nnz_row
|
||||
|
||||
!!$
|
||||
!!$ subroutine psb_nullify_base_sp(mat)
|
||||
!!$ implicit none
|
||||
!!$ class(psb_base_spmat_type), intent(inout) :: mat
|
||||
!!$ mat%infoa(:)=0
|
||||
!!$ mat%m=0
|
||||
!!$ mat%k=0
|
||||
!!$ mat%fida=''
|
||||
!!$ mat%descra=''
|
||||
!!$
|
||||
!!$ end subroutine psb_nullify_base_sp
|
||||
|
||||
subroutine psb_nullify_ssp(mat)
|
||||
implicit none
|
||||
|
||||
@@ -671,6 +671,10 @@ $(.mod).o:
|
||||
$(F90) $(F90COPT) $(FINCLUDES) -c $<
|
||||
%$(.mod): %.f90
|
||||
$(F90) $(F90COPT) $(FINCLUDES) -c $<
|
||||
%.o: %.f03
|
||||
$(F90) $(F90COPT) $(FINCLUDES) -c $<
|
||||
%$(.mod): %.f03
|
||||
$(F90) $(F90COPT) $(FINCLUDES) -c $<
|
||||
%.o: %.F
|
||||
$(FC) $(FCOPT) $(FINCLUDES) $(FDEFINES) -c $<
|
||||
%$(.mod): %.F
|
||||
@@ -679,6 +683,10 @@ $(.mod).o:
|
||||
$(F90) $(F90COPT) $(FINCLUDES) $(FDEFINES) -c $<
|
||||
%$(.mod): %.F90
|
||||
$(F90) $(F90COPT) $(FINCLUDES) $(FDEFINES) -c $<'
|
||||
%.o: %.F03
|
||||
$(F03) $(F90COPT) $(FINCLUDES) $(FDEFINES) -c $<
|
||||
%$(.mod): %.F03
|
||||
$(F03) $(F90COPT) $(FINCLUDES) $(FDEFINES) -c $<'
|
||||
|
||||
else
|
||||
|
||||
@@ -701,6 +709,10 @@ $(.mod).o:
|
||||
$(F90) $(F90COPT) $(FINCLUDES) -c $<
|
||||
.f90.o:
|
||||
$(F90) $(F90COPT) $(FINCLUDES) -c $<
|
||||
.f03$(.mod):
|
||||
$(F03) $(F90COPT) $(FINCLUDES) -c $<
|
||||
.f03.o:
|
||||
$(F03) $(F90COPT) $(FINCLUDES) -c $<
|
||||
.F.o:
|
||||
$(FC) $(FCOPT) $(FINCLUDES) $(FDEFINES) -c $<
|
||||
.F$(.mod):
|
||||
@@ -709,6 +721,10 @@ $(.mod).o:
|
||||
$(F90) $(F90COPT) $(FINCLUDES) $(FDEFINES) -c $<
|
||||
.F90$(.mod):
|
||||
$(F90) $(F90COPT) $(FINCLUDES) $(FDEFINES) -c $<'
|
||||
.F03.o:
|
||||
$(F03) $(F90COPT) $(FINCLUDES) $(FDEFINES) -c $<
|
||||
.F03$(.mod):
|
||||
$(F03) $(F90COPT) $(FINCLUDES) $(FDEFINES) -c $<'
|
||||
|
||||
fi
|
||||
AC_SUBST(PSBLASRULES)
|
||||
|
||||
Reference in New Issue
Block a user