| ! { dg-options "-ffast-math -O2 -fgraphite-identity" } |
| |
| module mcc_m |
| integer, parameter, private :: longreal = selected_real_kind(15,90) |
| contains |
| subroutine mutual_ind_cir_cir_coils (m, l12) |
| real (kind = longreal), intent(out) :: l12 |
| real (kind = longreal), dimension(1:9), save :: zw |
| gauss:do i = 1, 9 |
| theta_l12 = 0.0_longreal |
| theta1: do n1 = 1, 2*m |
| theta_1 = pi*real(n1,longreal)/real(m,longreal) |
| theta2: do n2 = 1, 2*m |
| numerator = -sin(theta_1)*tvx + cos(theta_1)*tvy |
| theta_l12 = theta_l12 + numerator/denominator |
| end do theta2 |
| end do theta1 |
| l12 = l12 + zw(i)*theta_l12 |
| end do gauss |
| l12 = coefficient * l12 |
| end subroutine mutual_ind_cir_cir_coils |
| end module mcc_m |