1. 26 Mar, 2013 1 commit
  2. 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
  3. 17 Mar, 2013 1 commit
  4. 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
  5. 03 May, 2012 1 commit
  6. 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
  7. 11 Jun, 2011 1 commit
    • Raymond Toy's avatar
      Handle array slicing a bit better with displaced arrays. · 52bbcd8e
      Raymond Toy authored
      f2cl5.l:
      o If the array we're slicing is one of the arrays listed in a
        WITH-MULTI-DATA-ARRAY, use the actual underlying array with the
        appropriate offset.
      
      macros.l:
      o Update ARRAY-SLICE macro to include an additional offset parameter to
        indicate what the, if any, the offset is for this array, if the array
        itself is a displaced (sliced) array.
      52bbcd8e
  8. 23 Feb, 2010 3 commits
    • rtoy's avatar
      Fix declaration for default integer type. Previously the type was · 08e6616b
      rtoy authored
      INTEGER but it should have been INTEGER4.
      08e6616b
    • 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
  9. 14 Dec, 2009 1 commit
  10. 19 Jan, 2009 1 commit
  11. 07 Jan, 2009 1 commit
  12. 03 Jan, 2009 1 commit
    • rtoy's avatar
      o ENTRY-FUNCTIONS was leaving junk in the first part of the function. · 272dc22e
      rtoy authored
        The parent subprogram name was left as the first statement of the
        function.  This causes compilation errors since it's usually an
        undefined variable.
      
      o PARSE-IMPLIED-DO did not call ID-EXPRESSION on the optional step
        argument for the implied-do loop.
      272dc22e
  13. 11 Sep, 2008 1 commit
  14. 10 Sep, 2008 3 commits
    • rtoy's avatar
      Don't think sign should be an +allowed-lisp-name+. · 4358521c
      rtoy authored
      4358521c
    • rtoy's avatar
      Append a $ for external symbols in the f2cl-lib package. Not strictly · 9c50f7e8
      rtoy authored
      necessary, but makes the code look nicer.  So if the fortran code used
      the variable flog, we don't see the translation using f2cl-lib:flog,
      but flog$.
      9c50f7e8
    • rtoy's avatar
      Fixes for check_new_vbles. · bd0bb655
      rtoy authored
      o flog, fsqrt, ffloat, freal, expt are valid Fortran variable names so
        we need to allow them.  (Previously, they wouldn't get initialized
        and cause compilation errors.  These variables are in the f2cl-lib
        package instead of the current package, which is annoying.)
      o For function calls, we only need to look at the args for new
        variables; the function itself isn't a new variable.
      bd0bb655
  15. 09 Sep, 2008 1 commit
  16. 14 Mar, 2008 2 commits
  17. 11 Mar, 2008 1 commit
    • 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
  18. 06 Mar, 2008 3 commits
  19. 04 Mar, 2008 1 commit
  20. 03 Mar, 2008 2 commits
  21. 28 Feb, 2008 1 commit
    • rtoy's avatar
      MERGE-DATA-AND-SAVE-INITS: · 27631593
      rtoy authored
      o Extract the array dimensions carefully.  We can only the the
        initializing if the array dimensions are all numbers.  (Could extend
        to some parameter values).
      o Only do the initialization stuff if we have initial values and if
        the dimensions are known.
      
      INSERT-DECLARATIONS:
      o Before calling MERGE-DATA-AND-SAVE-INITS, remove any SAVE'd
        variables that are also in common blocks because in this
        implementation, common block vars are always saved.
      
      These changes allow donlp2 to build, run, and pass many tests.
      (Didn't try them all.)
      27631593
  22. 26 Feb, 2008 1 commit
  23. 22 Feb, 2008 4 commits
  24. 02 Oct, 2007 1 commit
  25. 29 Sep, 2007 2 commits
  26. 28 Sep, 2007 2 commits
    • rtoy's avatar
      To support multidimensional arrays in implied do loops better, we need · 639359d0
      rtoy authored
      to pass the entire array bounds, including upper and lower limits so
      that array indexing can work.
      
      f2cl5.l:
      o Find the entire array bounds.
      o Don't use make-declaration to get the array type.  Explicitly look
        through *explicit_vble_decls* to find the type.  (Are there other
        places we need to look?)
      
      macros.l:
      o Pass the entire list of array bounds to fref so we can handle
        multidimensional arrays.
      639359d0
    • rtoy's avatar
      Handle implied do loops better in DATA statements. · 0c5b85fd
      rtoy authored
      f2cl1.l:
      o Handle implied do loops where the array is multidimensional.
      
      f2cl5.l:
      o Make sure we get all the lower bounds of the array dimensions.
      o Make sure we check for reserved Lisp names when we figure out the
        type of the array.
      0c5b85fd
  27. 27 Sep, 2007 1 commit