Lisandro Dalcin avatar Lisandro Dalcin committed 791c6f2

Fortran: fix all real initializations

Comments (0)

Files changed (9)

 
 #FFLAGS_STD_F03 = -std=f2003
 #FFLAGS_STD_F08 = -std=f2008
+#FFLAGS_STD_F08 = -std=f2008ts
 #FFLAGS_STD = ${FFLAGS_STD_F03}
-#FFLAGS = ${FFLAGS_STD} -pedantic -Wall -Wextra -fcheck=all
+#FFLAGS = ${FFLAGS_STD} -pedantic -Wall -Wextra -Wimplicit-interface -g3 -fcheck=all -fbacktrace
 
 SOURCEH  = ../include/petiga.h petigabl.h petigagrid.h petigapart.h
 SOURCEC  = petiga.c petigareg.c petigaaxis.c petigarule.c petigabasis.c petigabound.c petigaelem.c petigapoint.c petigavec.c petigamat.c petigascl.c petigapcb.c petigapce.c petigapc.c petigaksp.c petigasnes.c petigats.c petigats2.c petigaio.c petigagrid.c petigapart.c snesfdcolor.c tsalpha2.c
      if (side==1) k=m(2)
      Xx => Cx(:,:,k); Xw => Cw(:,k)
   end select
-  detJ = 1.0
-  dS = 0.0
+  detJ = 1
+  dS = 0
   do q=1,nqp
      N0(  :) = N(0,:,q)
      N1(1,:) = N(1,:,q)
      if (side==1) k=m(3)
      Xx => Cx(:,:,:,k); Xw => Cw(:,:,k)
   end select
-  detJ = 1.0
-  dS = 0.0
+  detJ = 1
+  dS = 0
   do jq=1,jnqp
      do iq=1,inqp
         do ja=1,jnen; do ia=1,inen

src/petigabsp.f90

   real   (kind=IGA_REAL_KIND   )  :: saved, temp, d
   real   (kind=IGA_REAL_KIND   )  :: left(p), right(p)
   real   (kind=IGA_REAL_KIND   )  :: ndu(0:p,0:p), a(0:1,0:p)
-  ndu(0,0) = 1.0
+  ndu(0,0) = 1
   do j = 1, p
      left(j)  = uu - U(i+1-j)
      right(j) = U(i+j) - uu
-     saved = 0.0
+     saved = 0
      do r = 0, j-1
         ndu(j,r) = right(r+1) + left(j-r)
         temp = ndu(r,j-1) / ndu(j,r)
   ders(:,0) = ndu(:,p)
   do r = 0, p
      s1 = 0; s2 = 1;
-     a(0,0) = 1.0
+     a(0,0) = 1
      do k = 1, n
-        d = 0.0
+        d = 0
         rk = r-k; pk = p-k;
         if (r >= k) then
            a(s2,0) = a(s1,0) / ndu(pk+1,rk)
   end do
 
   do m = 0, p
-     Lp = 1.0
+     Lp = 1
      do i = 0, p
         if (i == m) cycle
         Lp = Lp * (uu-X(i))/(X(m)-X(i))
 
   if (d < 1) return
   do m = 0, p
-     Ls1 = 0.0
+     Ls1 = 0
      do j = 0, p
         if (j == m) cycle
-        Lp = 1.0
+        Lp = 1
         do i = 0, p
            if (i == m .or. i == j) cycle
            Lp = Lp * (uu-X(i))/(X(m)-X(i))
 
   if (d < 2) return
   do m = 0, p
-     Ls2 = 0.0
+     Ls2 = 0
      do k = 0, p
         if (k == m) cycle
-        Ls1 = 0.0
+        Ls1 = 0
         do j = 0, p
            if (j == m .or. j == k) cycle
-           Lp = 1.0
+           Lp = 1
            do i = 0, p
               if (i == m .or. i == k .or. i == j) cycle
               Lp = Lp * (uu-X(i))/(X(m)-X(i))
 
   if (d < 3) return
   do m = 0, p
-     Ls3 = 0.0
+     Ls3 = 0
      do l = 0, p
         if (l == m) cycle
-        Ls2 = 0.0
+        Ls2 = 0
         do k = 0, p
            if (k == m .or. k == l) cycle
-           Ls1 = 0.0
+           Ls1 = 0
            do j = 0, p
               if (j == m .or. j == l .or. j == k) cycle
-              Lp = 1.0
+              Lp = 1
               do i = 0, p
                  if (i == m .or. i == l .or. i == k .or. i == j) cycle
                  Lp = Lp * (uu-X(i))/(X(m)-X(i))
   real   (kind=IGA_REAL_KIND   ), intent(out)      :: B(0:d,0:p)
   integer(kind=IGA_INTEGER_KIND)  :: i, k
   real   (kind=IGA_REAL_KIND   )  :: J, x, Lp(0:p,0:d)
-  real   (kind=IGA_REAL_KIND   ), parameter :: two = 2.0
+  real   (kind=IGA_REAL_KIND   ), parameter :: two = 2
 
-  J = (U(kk+1)-U(kk))/2.0
-  x = (uu-U(kk))/J - 1.0
+  J = (U(kk+1)-U(kk))/2
+  x = (uu-U(kk))/J - 1
 
-  B(0,0) = (1.0-x)/2.0
-  B(0,p) = (x+1.0)/2.0
+  B(0,0) = (1-x)/2
+  B(0,p) = (x+1)/2
   if (d > 0) then
-     B(1,0) = -0.5
-     B(1,p) = +0.5
+     B(1,0) = -1/two
+     B(1,p) = +1/two
   endif
 
   if (p > 1) then
-     Lp(:,:) = 0.0
-     Lp(0,0) = 1.0
+     Lp(:,:) = 0
+     Lp(0,0) = 1
      Lp(1,0) = x
      if (d > 0) then
-        Lp(0,1) = 0.0
-        Lp(1,1) = 1.0
+        Lp(0,1) = 0
+        Lp(1,1) = 1
      end if
      do i = 1, p-1
         Lp(i+1,0) = ((2*i+1)*x*Lp(i,0) - i*Lp(i-1,0))/(i+1)

src/petigaftn.F90

       scalar (kind=IGA_SCALAR_KIND)  :: V
       ! V = dot_product(N,U)
       integer a
-      V = 0.0
+      V = 0
       do a = 1, size(U,1) ! nen
          V = V + N(a) * U(a)
       end do
       scalar (kind=IGA_SCALAR_KIND)  :: V(DOF)            ! dof
       ! V = matmul(N,transpose(U))
       integer a
-      V = 0.0
+      V = 0
       do a = 1, size(U,2) ! nen
          V = V + N(a) * U(:,a)
       end do
       scalar (kind=IGA_SCALAR_KIND)  :: V(DIM)            ! dim
       !V = matmul(N,U)
       integer a
-      V = 0.0
+      V = 0
       do a = 1, size(U,1) ! nen
          V(:) = V(:) + N(:,a) * U(a)
       end do
       scalar (kind=IGA_SCALAR_KIND)  :: V(DIM,DOF)        ! dim,dof
       ! V = matmul(N,transpose(U))
       integer a, c
-      V = 0.0
+      V = 0
       do a = 1, size(U,2) ! nen
          do c = 1, size(U,1) ! dof
             V(:,c) = V(:,c) + N(:,a) * U(c,a)
       scalar (kind=IGA_SCALAR_KIND), intent(in) :: U(:)     ! nen
       scalar (kind=IGA_SCALAR_KIND)  :: V(DIM,DIM)          ! dim,dim
       integer a
-      V = 0.0
+      V = 0
       do a = 1, size(U,1) ! nen
          V(:,:) = V(:,:) + N(:,:,a) * U(a)
       end do
       scalar (kind=IGA_SCALAR_KIND), intent(in) :: U(:,:)   ! dof,nen
       scalar (kind=IGA_SCALAR_KIND)  :: V(DIM,DIM,DOF)      ! dim,dim,dof
       integer a, c
-      V = 0.0
+      V = 0
       do a = 1, size(U,2) ! nen
          do c = 1, size(U,1) ! dof
             V(:,:,c) = V(:,:,c) + N(:,:,a) * U(c,a)
       scalar (kind=IGA_SCALAR_KIND), intent(in) :: U(:)       ! nen
       scalar (kind=IGA_SCALAR_KIND)  :: V(DIM,DIM,DIM)        ! dim,dim,dim
       integer a
-      V = 0.0
+      V = 0
       do a = 1, size(U,1) ! nen
          V(:,:,:) = V(:,:,:) + N(:,:,:,a) * U(a)
       end do
       scalar (kind=IGA_SCALAR_KIND), intent(in) :: U(:,:)     ! dof,nen
       scalar (kind=IGA_SCALAR_KIND)  :: V(DIM,DIM,DIM,DOF)    ! dim,dim,dim,dof
       integer a, c
-      V = 0.0
+      V = 0
       do a = 1, size(U,2) ! nen
          do c = 1, size(U,1) ! dof
             V(:,:,:,c) = V(:,:,:,c) + N(:,:,:,a) * U(c,a)
       scalar (kind=IGA_SCALAR_KIND), intent(in) :: U(:,:) ! dim,nen
       scalar (kind=IGA_SCALAR_KIND)  :: V
       integer a, c, i
-      V = 0.0
+      V = 0
       do a = 1, size(U,2) ! nen
          do i = 1, size(N,1) ! dim
             V = V + N(i,a) * U(i,a)
       scalar (kind=IGA_SCALAR_KIND), intent(in) :: U(:)     ! nen
       scalar (kind=IGA_SCALAR_KIND)  :: V
       integer a, c, i
-      V = 0.0
+      V = 0
       do a = 1, size(U,1) ! nen
          do i = 1, size(N,1) ! dim
             V = V + N(i,i,a) * U(a)
       scalar (kind=IGA_SCALAR_KIND), intent(in) :: U(:,:)   ! dof,nen
       scalar (kind=IGA_SCALAR_KIND)  :: V(DOF)
       integer a, c, i
-      V = 0.0
+      V = 0
       do a = 1, size(U,2) ! nen
          do c = 1, size(U,1) ! dof
             do i = 1, size(N,1) ! dim

src/petigageo.f90.in

   ! 1st derivatives
   X1 = transpose(Grad)
   E1 = transpose(InvG)
-  R1 = 0.0
+  R1 = 0
   do idx = 1,nen
      do i = 1,dim
         do a = 1,dim
 
   ! 2nd derivatives
   if (order < 2) return
-  X2 = 0.0
+  X2 = 0
   do b = 1,dim
      do a = 1,dim
         do i = 1,dim
         end do
      end do
   end do
-  E2 = 0.0
+  E2 = 0
   do j = 1,dim
      do i = 1,dim
         do c = 1,dim
         end do
      end do
   end do
-  R2 = 0.0
+  R2 = 0
   do idx = 1,nen
      do j = 1,dim
         do i = 1,dim
 
   ! 3rd derivatives
   if (order < 3) return
-  X3 = 0.0
+  X3 = 0
   do c = 1,dim
      do b = 1,dim
         do a = 1,dim
         end do
      end do
   end do
-  E3 = 0.0
+  E3 = 0
   do k = 1,dim
      do j = 1,dim
         do i = 1,dim
         end do
      end do
   end do
-  R3 = 0.0
+  R3 = 0
   do idx = 1,nen
      do k = 1,dim
         do j = 1,dim

src/petigainv.f90.in

             - A(2,1) * ( A(1,2)*A(3,3) - A(3,2)*A(1,3) ) &
             + A(3,1) * ( A(1,2)*A(2,3) - A(2,2)*A(1,3) )
   case default
-     detA = 0.0
+     detA = 0
   end select
 end function Determinant
 
   real   (kind=IGA_REAL_KIND   )  :: invA(dim,dim)
   select case (dim)
   case (1)
-     invA = 1.0/detA
+     invA = 1/detA
   case (2)
      invA(1,1) = + A(2,2)
      invA(2,1) = - A(2,1)
      invA(3,3) = + A(1,1)*A(2,2) - A(1,2)*A(2,1)
      invA = invA/detA
   case default
-     invA = 0.0
+     invA = 0
   end select
 end function Inverse

src/petigaqdr.f90

   integer(kind=IGA_INTEGER_KIND), intent(in)  :: q
   real   (kind=IGA_REAL_KIND   ), intent(out) :: X(0:q-1)
   real   (kind=IGA_REAL_KIND   ), intent(out) :: W(0:q-1)
+  integer, parameter :: rk = IGA_REAL_KIND
   select case (q)
   case (1) ! p <= 1
-     X(0) = 0.0
-     W(0) = 2.0
+     X(0) = 0.0_rk
+     W(0) = 2.0_rk
   case (2) ! p <= 3
-     X(0) = -0.5773502691896257645091487805019576 ! 1/sqrt(3)
+     X(0) = -0.5773502691896257645091487805019576_rk ! 1/sqrt(3)
      X(1) = -X(0)
-     W(0) =  1.0
+     W(0) =  1.0_rk                                  ! 1
      W(1) =  W(0)
   case (3) ! p <= 5
-     X(0) = -0.7745966692414833770358530799564799 ! sqrt(3/5)
-     X(1) =  0.0
+     X(0) = -0.7745966692414833770358530799564799_rk ! sqrt(3/5)
+     X(1) =  0.0_rk                                  ! 0
      X(2) = -X(0)
-     W(0) =  0.5555555555555555555555555555555556 ! 5/9
-     W(1) =  0.8888888888888888888888888888888889 ! 8/9
+     W(0) =  0.5555555555555555555555555555555556_rk ! 5/9
+     W(1) =  0.8888888888888888888888888888888889_rk ! 8/9
      W(2) =  W(0)
   case (4) ! p <= 7
-     X(0) = -0.8611363115940525752239464888928094 ! sqrt((3+2*sqrt(6/5))/7)
-     X(1) = -0.3399810435848562648026657591032448 ! sqrt((3-2*sqrt(6/5))/7)
+     X(0) = -0.8611363115940525752239464888928094_rk ! sqrt((3+2*sqrt(6/5))/7)
+     X(1) = -0.3399810435848562648026657591032448_rk ! sqrt((3-2*sqrt(6/5))/7)
      X(2) = -X(1)
      X(3) = -X(0)
-     W(0) =  0.3478548451374538573730639492219994 ! (18-sqrt(30))/36
-     W(1) =  0.6521451548625461426269360507780006 ! (18+sqrt(30))/36
+     W(0) =  0.3478548451374538573730639492219994_rk ! (18-sqrt(30))/36
+     W(1) =  0.6521451548625461426269360507780006_rk ! (18+sqrt(30))/36
      W(2) =  W(1)
      W(3) =  W(0)
   case (5) ! p <= 9
-     X(0) = -0.9061798459386639927976268782993929 ! 1/3*sqrt(5+2*sqrt(10/7))
-     X(1) = -0.5384693101056830910363144207002086 ! 1/3*sqrt(5-2*sqrt(10/7))
-     X(2) =  0.0
+     X(0) = -0.9061798459386639927976268782993929_rk ! 1/3*sqrt(5+2*sqrt(10/7))
+     X(1) = -0.5384693101056830910363144207002086_rk ! 1/3*sqrt(5-2*sqrt(10/7))
+     X(2) =  0.0_rk                                  ! 0
      X(3) = -X(1)
      X(4) = -X(0)
-     W(0) =  0.2369268850561890875142640407199173 ! (322-13*sqrt(70))/900
-     W(1) =  0.4786286704993664680412915148356382 ! (322+13*sqrt(70))/900
-     W(2) =  0.5688888888888888888888888888888889 ! 128/225
+     W(0) =  0.2369268850561890875142640407199173_rk ! (322-13*sqrt(70))/900
+     W(1) =  0.4786286704993664680412915148356382_rk ! (322+13*sqrt(70))/900
+     W(2) =  0.5688888888888888888888888888888889_rk ! 128/225
      W(3) =  W(1)
      W(4) =  W(0)
   case (6) ! p <= 11
-     X(0) = -0.9324695142031520278123015544939946 ! << NumericalDifferentialEquationAnalysis`
-     X(1) = -0.6612093864662645136613995950199053 ! GaussianQuadratureWeights(6, -1, 1, 37)
-     X(2) = -0.2386191860831969086305017216807119
+     X(0) = -0.9324695142031520278123015544939946_rk ! << NumericalDifferentialEquationAnalysis`
+     X(1) = -0.6612093864662645136613995950199053_rk ! GaussianQuadratureWeights(6, -1, 1, 37)
+     X(2) = -0.2386191860831969086305017216807119_rk
      X(3) = -X(2)
      X(4) = -X(1)
      X(5) = -X(0)
-     W(0) =  0.171324492379170345040296142172732894
-     W(1) =  0.360761573048138607569833513837716112
-     W(2) =  0.467913934572691047389870343989550995
+     W(0) =  0.171324492379170345040296142172732894_rk
+     W(1) =  0.360761573048138607569833513837716112_rk
+     W(2) =  0.467913934572691047389870343989550995_rk
      W(3) =  W(2)
      W(4) =  W(1)
      W(5) =  W(0)
   case (7) ! p <= 13
-     X(0) = -0.9491079123427585245261896840478513 ! << NumericalDifferentialEquationAnalysis`
-     X(1) = -0.7415311855993944398638647732807884 ! GaussianQuadratureWeights(7, -1, 1, 37)
-     X(2) = -0.4058451513773971669066064120769615
-     X(3) =  0.0
+     X(0) = -0.9491079123427585245261896840478513_rk ! << NumericalDifferentialEquationAnalysis`
+     X(1) = -0.7415311855993944398638647732807884_rk ! GaussianQuadratureWeights(7, -1, 1, 37)
+     X(2) = -0.4058451513773971669066064120769615_rk
+     X(3) =  0.0_rk
      X(4) = -X(2)
      X(5) = -X(1)
      X(6) = -X(0)
-     W(0) =  0.129484966168869693270611432679082018
-     W(1) =  0.279705391489276667901467771423779582
-     W(2) =  0.381830050505118944950369775488975134
-     W(3) =  0.417959183673469387755102040816326531
+     W(0) =  0.129484966168869693270611432679082018_rk
+     W(1) =  0.279705391489276667901467771423779582_rk
+     W(2) =  0.381830050505118944950369775488975134_rk
+     W(3) =  0.417959183673469387755102040816326531_rk
      W(4) =  W(2)
      W(5) =  W(1)
      W(6) =  W(0)
   case (8) ! p <= 15
-     X(0) = -0.9602898564975362316835608685694730 ! << NumericalDifferentialEquationAnalysis`
-     X(1) = -0.7966664774136267395915539364758304 ! GaussianQuadratureWeights(8, -1, 1, 37)
-     X(2) = -0.5255324099163289858177390491892463
-     X(3) = -0.1834346424956498049394761423601840
+     X(0) = -0.9602898564975362316835608685694730_rk ! << NumericalDifferentialEquationAnalysis`
+     X(1) = -0.7966664774136267395915539364758304_rk ! GaussianQuadratureWeights(8, -1, 1, 37)
+     X(2) = -0.5255324099163289858177390491892463_rk
+     X(3) = -0.1834346424956498049394761423601840_rk
      X(4) = -X(3)
      X(5) = -X(2)
      X(6) = -X(1)
      X(7) = -X(0)
-     W(0) =  0.101228536290376259152531354309962190
-     W(1) =  0.222381034453374470544355994426240884
-     W(2) =  0.313706645877887287337962201986601313
-     W(3) =  0.362683783378361982965150449277195612
+     W(0) =  0.101228536290376259152531354309962190_rk
+     W(1) =  0.222381034453374470544355994426240884_rk
+     W(2) =  0.313706645877887287337962201986601313_rk
+     W(3) =  0.362683783378361982965150449277195612_rk
      W(4) =  W(3)
      W(5) =  W(2)
      W(6) =  W(1)
      W(7) =  W(0)
   case (9) ! p <= 17
-     X(0) = -0.9681602395076260898355762029036729 ! << NumericalDifferentialEquationAnalysis`
-     X(1) = -0.8360311073266357942994297880697349 ! GaussianQuadratureWeights(9, -1, 1, 37)
-     X(2) = -0.6133714327005903973087020393414742
-     X(3) = -0.3242534234038089290385380146433366
-     X(4) =  0.0
+     X(0) = -0.9681602395076260898355762029036729_rk ! << NumericalDifferentialEquationAnalysis`
+     X(1) = -0.8360311073266357942994297880697349_rk ! GaussianQuadratureWeights(9, -1, 1, 37)
+     X(2) = -0.6133714327005903973087020393414742_rk
+     X(3) = -0.3242534234038089290385380146433366_rk
+     X(4) =  0.0_rk
      X(5) = -X(3)
      X(6) = -X(2)
      X(7) = -X(1)
      X(8) = -X(0)
-     W(0) =  0.081274388361574411971892158110523651
-     W(1) =  0.180648160694857404058472031242912810
-     W(2) =  0.260610696402935462318742869418632850
-     W(3) =  0.312347077040002840068630406584443666
-     W(4) =  0.330239355001259763164525069286974049
+     W(0) =  0.081274388361574411971892158110523651_rk
+     W(1) =  0.180648160694857404058472031242912810_rk
+     W(2) =  0.260610696402935462318742869418632850_rk
+     W(3) =  0.312347077040002840068630406584443666_rk
+     W(4) =  0.330239355001259763164525069286974049_rk
      W(5) =  W(3)
      W(6) =  W(2)
      W(7) =  W(1)
      W(8) =  W(0)
   case default
-     X = 0.0
-     W = 0.0
+     X = 0.0_rk
+     W = 0.0_rk
   end select
 end subroutine IGA_Rule_GaussLegendre
 
   integer(kind=IGA_INTEGER_KIND), intent(in)  :: q
   real   (kind=IGA_REAL_KIND   ), intent(out) :: X(0:q-1)
   real   (kind=IGA_REAL_KIND   ), intent(out) :: W(0:q-1)
+  integer, parameter :: rk = IGA_REAL_KIND
   select case (q)
   case (2) ! p <= 1
-     X(0) = -1.0
+     X(0) = -1.0_rk
      X(1) = -X(0)
-     W(0) =  1.0
+     W(0) =  1.0_rk
      W(1) =  W(0)
   case (3) ! p <= 3
-     X(0) = -1.0
-     X(1) =  0.0
+     X(0) = -1.0_rk                                   ! -1
+     X(1) =  0.0_rk                                   ! 0
      X(2) = -X(0)
-     W(0) =  0.3333333333333333333333333333333333  ! 1/3
-     W(1) =  1.3333333333333333333333333333333333  ! 4/3
+     W(0) =  0.33333333333333333333333333333333333_rk ! 1/3
+     W(1) =  1.33333333333333333333333333333333333_rk ! 4/3
      W(2) =  W(0)
   case (4) ! p <= 5
-     X(0) = -1.0
-     X(1) = -0.44721359549995793928183473374625525 ! 1/sqrt(5)
+     X(0) = -1.0_rk                                   ! -1
+     X(1) = -0.44721359549995793928183473374625525_rk ! 1/sqrt(5)
      X(2) = -X(1)
      X(3) = -X(0)
-     W(0) =  0.16666666666666666666666666666666667 ! 1/6
-     W(1) =  0.83333333333333333333333333333333333 ! 5/6
+     W(0) =  0.16666666666666666666666666666666667_rk ! 1/6
+     W(1) =  0.83333333333333333333333333333333333_rk ! 5/6
      W(2) =  W(1)
      W(3) =  W(0)
   case (5) ! p <= 7
-     X(0) = -1.0
-     X(1) = -0.65465367070797714379829245624685835 ! sqrt(3/7)
-     X(2) =  0.0
+     X(0) = -1.0_rk                                   ! -1
+     X(1) = -0.65465367070797714379829245624685835_rk ! sqrt(3/7)
+     X(2) =  0.0_rk                                   ! 0
      X(3) = -X(1)
      X(4) = -X(0)
-     W(0) =  0.10000000000000000000000000000000000 !  1/10
-     W(1) =  0.54444444444444444444444444444444444 ! 49/90
-     W(2) =  0.71111111111111111111111111111111111 ! 32/45
+     W(0) =  0.1_rk                                   !  1/10
+     W(1) =  0.54444444444444444444444444444444444_rk ! 49/90
+     W(2) =  0.71111111111111111111111111111111111_rk ! 32/45
      W(3) =  W(1)
      W(4) =  W(0)
   case default
-     X = 0.0
-     W = 0.0
+     X = 0.0_rk
+     W = 0.0_rk
   end select
 end subroutine IGA_Rule_GaussLobatto

src/petigaval.F90

      end select
   case (1)
      select case (axis)
-     case (0); N = (/ 1.0 /)
+     case (0); N = 1
      end select
   end select
   dS = sqrt(sum(N*N))
   real(kind=IGA_REAL_KIND)             :: n(3)
   real(kind=IGA_REAL_KIND), intent(in) :: s(3)
   real(kind=IGA_REAL_KIND), intent(in) :: t(3)
-  ! c_i = eps_ijk s_j tj
+  ! n_i = eps_ijk s_j tj
   n(1) = s(2) * t(3) - s(3) * t(2)
   n(2) = s(3) * t(1) - s(1) * t(3)
   n(3) = s(1) * t(2) - s(2) * t(1)
   scalar (kind=IGA_SCALAR_KIND ), intent(out)      :: V(dof)
   integer(kind=IGA_INTEGER_KIND)  :: a, i
   ! V = matmul(N,transpose(U))
-  V = 0.0
+  V = 0
   do a = 1, nen
      V = V + N(a) * U(:,a)
   end do
   scalar (kind=IGA_SCALAR_KIND ), intent(out)      :: V(dim,dof)
   integer(kind=IGA_INTEGER_KIND)  :: a, c
   ! V = matmul(N,transpose(U))
-  V = 0.0
+  V = 0
   do a = 1, nen
      do c = 1, dof
         V(:,c) = V(:,c) + N(:,a) * U(c,a)
   scalar (kind=IGA_SCALAR_KIND ), intent(out)      :: V(dim*dim,dof)
   integer(kind=IGA_INTEGER_KIND)  :: a, i
   ! V = matmul(N,transpose(U))
-  V = 0.0
+  V = 0
   do a = 1, nen
      do i = 1, dof
         V(:,i) = V(:,i) + N(:,a) * U(i,a)
   scalar (kind=IGA_SCALAR_KIND ), intent(in)       :: U(dof,nen)
   scalar (kind=IGA_SCALAR_KIND ), intent(out)      :: V(dof)
   integer(kind=IGA_INTEGER_KIND)  :: a, c, i
-  V = 0.0
+  V = 0
   do a = 1, nen
      do c = 1, dof
         do i = 1, dim
   scalar (kind=IGA_SCALAR_KIND ), intent(out)      :: V(dim*dim*dim,dof)
   integer(kind=IGA_INTEGER_KIND)  :: a, i
   ! V = matmul(N,transpose(U))
-  V = 0.0
+  V = 0
   do a = 1, nen
      do i = 1, dof
         V(:,i) = V(:,i) + N(:,a) * U(i,a)
 !  scalar (kind=IGA_SCALAR_KIND ), intent(out)      :: V(dim**der,dof)
 !  integer(kind=IGA_INTEGER_KIND)  :: a, i
 !  ! V = matmul(N,transpose(U))
-!  V = 0.0
+!  V = 0
 !  do a = 1, nen
 !     do i = 1, dof
 !        V(:,i) = V(:,i) + N(:,a) * U(i,a)
   scalar (kind=IGA_SCALAR_KIND ), intent(out)      :: V(dim**der,dof)
   integer(kind=IGA_INTEGER_KIND)  :: a, i
   ! V = matmul(N,transpose(U))
-  V = 0.0
+  V = 0
   do a = 1, nen
      do i = 1, dof
         V(:,i) = V(:,i) + N(:,a) * U(i,a)
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.