1. 01 Apr, 2013 1 commit
    • Raymond Toy's avatar
      Do a better job of handling symbols that have the same name as · 34a34954
      Raymond Toy authored
      intrinsics but are not intrinsic functions.
      
      src/f2cl1.l:
      o Get rid of *default-intrinsic-function-names*, and revert
        *intrinsic-function-names* to its original definition.
      o Add *non-intrinsic-function-names* to hold symbols that can't be
        intrinsics because they are in the formal argument list of a
        subprogram.
      o Remove *declared-intrinsic-names*
      o When fixing up symbols that should be from f2cl-lib package because
        they're intrinsic functions, skip over symbols in
        *non-intrinsic-function-names*.
      o Check the subprogram arg list for symbols have the same name as
        intrinsics and save them on *non-intrinsic-function-names* because we
        know they can't be intrinsics.
      
      src/f2cl2.l:
      o When trying to ID an intrinsic function call, we have to skip over
        anything in *non-intrinsic-function-names* because we know they're not
        intrinsics.
      
      src/f2cl5.l:
      o Update check-reserved-lisp-names because we don't need to handle
        intrinsic function specially.  Any symbol that looks like an instrinsic
        is one, unless it also shows up in *non-intrinsic-function-names*.
        This means we don't append "$" to these symbols, and that we also don't
        spuriously create symbols that aren't used.
      34a34954
  2. 26 Mar, 2013 1 commit
  3. 24 Mar, 2013 1 commit
    • Raymond Toy's avatar
      Fix issues discovered when updating maxima to lapack 3.4.2.: · b3314329
      Raymond Toy authored
      o Did not handle the declaration correctly:
      
           character name*(*)
      
        This was declaring name to be an array of strings, but it's really
        just a string of unknown length.
      o Added new (Fortran 95) intrinsic LEN_TRIM.  This was needed by the
        new version of lapack.
      o Try to be more careful about declaring things that were declared as
        instrinsics.  We no longer create a dummy variable named foo$ when
        we foo is declared as a intrinsic.
      b3314329
  4. 30 May, 2012 1 commit
  5. 06 May, 2012 1 commit
    • Raymond Toy's avatar
      Fix up some bugs in the last fix for using STRING declarations instead of · 7cb602dc
      Raymond Toy authored
      (SIMPLE-ARRAY CHARACTER).
      
      src/f2cl1.l:
      o Fix typo in RELAX-ARRAY-DECL.
      
      src/f2cl5.l:
      o Need to handle the new STRING declarations correctly in
        GENERATE-WITH-ARRAY.
      
      src/macros.l:
      o In MULTI-ARRAY-DATA-AUX, handle arrays of type CHARACTER specially.
        Make the declaration STRING instead of (SIMPLE-ARRAY CHARACTER).
      7cb602dc
  6. 03 May, 2012 1 commit
  7. 03 Dec, 2011 1 commit
    • Raymond Toy's avatar
      The function database needs the relaxed declarations, if any. · 06a85980
      Raymond Toy authored
      Previously, the function definition would have the right declarations,
      but the database would not have the relaxed declarations.  This produces
      spurious warnings when converting functions that call the erroneously
      declared function.
      
      src/f2cl1.l:
      o Make MAKE-F2CL-FINFO automatically relax the array declarations if
        needed.
      
      src/f2cl5.l:
      o If we update the function arg types, we need to relax the array
        declarations, if needed.
      06a85980
  8. 24 Nov, 2011 1 commit
    • Raymond Toy's avatar
      Fix up implementation of CYCLE and EXIT. · 28c496a2
      Raymond Toy authored
      f2cl1.l:
      o Go to f2cl-lib::exit instead of loop because that bypasses the update
        of the loop variable.
      
      macros.l:
      o Have the FDO macro insert the CONTINUE and EXIT labels at the
        appropriate places so that the CYCLE and EXIT code goes to the right
        places.
      28c496a2
  9. 23 Nov, 2011 1 commit
  10. 08 Oct, 2010 1 commit
    • rtoy's avatar
      src/f2cl1.l: · 911ff74f
      rtoy authored
      o Correctly parse IMPLICIT DOUBLE PRECISION
      
      src/NOTES:
      o Update.
      911ff74f
  11. 26 May, 2010 3 commits
  12. 17 May, 2010 1 commit
    • rtoy's avatar
      src/f2cl1.l: · aad4f000
      rtoy authored
      o Need to know the actual type when making a compatible sequence.
      o Convert plain integer type to integer4 types, which is what Fortran
        would do.  We don't want general Lisp integer type.
      
      src/macros.l:
      o Change MAKE-COMPATIBLE-SEQ to be a macro.
      o Need to know the actual array type to create the correct type of
        sequence.
      aad4f000
  13. 23 Feb, 2010 2 commits
    • rtoy's avatar
      Add :PROMOTE-TO-DOUBLE option to promote all single precision · 75ad1666
      rtoy authored
      variables and constants to double precision.
      
      NOTES:
      o Update
      
      f2cl1.l:
      o Add :PROMOTE-TO-DOUBLE keyword to F2CL and F2CL-COMPILE.
      o Add MAYBE-PROMOTE-TYPE to promote the specified type if specified.
      
      f2cl5.l:
      o Update declarations and initializers to promote the declaration and
        initial value if needed.
      75ad1666
    • rtoy's avatar
      Support the Fortran capability of passing an array of one type · 12a40813
      rtoy authored
      to a routine expecting a different type.  Currently only supports REAL
      and COMPLEX arrays (and their double precison versions).
      
      NOTES:
      o Update
      
      f2cl0.l:
      o Export new symbols f2cl-copy-seq and make-compatible-seq.
      
      f2cl1.l:
      o New variable *copy-array-parameter* for keeping track of the option
        for f2cl and f2cl-compile.
      o Update f2cl and f2cl-compile to recognize :copy-array-parameter.
      o Modify massage-arglist and generate-call-to-routine to handle the
        new :copy-array-parameter capability.
      
      f2cl5.l:
      o Fix issue where quoted elements were modified.  They shouldn't be.
      o Fix issue where (array simple-float (*)) would get erroneously
        converted to (array simple-float (f2cl-lib:int-mul)).  We want to
        leave bare * alone.
      
      macros.l:
      o New macro f2cl-copy-seq to generate code to copy a sequence
        appropriately.
      o New function to create a compatible array to support
        :copy-array-parameter.
      12a40813
  14. 07 Apr, 2009 2 commits
  15. 23 Jan, 2009 1 commit
  16. 08 Jan, 2009 1 commit
  17. 07 Jan, 2009 1 commit
    • rtoy's avatar
      f2cl0.l: · de0f3672
      rtoy authored
      o Export new dfloat function, an alias for dble.
      o Merge some cleanups from Maxima.
      
      f2cl1.l:
      o Add dfloat to list of intrinsic functions.
      
      macros.l:
      o Merge some cleanups and fixes from Maxima.  Mostly for gcl and ecl.
      o Add implementation of dfloat.
      de0f3672
  18. 03 Jan, 2009 1 commit
  19. 11 Sep, 2008 1 commit
  20. 25 Aug, 2008 1 commit
  21. 24 Aug, 2008 1 commit
  22. 22 Aug, 2008 1 commit
    • rtoy's avatar
      o Create function to output the "standard" f2cl header · b413c06c
      rtoy authored
      o Added :common-block-file option
      o When :common-block-file is non-NIL, the definition for the common
        block structure and the initializer are written to a new file
        instead of the main file.
      
        This might need some work with F2CL-COMPILE.
      b413c06c
  23. 11 Mar, 2008 3 commits
    • rtoy's avatar
      f3dd6f62
    • rtoy's avatar
      Oops. Weren't correctly setting up the indices in the data · afd6bd52
      rtoy authored
      implied-do.
      afd6bd52
    • rtoy's avatar
      f2cl1.l: · b260ed3b
      rtoy authored
      o Support data statements of the form (from hs109.f):
      
           data x /nx*0/
      
        where nx is initialized in a PARAMETER statement.
      o Recognize and handle implied-do loops in data statements like the
        following (from tp383mod.f):
      
           data (a(j), a(j+1), j=1,7) /.../
      
      
      f2cl5.l:
      o Support changes in f2cl1.l to support those kinds of data implied-do
        loops.  Basically just need to get the dimensions and types for
        lists of variables instead of just one variable.
      b260ed3b
  24. 05 Mar, 2008 2 commits
  25. 04 Mar, 2008 3 commits
  26. 03 Mar, 2008 2 commits
  27. 02 Mar, 2008 1 commit
    • rtoy's avatar
      o Ignore some variables · 1fc01d74
      rtoy authored
      o In MASSAGE-ARGLIST, if the argument of a function is a scalar, but
        the actual argument is an array, we want to pass in the first
        element of the array instead.
      1fc01d74
  28. 26 Feb, 2008 1 commit
  29. 22 Feb, 2008 2 commits