Hi, since floor is declared as function, you need something like times = floor()
times = call floor() is definitely wrong; maybe, if you have declared "implicit none", you need to declare floor as real at the beginning of the program unit, something like: real floor Davide Hazen Babcock ha scritto: > 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 > -- ============================= Davide Cesari ============================ Servizio IdroMeteorologico ARPA Emilia Romagna Area Modellistica Numerica e Radarmeteorologia Phone/Fax: +39 051525926/+39 0516497501 E-mail: dces...@arpa.emr.it Home page: http://www.webalice.it/o.drofa/davide/ Address: ARPA-SIM, Viale Silvani 6, 40122 Bologna, Italy ======================================================================== This message has been scanned for malware by Websense. www.websense.com ------------------------------------------------------------------------------ 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