\hypertarget{interfacedc__scaledsec_1_1mod}{}\section{dc\+\_\+scaledsec\+:\+:mod Interface Reference}
\label{interfacedc__scaledsec_1_1mod}\index{dc\+\_\+scaledsec\+::mod@{dc\+\_\+scaledsec\+::mod}}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
type(\hyperlink{structdc__scaledsec_1_1dc__scaled__sec}{dc\+\_\+scaled\+\_\+sec}) function \hyperlink{interfacedc__scaledsec_1_1mod_ae504c760fbf31ea9061994265cc21005}{dcscaledsec\+\_\+mod\+\_\+si} (sclsec, factor)
\item 
type(\hyperlink{structdc__scaledsec_1_1dc__scaled__sec}{dc\+\_\+scaled\+\_\+sec}) function \hyperlink{interfacedc__scaledsec_1_1mod_ae828ada7686a1df0eee5eb1ea5825ab0}{dcscaledsec\+\_\+mod\+\_\+sr} (sclsec, factor)
\item 
type(\hyperlink{structdc__scaledsec_1_1dc__scaled__sec}{dc\+\_\+scaled\+\_\+sec}) function \hyperlink{interfacedc__scaledsec_1_1mod_aa2514215d39998a1ee7d4388b81f63ed}{dcscaledsec\+\_\+mod\+\_\+sd} (sclsec, factor)
\item 
type(\hyperlink{structdc__scaledsec_1_1dc__scaled__sec}{dc\+\_\+scaled\+\_\+sec}) function \hyperlink{interfacedc__scaledsec_1_1mod_a473d850a25354bee07b34315183ff6bf}{dcscaledsec\+\_\+mod\+\_\+ss} (sclsec, factor)
\end{DoxyCompactItemize}


\subsection{Detailed Description}


Definition at line 158 of file dc\+\_\+scaledsec.\+f90.



\subsection{Member Function/\+Subroutine Documentation}
\mbox{\Hypertarget{interfacedc__scaledsec_1_1mod_aa2514215d39998a1ee7d4388b81f63ed}\label{interfacedc__scaledsec_1_1mod_aa2514215d39998a1ee7d4388b81f63ed}} 
\index{dc\+\_\+scaledsec\+::mod@{dc\+\_\+scaledsec\+::mod}!dcscaledsec\+\_\+mod\+\_\+sd@{dcscaledsec\+\_\+mod\+\_\+sd}}
\index{dcscaledsec\+\_\+mod\+\_\+sd@{dcscaledsec\+\_\+mod\+\_\+sd}!dc\+\_\+scaledsec\+::mod@{dc\+\_\+scaledsec\+::mod}}
\subsubsection{\texorpdfstring{dcscaledsec\+\_\+mod\+\_\+sd()}{dcscaledsec\_mod\_sd()}}
{\footnotesize\ttfamily type(\hyperlink{structdc__scaledsec_1_1dc__scaled__sec}{dc\+\_\+scaled\+\_\+sec}) function dc\+\_\+scaledsec\+::mod\+::dcscaledsec\+\_\+mod\+\_\+sd (\begin{DoxyParamCaption}\item[{type(\hyperlink{structdc__scaledsec_1_1dc__scaled__sec}{dc\+\_\+scaled\+\_\+sec}), intent(in)}]{sclsec,  }\item[{real(dp), intent(in)}]{factor }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Definition at line 1728 of file dc\+\_\+scaledsec.\+f90.


\begin{DoxyCode}
1728     \textcolor{comment}{!}
1729     \textcolor{comment}{! DC\_SCALED\_SEC 型変数を割った際の余りを計算. }
1730     \textcolor{comment}{! }
1731     \textcolor{comment}{! Calculate of remainder by division of a "DC\_SCALED\_SEC" variable}
1732     \textcolor{comment}{!}
1733     \textcolor{keywordtype}{use }\hyperlink{namespacedc__message}{dc\_message}\textcolor{keywordtype}{, only}: \hyperlink{interfacedc__message_1_1messagenotify}{messagenotify}
1734     \textcolor{keywordtype}{implicit none}
1735     \textcolor{keywordtype}{type}(\hyperlink{structdc__scaledsec_1_1dc__scaled__sec}{dc\_scaled\_sec}), \textcolor{keywordtype}{intent(in)}:: sclsec
1736     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{intent(in)}:: factor
1737     \textcolor{keywordtype}{type}(\hyperlink{structdc__scaledsec_1_1dc__scaled__sec}{dc\_scaled\_sec}):: factor\_scl
1738 
1739   \textcolor{keywordflow}{continue}
1740     factor\_scl = factor
1741     result = \hyperlink{interfacedc__scaledsec_1_1mod}{mod}( sclsec, factor\_scl )
\end{DoxyCode}
\mbox{\Hypertarget{interfacedc__scaledsec_1_1mod_ae504c760fbf31ea9061994265cc21005}\label{interfacedc__scaledsec_1_1mod_ae504c760fbf31ea9061994265cc21005}} 
\index{dc\+\_\+scaledsec\+::mod@{dc\+\_\+scaledsec\+::mod}!dcscaledsec\+\_\+mod\+\_\+si@{dcscaledsec\+\_\+mod\+\_\+si}}
\index{dcscaledsec\+\_\+mod\+\_\+si@{dcscaledsec\+\_\+mod\+\_\+si}!dc\+\_\+scaledsec\+::mod@{dc\+\_\+scaledsec\+::mod}}
\subsubsection{\texorpdfstring{dcscaledsec\+\_\+mod\+\_\+si()}{dcscaledsec\_mod\_si()}}
{\footnotesize\ttfamily type(\hyperlink{structdc__scaledsec_1_1dc__scaled__sec}{dc\+\_\+scaled\+\_\+sec}) function dc\+\_\+scaledsec\+::mod\+::dcscaledsec\+\_\+mod\+\_\+si (\begin{DoxyParamCaption}\item[{type(\hyperlink{structdc__scaledsec_1_1dc__scaled__sec}{dc\+\_\+scaled\+\_\+sec}), intent(in)}]{sclsec,  }\item[{integer, intent(in)}]{factor }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Definition at line 1690 of file dc\+\_\+scaledsec.\+f90.


\begin{DoxyCode}
1690     \textcolor{comment}{!}
1691     \textcolor{comment}{! DC\_SCALED\_SEC 型変数を割った際の余りを計算. }
1692     \textcolor{comment}{! }
1693     \textcolor{comment}{! Calculate of remainder by division of a "DC\_SCALED\_SEC" variable}
1694     \textcolor{comment}{!}
1695     \textcolor{keywordtype}{use }\hyperlink{namespacedc__message}{dc\_message}\textcolor{keywordtype}{, only}: \hyperlink{interfacedc__message_1_1messagenotify}{messagenotify}
1696     \textcolor{keywordtype}{implicit none}
1697     \textcolor{keywordtype}{type}(\hyperlink{structdc__scaledsec_1_1dc__scaled__sec}{dc\_scaled\_sec}), \textcolor{keywordtype}{intent(in)}:: sclsec
1698     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}:: factor
1699     \textcolor{keywordtype}{type}(\hyperlink{structdc__scaledsec_1_1dc__scaled__sec}{dc\_scaled\_sec}):: factor\_scl
1700 
1701   \textcolor{keywordflow}{continue}
1702     factor\_scl = factor
1703     result = \hyperlink{interfacedc__scaledsec_1_1mod}{mod}( sclsec, factor\_scl )
\end{DoxyCode}
\mbox{\Hypertarget{interfacedc__scaledsec_1_1mod_ae828ada7686a1df0eee5eb1ea5825ab0}\label{interfacedc__scaledsec_1_1mod_ae828ada7686a1df0eee5eb1ea5825ab0}} 
\index{dc\+\_\+scaledsec\+::mod@{dc\+\_\+scaledsec\+::mod}!dcscaledsec\+\_\+mod\+\_\+sr@{dcscaledsec\+\_\+mod\+\_\+sr}}
\index{dcscaledsec\+\_\+mod\+\_\+sr@{dcscaledsec\+\_\+mod\+\_\+sr}!dc\+\_\+scaledsec\+::mod@{dc\+\_\+scaledsec\+::mod}}
\subsubsection{\texorpdfstring{dcscaledsec\+\_\+mod\+\_\+sr()}{dcscaledsec\_mod\_sr()}}
{\footnotesize\ttfamily type(\hyperlink{structdc__scaledsec_1_1dc__scaled__sec}{dc\+\_\+scaled\+\_\+sec}) function dc\+\_\+scaledsec\+::mod\+::dcscaledsec\+\_\+mod\+\_\+sr (\begin{DoxyParamCaption}\item[{type(\hyperlink{structdc__scaledsec_1_1dc__scaled__sec}{dc\+\_\+scaled\+\_\+sec}), intent(in)}]{sclsec,  }\item[{real, intent(in)}]{factor }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Definition at line 1709 of file dc\+\_\+scaledsec.\+f90.


\begin{DoxyCode}
1709     \textcolor{comment}{!}
1710     \textcolor{comment}{! DC\_SCALED\_SEC 型変数を割った際の余りを計算. }
1711     \textcolor{comment}{! }
1712     \textcolor{comment}{! Calculate of remainder by division of a "DC\_SCALED\_SEC" variable}
1713     \textcolor{comment}{!}
1714     \textcolor{keywordtype}{use }\hyperlink{namespacedc__message}{dc\_message}\textcolor{keywordtype}{, only}: \hyperlink{interfacedc__message_1_1messagenotify}{messagenotify}
1715     \textcolor{keywordtype}{implicit none}
1716     \textcolor{keywordtype}{type}(\hyperlink{structdc__scaledsec_1_1dc__scaled__sec}{dc\_scaled\_sec}), \textcolor{keywordtype}{intent(in)}:: sclsec
1717     \textcolor{keywordtype}{real}, \textcolor{keywordtype}{intent(in)}:: factor
1718     \textcolor{keywordtype}{type}(\hyperlink{structdc__scaledsec_1_1dc__scaled__sec}{dc\_scaled\_sec}):: factor\_scl
1719 
1720   \textcolor{keywordflow}{continue}
1721     factor\_scl = factor
1722     result = \hyperlink{interfacedc__scaledsec_1_1mod}{mod}( sclsec, factor\_scl )
\end{DoxyCode}
\mbox{\Hypertarget{interfacedc__scaledsec_1_1mod_a473d850a25354bee07b34315183ff6bf}\label{interfacedc__scaledsec_1_1mod_a473d850a25354bee07b34315183ff6bf}} 
\index{dc\+\_\+scaledsec\+::mod@{dc\+\_\+scaledsec\+::mod}!dcscaledsec\+\_\+mod\+\_\+ss@{dcscaledsec\+\_\+mod\+\_\+ss}}
\index{dcscaledsec\+\_\+mod\+\_\+ss@{dcscaledsec\+\_\+mod\+\_\+ss}!dc\+\_\+scaledsec\+::mod@{dc\+\_\+scaledsec\+::mod}}
\subsubsection{\texorpdfstring{dcscaledsec\+\_\+mod\+\_\+ss()}{dcscaledsec\_mod\_ss()}}
{\footnotesize\ttfamily type(\hyperlink{structdc__scaledsec_1_1dc__scaled__sec}{dc\+\_\+scaled\+\_\+sec}) function dc\+\_\+scaledsec\+::mod\+::dcscaledsec\+\_\+mod\+\_\+ss (\begin{DoxyParamCaption}\item[{type(\hyperlink{structdc__scaledsec_1_1dc__scaled__sec}{dc\+\_\+scaled\+\_\+sec}), intent(in)}]{sclsec,  }\item[{type(\hyperlink{structdc__scaledsec_1_1dc__scaled__sec}{dc\+\_\+scaled\+\_\+sec}), intent(in)}]{factor }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Definition at line 1618 of file dc\+\_\+scaledsec.\+f90.


\begin{DoxyCode}
1618     \textcolor{comment}{!}
1619     \textcolor{comment}{! DC\_SCALED\_SEC 型変数を割った際の余りを計算. }
1620     \textcolor{comment}{! }
1621     \textcolor{comment}{! Calculate of remainder by division of a "DC\_SCALED\_SEC" variable}
1622     \textcolor{comment}{!}
1623     \textcolor{keywordtype}{use }\hyperlink{namespacedc__message}{dc\_message}\textcolor{keywordtype}{, only}: \hyperlink{interfacedc__message_1_1messagenotify}{messagenotify}
1624     \textcolor{keywordtype}{implicit none}
1625     \textcolor{keywordtype}{type}(\hyperlink{structdc__scaledsec_1_1dc__scaled__sec}{dc\_scaled\_sec}), \textcolor{keywordtype}{intent(in)}:: sclsec, factor
1626 
1627     \textcolor{keywordtype}{type}(\hyperlink{structdc__scaledsec_1_1dc__scaled__sec}{dc\_scaled\_sec}):: factor\_scl
1628     \textcolor{keywordtype}{real(DP)}:: sec\_ary\_mod(imin+imin:imax)
1629     \textcolor{keywordtype}{integer}:: i, move\_down\_index
1630     \textcolor{keywordtype}{real(DP)}:: move\_down
1631     \textcolor{keywordtype}{real(DP)}:: factor\_dp
1632     \textcolor{keywordtype}{type}(\hyperlink{structdc__scaledsec_1_1dc__scaled__sec}{dc\_scaled\_sec}):: zero\_sec
1633   \textcolor{keywordflow}{continue}
1634 
1635     \textcolor{comment}{! frt, ifort などでは, 1.0e+23 などの実数とすると, }
1636     \textcolor{comment}{! 9.9999e+22 などとなってしまうため, }
1637     \textcolor{comment}{! factor として指定するものは 10e+12 までとする. (うーむ, 汚い対応だな....)}
1638     \textcolor{comment}{! (morikawa 2008/09/01) }
1639     \textcolor{comment}{!}
1640     \textcolor{keywordflow}{if} ( .not. all( factor % sec\_ary (imax-4:imax) == (/ 0, 0, 0, 0, 0 /) ) ) \textcolor{keywordflow}{then}
1641       \textcolor{keyword}{call }\hyperlink{interfacedc__message_1_1messagenotify}{messagenotify}( \textcolor{stringliteral}{'E'}, \textcolor{stringliteral}{'dc\_scaledsec#mod'}, &
1642         & \textcolor{stringliteral}{'factor must be smaller than 10^12'} )
1643 \textcolor{keywordflow}{    end if}
1644 
1645     \textcolor{keywordflow}{if} ( sclsec == factor ) \textcolor{keywordflow}{then}
1646       result = zero\_sec
1647       \textcolor{keywordflow}{return}
1648 \textcolor{keywordflow}{    end if}
1649 
1650     factor\_scl % sec\_ary(imin:-1) = 0
1651     factor\_scl % sec\_ary(imin-imin:imax) = factor % sec\_ary(imin:imax+imin)
1652     factor\_scl % flag\_negative = factor % flag\_negative
1653 
1654     factor\_dp = factor\_scl
1655 
1656     move\_down = 0.0\_dp
1657     \textcolor{keywordflow}{do} i = imax, imin + imin, -1
1658       move\_down\_index = i
1659       \textcolor{keywordflow}{if} ( move\_down /= 0.0\_dp ) \textcolor{keywordflow}{then}
1660         \textcolor{keywordflow}{if} ( \hyperlink{interfacedc__scaledsec_1_1abs}{abs}(factor\_dp) > ( move\_down + scale\_factor ) * scale\_factor\_xx( i - imin ) ) \textcolor{keywordflow}{exit}
1661 \textcolor{keywordflow}{      end if}
1662 
1663       \textcolor{keywordflow}{if} ( i > imin - 1 ) \textcolor{keywordflow}{then}
1664         sec\_ary\_mod(i) = &
1665           & \hyperlink{interfacedc__scaledsec_1_1mod}{mod}( ( sclsec % sec\_ary(i) + move\_down ), factor\_dp )
1666       \textcolor{keywordflow}{else}
1667         sec\_ary\_mod(i) = \hyperlink{interfacedc__scaledsec_1_1mod}{mod}( move\_down, factor\_dp )
1668 \textcolor{keywordflow}{      end if}
1669 
1670       \textcolor{keywordflow}{if} ( sec\_ary\_mod(i) /= 0.0\_dp ) \textcolor{keywordflow}{then}
1671         move\_down = sec\_ary\_mod(i) * scale\_factor
1672       \textcolor{keywordflow}{else}
1673         move\_down = 0.0\_dp
1674 \textcolor{keywordflow}{      end if}
1675 
1676 \textcolor{keywordflow}{    end do}
1677 
1678     result = move\_down * scale\_factor\_xx(move\_down\_index)
1679     \textcolor{keywordflow}{if} ( move\_down\_index > imin - 1 ) \textcolor{keywordflow}{then}
1680       result % sec\_ary(imin:move\_down\_index) = sclsec % sec\_ary(imin:move\_down\_index)
1681 \textcolor{keywordflow}{    end if}
1682 
1683     result % flag\_negative = sclsec % flag\_negative
1684 
\end{DoxyCode}


The documentation for this interface was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
dc\+\_\+utils/\hyperlink{dc__scaledsec_8f90}{dc\+\_\+scaledsec.\+f90}\end{DoxyCompactItemize}
