<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Real type issue in Intel® Fortran Compiler</title>
    <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Real-type-issue/m-p/1148404#M139299</link>
    <description>&lt;PRE class="brush:fortran;"&gt;I have a problem I have not encountered before that I remember.  mzaMax is determined from an element of vector, but when I try and use it in the DISLIN GRAF routine - the routine wants a real, so I get a compile error of incorrect type. 

DISLIN is not perfect but it is fast.  

Any help appreciated. 

&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;INTEGER&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;, &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;PARAMETER&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt; :: dp = &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;selected_real_kind&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;(15, 307)
&lt;/FONT&gt;&lt;/FONT&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; integer :: counter
&amp;nbsp;&amp;nbsp;&amp;nbsp; REAL (KIND=dp) Eig(ndf,ndf), vector(ndf), mza(ndf), mzaMax
&amp;nbsp;&amp;nbsp;&amp;nbsp; REAL counterMZA


&amp;nbsp;&amp;nbsp;&amp;nbsp; call getX(eig,ndf)

&amp;nbsp;&amp;nbsp;&amp;nbsp; call setEigen(ndf, eig, sda, 1, vector, counter, mza, mzaMax, counterMZA)

&amp;nbsp;&amp;nbsp;&amp;nbsp; CDEV = 'xwin'
&amp;nbsp;&amp;nbsp;&amp;nbsp; CALL METAFL(CDEV)
&amp;nbsp;&amp;nbsp;&amp;nbsp; CALL SETPAG('DA4L')

&amp;nbsp;&amp;nbsp;&amp;nbsp; FPI=PI/180.
&amp;nbsp;&amp;nbsp;&amp;nbsp; STEP=360./(N-1)

&amp;nbsp;&amp;nbsp;&amp;nbsp; DO K=1,N
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XRAY(K)=(K-1)*STEP
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; X=XRAY(K)*FPI
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y1RAY(K)=0.1
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y2RAY(K)=COS(X)
&amp;nbsp;&amp;nbsp;&amp;nbsp; END DO

&amp;nbsp;&amp;nbsp;&amp;nbsp; CALL DISINI()
&amp;nbsp;&amp;nbsp;&amp;nbsp; CALL PAGERA()
&amp;nbsp;&amp;nbsp;&amp;nbsp; CALL HWFONT()
&amp;nbsp;&amp;nbsp;&amp;nbsp; CALL AXSPOS(450,1800)
&amp;nbsp;&amp;nbsp;&amp;nbsp; CALL AXSLEN(2200,1200)

&amp;nbsp;&amp;nbsp;&amp;nbsp; CALL NAME('X-axis','X')
&amp;nbsp;&amp;nbsp;&amp;nbsp; CALL NAME('Y-axis','Y')

&amp;nbsp;&amp;nbsp;&amp;nbsp; CALL LABDIG(-1,'X')
&amp;nbsp;&amp;nbsp;&amp;nbsp; CALL TICKS(10,'XY')

&amp;nbsp;&amp;nbsp;&amp;nbsp; CALL TITLIN('Eigenvector Plot ',1)
&amp;nbsp;&amp;nbsp;&amp;nbsp; CALL TITLIN(SDA(1),3)

&amp;nbsp;&amp;nbsp;&amp;nbsp; CALL GRAF(0.,counterMZA + 2.0 ,0.,1.0,-mzaMax,mzaMax,-mzaMax,mzaMax/4.0)&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Sun, 04 Mar 2018 00:44:44 GMT</pubDate>
    <dc:creator>JohnNichols</dc:creator>
    <dc:date>2018-03-04T00:44:44Z</dc:date>
    <item>
      <title>Real type issue</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Real-type-issue/m-p/1148404#M139299</link>
      <description>&lt;PRE class="brush:fortran;"&gt;I have a problem I have not encountered before that I remember.  mzaMax is determined from an element of vector, but when I try and use it in the DISLIN GRAF routine - the routine wants a real, so I get a compile error of incorrect type. 

DISLIN is not perfect but it is fast.  

Any help appreciated. 

&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;INTEGER&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;, &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;PARAMETER&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt; :: dp = &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;selected_real_kind&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;(15, 307)
&lt;/FONT&gt;&lt;/FONT&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; integer :: counter
&amp;nbsp;&amp;nbsp;&amp;nbsp; REAL (KIND=dp) Eig(ndf,ndf), vector(ndf), mza(ndf), mzaMax
&amp;nbsp;&amp;nbsp;&amp;nbsp; REAL counterMZA


&amp;nbsp;&amp;nbsp;&amp;nbsp; call getX(eig,ndf)

&amp;nbsp;&amp;nbsp;&amp;nbsp; call setEigen(ndf, eig, sda, 1, vector, counter, mza, mzaMax, counterMZA)

&amp;nbsp;&amp;nbsp;&amp;nbsp; CDEV = 'xwin'
&amp;nbsp;&amp;nbsp;&amp;nbsp; CALL METAFL(CDEV)
&amp;nbsp;&amp;nbsp;&amp;nbsp; CALL SETPAG('DA4L')

&amp;nbsp;&amp;nbsp;&amp;nbsp; FPI=PI/180.
&amp;nbsp;&amp;nbsp;&amp;nbsp; STEP=360./(N-1)

&amp;nbsp;&amp;nbsp;&amp;nbsp; DO K=1,N
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XRAY(K)=(K-1)*STEP
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; X=XRAY(K)*FPI
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y1RAY(K)=0.1
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y2RAY(K)=COS(X)
&amp;nbsp;&amp;nbsp;&amp;nbsp; END DO

&amp;nbsp;&amp;nbsp;&amp;nbsp; CALL DISINI()
&amp;nbsp;&amp;nbsp;&amp;nbsp; CALL PAGERA()
&amp;nbsp;&amp;nbsp;&amp;nbsp; CALL HWFONT()
&amp;nbsp;&amp;nbsp;&amp;nbsp; CALL AXSPOS(450,1800)
&amp;nbsp;&amp;nbsp;&amp;nbsp; CALL AXSLEN(2200,1200)

&amp;nbsp;&amp;nbsp;&amp;nbsp; CALL NAME('X-axis','X')
&amp;nbsp;&amp;nbsp;&amp;nbsp; CALL NAME('Y-axis','Y')

&amp;nbsp;&amp;nbsp;&amp;nbsp; CALL LABDIG(-1,'X')
&amp;nbsp;&amp;nbsp;&amp;nbsp; CALL TICKS(10,'XY')

&amp;nbsp;&amp;nbsp;&amp;nbsp; CALL TITLIN('Eigenvector Plot ',1)
&amp;nbsp;&amp;nbsp;&amp;nbsp; CALL TITLIN(SDA(1),3)

&amp;nbsp;&amp;nbsp;&amp;nbsp; CALL GRAF(0.,counterMZA + 2.0 ,0.,1.0,-mzaMax,mzaMax,-mzaMax,mzaMax/4.0)&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 04 Mar 2018 00:44:44 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Real-type-issue/m-p/1148404#M139299</guid>
      <dc:creator>JohnNichols</dc:creator>
      <dc:date>2018-03-04T00:44:44Z</dc:date>
    </item>
    <item>
      <title>I have a problem I have not</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Real-type-issue/m-p/1148405#M139300</link>
      <description>&lt;P&gt;I have a problem I have not encountered before that I remember.&amp;nbsp; mzaMax is determined from an element of vector, but when I try and use it in the DISLIN GRAF routine - the routine wants a real, so I get a compile error of incorrect type.&lt;/P&gt;

&lt;P&gt;DISLIN is not perfect but it is fast.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Any help appreciated.&lt;/P&gt;

&lt;P&gt;---------------------------------------------------------------------------&lt;/P&gt;

&lt;P&gt;Make a hash of that post&lt;/P&gt;</description>
      <pubDate>Sun, 04 Mar 2018 00:47:03 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Real-type-issue/m-p/1148405#M139300</guid>
      <dc:creator>JohnNichols</dc:creator>
      <dc:date>2018-03-04T00:47:03Z</dc:date>
    </item>
    <item>
      <title>I have never used DISLIN, but</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Real-type-issue/m-p/1148406#M139301</link>
      <description>&lt;P&gt;I have never used DISLIN, but the documentation for GRAF I can find says that all arguments are "float", that is, single precision. You declare mzaMax as REAL(DP), which is double precision. This won't match. You can convert to single (REAL(value,KIND(0.0))), or do something else appropriate.&lt;/P&gt;</description>
      <pubDate>Sun, 04 Mar 2018 01:01:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Real-type-issue/m-p/1148406#M139301</guid>
      <dc:creator>Steve_Lionel</dc:creator>
      <dc:date>2018-03-04T01:01:00Z</dc:date>
    </item>
    <item>
      <title>Steve:</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Real-type-issue/m-p/1148407#M139302</link>
      <description>&lt;P&gt;Steve:&lt;/P&gt;

&lt;P&gt;Thanks - it worked a treat.&lt;/P&gt;

&lt;P&gt;John&lt;/P&gt;</description>
      <pubDate>Sun, 04 Mar 2018 04:16:36 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Real-type-issue/m-p/1148407#M139302</guid>
      <dc:creator>JohnNichols</dc:creator>
      <dc:date>2018-03-04T04:16:36Z</dc:date>
    </item>
    <item>
      <title>Hi John,</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Real-type-issue/m-p/1148408#M139303</link>
      <description>&lt;P&gt;Hi John,&lt;/P&gt;

&lt;P&gt;Steve's advice is correct.&lt;/P&gt;

&lt;P&gt;Furthermore, if you prefer to keep your double precision floating point number format, you could also link against the respective Dislin libraries, since they exist both in single precision and double precision versions (compare&amp;nbsp;&lt;SPAN style="font-size: 13.008px;"&gt;disifl.lib vs. disifl_d.lib) -- (this may also depend on which version you downloaded from the Dislin distribution website)&lt;/SPAN&gt;.&lt;BR /&gt;
	For example, in Visual Studio, you would link against the dependencies (Linker &amp;gt; Input &amp;gt; Additional Dependencies) "c:\dislin\disifl_d.lib c:\dislin\disifd_d.lib user32.lib gdi32.lib". This is assuming that you installed dislin at that local path on your system. Of course, the extra precision will usually be of little importance on a graphical output, but it may help in reducing the number of conversions between double and single precision in the code.&lt;/P&gt;

&lt;P&gt;Andi&lt;/P&gt;</description>
      <pubDate>Mon, 05 Mar 2018 14:58:10 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Real-type-issue/m-p/1148408#M139303</guid>
      <dc:creator>Andreas_Z_</dc:creator>
      <dc:date>2018-03-05T14:58:10Z</dc:date>
    </item>
    <item>
      <title>Dear Andi:</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Real-type-issue/m-p/1148409#M139304</link>
      <description>&lt;P&gt;Dear Andi:&lt;/P&gt;

&lt;P&gt;Thanks for the comment on DISLIN.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;I will move to all double precision it just takes a while to sort out.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;mecej4 helped a lot last year with modernization of the code so I have slowly been moving this whole program in stages to Modern Fortran from the Very Old Fortran of the original Harrison 1973 program. I keep hoping I could do these things in standard FEM programs, but the obstacles are to significant compared to the joy of Intel Fortran. As these programs are used a lot one does not mess with the "current" production version and the types of changes required for modern Fortran usually requires several weeks to debug. It is a lot of fun, but it can be challenging.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;I noticed that when I use DEBUG Multithreaded instead of just plain Multithreaded in the Runtime Library that I start throwing a lot of linker errors with DISLIN say libcore routines duplicated.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Is there a significant difference in these libraries to generate the errors?&lt;/P&gt;

&lt;P&gt;John&lt;/P&gt;</description>
      <pubDate>Tue, 06 Mar 2018 15:41:35 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Real-type-issue/m-p/1148409#M139304</guid>
      <dc:creator>JohnNichols</dc:creator>
      <dc:date>2018-03-06T15:41:35Z</dc:date>
    </item>
    <item>
      <title>Hi John,</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Real-type-issue/m-p/1148410#M139305</link>
      <description>&lt;P&gt;Hi John,&lt;/P&gt;

&lt;P&gt;I use DISLIN with projects both in Debug and Release configurations without the linker errors you describe, including use of DEBUG Multithreaded (/libs:static ...) in Debug configuration vs. Multithreaded in Release mode.&lt;BR /&gt;
	Note that there is also option DEBUG Multithread DLL instead of the static library one, which may issue errors with Dislin, but this is likely not what you need.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;I recall that in the past sometimes there were linker issues with Dislin when there was some overlap with common libraries already present (if used). However, those issues should have been resolved in the recent versions (less than two years old or so) of Dislin with Intel Fortran.&lt;/P&gt;

&lt;P&gt;Andi&lt;BR /&gt;
	&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 06 Mar 2018 19:29:14 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Real-type-issue/m-p/1148410#M139305</guid>
      <dc:creator>Andreas_Z_</dc:creator>
      <dc:date>2018-03-06T19:29:14Z</dc:date>
    </item>
    <item>
      <title>I am using the latest DISLIN</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Real-type-issue/m-p/1148411#M139306</link>
      <description>&lt;P&gt;I am using the latest DISLIN - the 2017 VS and the 2018 Intel Fortran on the latest Windows Preview.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Teh picture shows the setting that throws the errors.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;I just switched it off and the problem went away.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;john&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 07 Mar 2018 16:14:03 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Real-type-issue/m-p/1148411#M139306</guid>
      <dc:creator>JohnNichols</dc:creator>
      <dc:date>2018-03-07T16:14:03Z</dc:date>
    </item>
  </channel>
</rss>

