<?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 function arguments in Software Archive</title>
    <link>https://community.intel.com/t5/Software-Archive/function-arguments/m-p/941571#M17162</link>
    <description>Inside of the subroutine "SECTION" the variables have the proper values,  when the program execution reaches the function "SolveTooth" the arguments take on the value of the argument immediately to it's right. &lt;BR /&gt; &lt;BR /&gt;   SolveTooth(rbs,m2s,gamma,thetaOS,Yg,Zg,thetaS,phiS,us) &lt;BR /&gt;eg:  rbs=m2s, &lt;BR /&gt;m2s=gamma &lt;BR /&gt;etc. &lt;BR /&gt;us=useless data (value=1e-135) &lt;BR /&gt; &lt;BR /&gt;What could possibly be causing this? &lt;BR /&gt; &lt;BR /&gt;Subroutine SECTION(GeomVec,nt,nf,zeta,XLIST,evec) &lt;BR /&gt;!program SECTION &lt;BR /&gt;!DEC$ ATTRIBUTES DLLEXPORT :: SECTION             ! This exports the name &lt;BR /&gt;!DEC$ ATTRIBUTES ALIAS : "SECTION" :: FortranCall !This sets it &lt;BR /&gt;    use dfwin  !use standard windows dll packs &lt;BR /&gt;	IMPLICIT NONE &lt;BR /&gt; &lt;BR /&gt;	DOUBLE PRECISION:: zeta &lt;BR /&gt;	DOUBLE PRECISION ::gamma &lt;BR /&gt; &lt;BR /&gt;	INTEGER :: i,j,k,maxits &lt;BR /&gt; &lt;BR /&gt;	DOUBLE PRECISION, PARAMETER :: pi = 3.14159265358979, delmax=0.00001 &lt;BR /&gt;	DOUBLE PRECISION :: Xg,Yg,Zg,dels,errorCurrent,flat2,Cx,Cy &lt;BR /&gt;	DOUBLE PRECISION :: rbs,thetaOS,thetaStar,m2s &lt;BR /&gt;	DOUBLE PRECISION :: A,Guess,err,FA,F1A,B,L1,L2,Zpoint,thetaS &lt;BR /&gt;	DOUBLE PRECISION :: delta,temp,InnerR,Length,location,ToothBottom,intersection,interval &lt;BR /&gt;	DOUBLE PRECISION :: us,phiS,toothstep,filletstep,phi2,rad,Nt,Nf,F2,ToothHeight &lt;BR /&gt;	DOUBLE PRECISION :: SolveTooth,ToothWidth,SolveFillet,MeshFillet,FilletWidth &lt;BR /&gt;	DOUBLE PRECISION :: FindphiS &lt;BR /&gt; &lt;BR /&gt;	DOUBLE PRECISION, DIMENSION(1:3,1:600)::XLIST, TEMPLIST &lt;BR /&gt;	DOUBLE PRECISION, DIMENSION(1:2)::parameters &lt;BR /&gt; &lt;BR /&gt;parameters=SolveTooth(rbs,m2s,gamma,thetaOS,Yg,Zg,thetaS,phiS,us) &lt;BR /&gt; &lt;BR /&gt;__________________________________________________ &lt;BR /&gt; &lt;BR /&gt;FUNCTION SolveTooth(rbs,m2s,gamma,thetaOS,Yg,Zg,thetaS,phiS,us) &lt;BR /&gt; &lt;BR /&gt;	IMPLICIT NONE &lt;BR /&gt; &lt;BR /&gt;	DOUBLE PRECISION, INTENT(in) :: rbs !,m2s,gamma,thetaOS &lt;BR /&gt; &lt;BR /&gt;DOUBLE PRECISION :: thetaS,phiS,us,Yg,Zg,dels,delmax,errorCurrent,F2,F3,solve,m2s,gamma,thetaOS &lt;BR /&gt; &lt;BR /&gt;DOUBLE PRECISION, DIMENSION(2,3) :: jac &lt;BR /&gt;DOUBLE PRECISION, DIMENSION(2) :: adjust, SolveTooth</description>
    <pubDate>Wed, 07 Mar 2001 07:34:58 GMT</pubDate>
    <dc:creator>Intel_C_Intel</dc:creator>
    <dc:date>2001-03-07T07:34:58Z</dc:date>
    <item>
      <title>function arguments</title>
      <link>https://community.intel.com/t5/Software-Archive/function-arguments/m-p/941571#M17162</link>
      <description>Inside of the subroutine "SECTION" the variables have the proper values,  when the program execution reaches the function "SolveTooth" the arguments take on the value of the argument immediately to it's right. &lt;BR /&gt; &lt;BR /&gt;   SolveTooth(rbs,m2s,gamma,thetaOS,Yg,Zg,thetaS,phiS,us) &lt;BR /&gt;eg:  rbs=m2s, &lt;BR /&gt;m2s=gamma &lt;BR /&gt;etc. &lt;BR /&gt;us=useless data (value=1e-135) &lt;BR /&gt; &lt;BR /&gt;What could possibly be causing this? &lt;BR /&gt; &lt;BR /&gt;Subroutine SECTION(GeomVec,nt,nf,zeta,XLIST,evec) &lt;BR /&gt;!program SECTION &lt;BR /&gt;!DEC$ ATTRIBUTES DLLEXPORT :: SECTION             ! This exports the name &lt;BR /&gt;!DEC$ ATTRIBUTES ALIAS : "SECTION" :: FortranCall !This sets it &lt;BR /&gt;    use dfwin  !use standard windows dll packs &lt;BR /&gt;	IMPLICIT NONE &lt;BR /&gt; &lt;BR /&gt;	DOUBLE PRECISION:: zeta &lt;BR /&gt;	DOUBLE PRECISION ::gamma &lt;BR /&gt; &lt;BR /&gt;	INTEGER :: i,j,k,maxits &lt;BR /&gt; &lt;BR /&gt;	DOUBLE PRECISION, PARAMETER :: pi = 3.14159265358979, delmax=0.00001 &lt;BR /&gt;	DOUBLE PRECISION :: Xg,Yg,Zg,dels,errorCurrent,flat2,Cx,Cy &lt;BR /&gt;	DOUBLE PRECISION :: rbs,thetaOS,thetaStar,m2s &lt;BR /&gt;	DOUBLE PRECISION :: A,Guess,err,FA,F1A,B,L1,L2,Zpoint,thetaS &lt;BR /&gt;	DOUBLE PRECISION :: delta,temp,InnerR,Length,location,ToothBottom,intersection,interval &lt;BR /&gt;	DOUBLE PRECISION :: us,phiS,toothstep,filletstep,phi2,rad,Nt,Nf,F2,ToothHeight &lt;BR /&gt;	DOUBLE PRECISION :: SolveTooth,ToothWidth,SolveFillet,MeshFillet,FilletWidth &lt;BR /&gt;	DOUBLE PRECISION :: FindphiS &lt;BR /&gt; &lt;BR /&gt;	DOUBLE PRECISION, DIMENSION(1:3,1:600)::XLIST, TEMPLIST &lt;BR /&gt;	DOUBLE PRECISION, DIMENSION(1:2)::parameters &lt;BR /&gt; &lt;BR /&gt;parameters=SolveTooth(rbs,m2s,gamma,thetaOS,Yg,Zg,thetaS,phiS,us) &lt;BR /&gt; &lt;BR /&gt;__________________________________________________ &lt;BR /&gt; &lt;BR /&gt;FUNCTION SolveTooth(rbs,m2s,gamma,thetaOS,Yg,Zg,thetaS,phiS,us) &lt;BR /&gt; &lt;BR /&gt;	IMPLICIT NONE &lt;BR /&gt; &lt;BR /&gt;	DOUBLE PRECISION, INTENT(in) :: rbs !,m2s,gamma,thetaOS &lt;BR /&gt; &lt;BR /&gt;DOUBLE PRECISION :: thetaS,phiS,us,Yg,Zg,dels,delmax,errorCurrent,F2,F3,solve,m2s,gamma,thetaOS &lt;BR /&gt; &lt;BR /&gt;DOUBLE PRECISION, DIMENSION(2,3) :: jac &lt;BR /&gt;DOUBLE PRECISION, DIMENSION(2) :: adjust, SolveTooth</description>
      <pubDate>Wed, 07 Mar 2001 07:34:58 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/function-arguments/m-p/941571#M17162</guid>
      <dc:creator>Intel_C_Intel</dc:creator>
      <dc:date>2001-03-07T07:34:58Z</dc:date>
    </item>
    <item>
      <title>Re: function arguments</title>
      <link>https://community.intel.com/t5/Software-Archive/function-arguments/m-p/941572#M17163</link>
      <description>An explicit interface is REQUIRED when calling a function that returns an array (as well as in a number of other circumstances - see the Language Reference Manual).  What's happening is that the function expects a hidden argument with the address of the function value return, but the caller doesn't pass it.&lt;BR /&gt;&lt;BR /&gt;Steve</description>
      <pubDate>Wed, 07 Mar 2001 11:53:36 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/function-arguments/m-p/941572#M17163</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2001-03-07T11:53:36Z</dc:date>
    </item>
  </channel>
</rss>

