| 
|  |  |  
|  |  |  |  |  |  |  |  |  |  |  
|  |  |  |  |  |  |  |  |  |  |  
|  |  | Here is simple script:
<SDL>
  #include "functions.inc"
  #declare f_y=function(ph,rad){rad*cos(ph)}
  #macro Calc(X,Y,Z)
    #debug concat(
      "  Y=",str(Y,6,3),
      "  function=",str(f_y(f_ph(X,Y,Z),f_r(X,Y,Z)),6,3),
      "  parser=",str(f_r(X,Y,Z)*cos(f_ph(X,Y,Z)),6,3),
      "\n"
    )
  #end
  Calc(0, 2,0)
  Calc(2, 2,3)
  Calc(2, 1,3)
  Calc(2, 0,3)
  Calc(2,-1,3)
  Calc(2,-2,3)
  Calc(0,-2,0)
</SDL>
I expect it to display three identical columns of values as follow:
  Y= 2.000  function= 2.000  parser= 2.000
  Y= 2.000  function= 2.000  parser= 2.000
  Y= 1.000  function= 1.000  parser= 1.000
  Y= 0.000  function= 0.000  parser= 0.000
  Y=-1.000  function=-1.000  parser=-1.000
  Y=-2.000  function=-2.000  parser=-2.000
  Y=-2.000  function=-2.000  parser=-2.000
unfortunatelly it outputs various values when ph function is accesed via
another function:
  Y= 2.000  function= 2.000  parser= 2.000
  Y= 2.000  function=-1.716  parser= 2.000
  Y= 1.000  function=-1.557  parser= 1.000
  Y= 0.000  function=-1.500  parser= 0.000
  Y=-1.000  function=-1.557  parser=-1.000
  Y=-2.000  function=-1.716  parser=-2.000
  Y=-2.000  function= 2.000  parser=-2.000
Any idea why ? Any confirmation that it can be a bug ?
ABX
Post a reply to this message
 |  |  |  |  |  |  |  |  
|  |  | 
| From: Thorsten Froehlich Subject: Re: ph function in function problem (bug?)
 Date: 30 Jul 2002 07:59:25
 Message: <3d467f9d@news.povray.org>
 
 |  |  |  |  |  |  |  |  |  
|  |  | (Posted to povray.bugreports as well!)
I can confirm that the scene below shows a bug.  Essentially under certain
conditions like the one found in the given scene, the parser will overwrite
some previously calculated values if a function result is passed to another
function at *parse* time and that function is also evaluated at *parse*
time.  The workaround is to not use functions as parameters to functions in
the parser if those results are used at *parse* time but to declare their
results and then pass those to the function.
NOTE: The problem only involves the use of functions in the *parser*!!!
When *rendering* functions (i.e. in isosurfaces) there is *no* problem!
    Thorsten Froehlich
Skiba <abx### [at] babilon org>  wrote:
> Here is simple script:
>
> <SDL>
>   #include "functions.inc"
>   #declare f_y=function(ph,rad){rad*cos(ph)}
>   #macro Calc(X,Y,Z)
>     #debug concat(
>       "  Y=",str(Y,6,3),
>       "  function=",str(f_y(f_ph(X,Y,Z),f_r(X,Y,Z)),6,3),
>       "  parser=",str(f_r(X,Y,Z)*cos(f_ph(X,Y,Z)),6,3),
>       "\n"
>     )
>   #end
>   Calc(0, 2,0)
>   Calc(2, 2,3)
>   Calc(2, 1,3)
>   Calc(2, 0,3)
>   Calc(2,-1,3)
>   Calc(2,-2,3)
>   Calc(0,-2,0)
> </SDL>
>
> I expect it to display three identical columns of values as follow:
>   Y= 2.000  function= 2.000  parser= 2.000
>   Y= 2.000  function= 2.000  parser= 2.000
>   Y= 1.000  function= 1.000  parser= 1.000
>   Y= 0.000  function= 0.000  parser= 0.000
>   Y=-1.000  function=-1.000  parser=-1.000
>   Y=-2.000  function=-2.000  parser=-2.000
>   Y=-2.000  function=-2.000  parser=-2.000
> unfortunatelly it outputs various values when ph function is accesed via
> another function:
>   Y= 2.000  function= 2.000  parser= 2.000
>   Y= 2.000  function=-1.716  parser= 2.000
>   Y= 1.000  function=-1.557  parser= 1.000
>   Y= 0.000  function=-1.500  parser= 0.000
>   Y=-1.000  function=-1.557  parser=-1.000
>   Y=-2.000  function=-1.716  parser=-2.000
>   Y=-2.000  function= 2.000  parser=-2.000
> Any idea why ? Any confirmation that it can be a bug ?
____________________________________________________
Thorsten Froehlich
e-mail: mac### [at] povray  org
I am a member of the POV-Ray Team.
Visit POV-Ray on the web: http://mac.povray.orgPost a reply to this message
 |  |  |  |  |  |  |  |  
|  |  |  |  |  |  |  |  |  |  |  
|  |  | On Tue, 30 Jul 2002 13:59:25 +0200, "Thorsten Froehlich" <tho### [at] trf de>
wrote:
> (Posted to povray.bugreports as well!)
what about http://www.povray.org/download/3.5-bugs.php ?
ABX Post a reply to this message
 |  |  |  |  |  |  |  |  
|  |  |  |  |  |  |  |  |  |