Hi Arjen,

Thanks for working on this. Unfortunately I'm still getting the error 
about the floor function. I thought perhaps I needed to add something 
like "external floor" in the normalize_longitude function but that only 
gave me a different error. "times = call floor (..)" also does not seem 
to work. Adding a "return" statement to the floor procedure similarly 
failed. I assume that is must somehow be possible to call functions in 
fortran but I'm quite puzzled about how one actually goes about it.

I also get what appears to be a warning about the call to 
plslabelfunc(). "Argument #1 of 'plslabelfunc' is passed by reference at 
(2) but is a procedure at (1)".

thanks,
-Hazen

Arjen Markus wrote:
> Hi Hazen,
> 
> just now I started to include the changes for x19f.f, when I realised
> that the label argument poses a bit of a problem: Fortran expects a
> hidden argument to hold the actual string length. For the other
> interfaces we can circumvent that issue and in the F95 interface
> this is solved by using "length" explicitly.
> 
> Well, the changes should work, unfortunately I do not have access
> right now to a proper build environment to really test it. Please
> let me know if there is any trouble.
> 
> Regards,
> 
> Arjen
> 
> On 2009-11-07 23:05, Hazen Babcock wrote:
>>
>> Hi Arjen,
>>
>> Since I just ran into exactly this problem myself (with mingw on 
>> windows)... Should we fix example x19f.f to work with f77? It is in 
>> the f77 examples folder so I think it is reasonable for the user to 
>> assume that it should be possible to compile this example with a f77 
>> compiler.
>>
>> best,
>> -Hazen
>>
>> Arjen Markus wrote:
>>> Hi Werner,
>>>
>>> the floor function does not exist in FORTRAN 77, so you need
>>> to implement it, for instance:
>>>
>>> *234567
>>>        REAL FUNCTION FLOOR(X)
>>>        REAL X
>>>        FLOOR = FLOAT(INT(X))
>>>        RETURN
>>>        END
>>>
>>> The declaration "character*(length) label" is a Fortran 90
>>> facility. Use:
>>>
>>>        character*(*) label
>>>
>>> This should actually be handled by the C interface (the
>>> string length is passed as a hidden argument ...) I do not
>>> have time the coming days to look into it closely, but I
>>> will try.
>>>
>>> You can not pass a null pointer (0) in FORTRAN 77. To turn the
>>> labeller off, I am afraid you will have to use either a separate
>>> routine (call plslabelfuncoff) or use a dummy routine.
>>>
>>> Regards,
>>>
>>> Arjen
>>>
>>> On 2009-09-15 13:47, Werner Smekal wrote:
>>>> Hi,
>>>>
>>>> when I compile the latest revision of PLplot with MinGW 3.4.5  
>>>> including the g77 compiler I get the following compiler error:
>>>>
>>>> Scanning dependencies of target x19f
>>>> [ 88%] Building Fortran object examples/f77/CMakeFiles/x19f.dir/ 
>>>> x19f.f.obj
>>>> E:\plbuild\examples\f77\x19f.f: In function `normalize_longitude':
>>>> E:\plbuild\examples\f77\x19f.f:80: warning:
>>>>              times = floor ((abs(lon) + 180.0d0) / 360.0d0)
>>>>                      ^
>>>> Reference to unimplemented intrinsic `FLOOR' at (^) (assumed EXTERNAL)
>>>> E:\plbuild\examples\f77\x19f.f:80:
>>>>              times = floor ((abs(lon) + 180.0d0) / 360.0d0)
>>>>                      ^
>>>> Invalid declaration of or reference to symbol `floor' at (^)  
>>>> [initially seen at (^)]
>>>> E:\plbuild\examples\f77\x19f.f: In subroutine `geolocation_labeler':
>>>> E:\plbuild\examples\f77\x19f.f:91:
>>>>           subroutine geolocation_labeler(axis, value, label, length)
>>>>                                                              1
>>>> E:\plbuild\examples\f77\x19f.f:95: (continued):
>>>>           character*(length) label
>>>>                      2
>>>> Invalid declaration of or reference to symbol `length' at (2)  
>>>> [initially seen at (1)]
>>>> E:\plbuild\examples\f77\x19f.f: In program `x19f':
>>>> E:\plbuild\examples\f77\x19f.f:161: warning:
>>>>           call plslabelfunc(geolocation_labeler)
>>>>                1
>>>> E:\plbuild\examples\f77\x19f.f:177: (continued):
>>>>           call plslabelfunc(0)
>>>>                2
>>>> Argument #1 of `plslabelfunc' is passed by reference at (2) but is 
>>>> a  procedure at (1) [info -f g77 M GLOBALS]
>>>> mingw32-make[2]: *** [examples/f77/CMakeFiles/x19f.dir/x19f.f.obj]  
>>>> Error 1
>>>> mingw32-make[1]: *** [examples/f77/CMakeFiles/x19f.dir/all] Error 2
>>>> mingw32-make: *** [all] Error 2
>>>>
>>>> Maybe someone who is more knowledgeable about Fortran can help me 
>>>> out  make this example work.
>>>>
>>>> Thanks,
>>>> Werner
>>>>
>>>> -- 
>>>> Dr. Werner Smekal
>>>> Institut fuer Allgemeine Physik
>>>> Technische Universitaet Wien
>>>> Wiedner Hauptstr 8-10
>>>> A-1040 Wien
>>>> Austria
>>>> DVR-Nr: 0005886
>>>>
>>>> email: sme...@iap.tuwien.ac.at
>>>> web:   http://www.iap.tuwien.ac.at/~smekal
>>>> phone: +43-(0)1-58801-13463 (office)
>>>>         +43-(0)1-58801-13469 (laboratory)
>>>> fax:   +43-(0)1-58801-13499
>>>>
>>>>
>>>> ------------------------------------------------------------------------------
>>>>  
>>>>
>>>> Come build with us! The BlackBerry® Developer Conference in SF, CA
>>>> is the only developer event you need to attend this year. Jumpstart 
>>>> your
>>>> developing skills, take BlackBerry mobile applications to market and 
>>>> stay ahead of the curve. Join us from November 9-12, 2009. 
>>>> Register now!
>>>> http://p.sf.net/sfu/devconf
>>>> _______________________________________________
>>>> Plplot-devel mailing list
>>>> Plplot-devel@lists.sourceforge.net
>>>> https://lists.sourceforge.net/lists/listinfo/plplot-devel
>>>>
>>>
>>> ------------------------------------------------------------------------------
>>>  
>>>
>>> Come build with us! The BlackBerry® Developer Conference in SF, CA
>>> is the only developer event you need to attend this year. Jumpstart your
>>> developing skills, take BlackBerry mobile applications to market and 
>>> stay ahead of the curve. Join us from November 9-12, 2009. 
>>> Register now!
>>> http://p.sf.net/sfu/devconf
>>> _______________________________________________
>>> Plplot-devel mailing list
>>> Plplot-devel@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/plplot-devel
>>>
>>
>>
> 


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to