1. 23 Nov, 2013 1 commit
  2. 03 Jun, 2013 1 commit
    • Liam M. Healy's avatar
      Systems of units names in the units table · 6640ba5e
      Liam M. Healy authored
      Systems of units are no longer dynamic variables or setting default
      systems symbol macros. Instead, the systems' names are placed in the table
      with unit names, *unit-information*.
      6640ba5e
  3. 14 Apr, 2013 1 commit
    • Liam M. Healy's avatar
      Fix and simplify pqval (physical-quantity) for non scalar-dimension · 67cea885
      Liam M. Healy authored
      There was an error in #'pqval when the argument was a non scalar-dimension grid. This has been fixed by moving the binding of 'units into the then clause of the if (it wasn't used in the else clause anyway, and that's what caused the error). The units construction for non-scalar dimension makes use of grid:map-grid and is simpler.
      67cea885
  4. 25 Mar, 2013 1 commit
    • Liam M. Healy's avatar
      Complete changes for system of units specification · bc899205
      Liam M. Healy authored
      - Fix number of arguments in calls to functions that no longer take
        sysunits or addition-units arguments.
      - Change nf-option so that it works dynamically, i.e., the default
        value is retrieved at run time, not macro expansion time.
      - Name argument to parameter-value must be in the keyword package.
      - The system of units can be nil, in which case an unreadable object
        is printed, with the sexp for the dimensions printed.  
      - New variable *basis-physical-dimensions* used to give the dimension
        without units.
      - All nf definitions in a separate file.
      
      System now compiles and loads without error.
      bc899205
  5. 23 Mar, 2013 1 commit
    • Liam M. Healy's avatar
      System of units specification is through an nf-option · 6ca09dfb
      Liam M. Healy authored
      The specification of the system-of-units is through an nf-option, and
      no longer passed as arguments to functions.  Systems of units (with or
      without augmented units) are made via make-sysunits or
      define-system-of-units, set-default-system-of-units that call it.
      
      This does not compile.
      6ca09dfb
  6. 22 Mar, 2013 1 commit
  7. 05 Mar, 2013 1 commit
  8. 19 Feb, 2013 1 commit
  9. 16 Feb, 2013 1 commit
    • Liam M. Healy's avatar
      New function check-dimension-or-type · b72088c7
      Liam M. Healy authored
      New function check-dimension-or-type which returns T if the physical dimension is correct, or, if not a physical dimension, if the type matches.  This is used by check-parameter-type to give more specific error messages if the physical dimension does not match.
      b72088c7
  10. 24 Nov, 2012 1 commit
  11. 08 Oct, 2011 2 commits
    • Liam M. Healy's avatar
      Add or subtract on pq grid using matching dimel and scalar-dimension · 96feef76
      Liam M. Healy authored
      Addition and subtraction on pq grid makes a result with consistent
      scalar-dimension and dimel slots, thanks to a second return value from
      dimel-or-not and therefore equal-dimension.  Also, a more refined
      check on make-pq-object if #+debug holds, so that trying to make a pq
      with a scalar dimel and scalar-dimension nil will give an (incorrectly
      labeled) error.
      96feef76
    • Liam M. Healy's avatar
      Fix equal-dimension, normalize, coplanar · ca8365c3
      Liam M. Healy authored
      Fix:
      - equal-dimension will handle the case of both arguments having scalar units
      - normalize uses #'/ instead of elementwise mapping of division onto elements
      - coplanar now computed from vector-angle; #'* not acceptable as inner product
      ca8365c3
  12. 04 Aug, 2011 1 commit
  13. 22 Jun, 2011 1 commit
    • Liam M. Healy's avatar
      New function #'equal-dimensions · de75bf6d
      Liam M. Healy authored
      Define a new function #'equal-dimensions which was previously embedded
      in grid::make-grid-data, and is now corrected to handle zero elements
      correctly as prescribed by zero-is-dimensionless.  Test case:
      #m(0.0 #_1.0_km 0.0)
      de75bf6d
  14. 09 Jun, 2011 1 commit
  15. 24 May, 2011 2 commits
  16. 25 Apr, 2011 1 commit
  17. 15 Apr, 2011 1 commit
    • Liam M. Healy's avatar
      Format scalar-unit pq grids as pqs · fd6706e0
      Liam M. Healy authored
      When formatting with nf, if the pq grid has scalar units, these units will be
      placed on the outside (to the right) of the grid, e.g.
      (nf #_#m(1 2 3)_km)
      1.000 2.000 3.000km
      instead of putting units after each element.
      fd6706e0
  18. 03 Apr, 2011 1 commit
  19. 27 Mar, 2011 1 commit
    • Liam M. Healy's avatar
      Print mixed pq grids readably, generate all formatting test grids · 1efa344d
      Liam M. Healy authored
      The #'print-object physical-quantity method now prints readably
      whenever the units are not an array if nils.  This means that pq grids
      with mixed units now print readably, where they didn't before.  New
      variable *all-formatting-test-grids* has all 12 grids used for testing
      formatting of grids.
      1efa344d
  20. 20 Mar, 2011 1 commit
    • Liam M. Healy's avatar
      Print grids readably at the precision specified by nf options · 041beeca
      Liam M. Healy authored
      Grids print readably with the precision specified, and when
      print-object methods call nf to do the formatting, they set
      :full-precision t.  This includes the following changes:
      1. print-grid-readably only does the introductory reader macro and not
      the parentheses. 
      2. The nf option :readable has been eliminated in favor of a :readable
      value for the style option. 
      3. The print-object method for foreign-array uses nf-grid instead of
      calling print-grid-readably directly.
      041beeca
  21. 06 Mar, 2011 1 commit
  22. 01 Mar, 2011 1 commit
  23. 26 Feb, 2011 1 commit
  24. 29 Jan, 2011 1 commit
    • Liam M. Healy's avatar
      Enable creation of non-scalar unit pq grids with make-grid · ddef4ddd
      Liam M. Healy authored
      It is now possible to create a non-scalar unit pq grid using make-grid
      (and not just make-pq).  This means that e.g. #m can be used to make
      such an object, e.g. #m(#_1.0d0_m #_5.0d0_s).  This relies on a new
      function scalar-units-p, which tries to parse the unit expression, and
      if it's unparseable, assumes that it must be a list of such
      expressions.  Changed check-dimension so that it works on grids
      instead of sequences.
      ddef4ddd
  25. 28 Jan, 2011 1 commit
    • Liam M. Healy's avatar
      Fix creation-form for lists; add #+debug conditionalizations · a133bd3c
      Liam M. Healy authored
      The creation form for lists was incorrect; it should be quoted in the
      defmethod for lists and not quoted in the defmethod for
      physical-quantity (for pq-dimension).  This caused files with #_ in
      them to fail to load, even though they were compilable.  
      
      Add #+debug conditionalizations to print-ojbect PQs unreadably in all
      cases (with magnitude) and to make sure dimels pass dimelp on input to
      make-pq-object.
      a133bd3c
  26. 27 Jan, 2011 1 commit
  27. 26 Jan, 2011 1 commit
    • Liam M. Healy's avatar
      Allow reader macro #_ to handle non-scalar units · 1241567c
      Liam M. Healy authored
      By pre-parsing the unit expression to see if it is parseable as a
      single expression, determine whether the units (for a grid) are
      intended to apply separately to each element (non-scalar).  Example: 
           ANTIK-USER> #_#m(1.0d0 4.0d0)_(m s)
           #<Physical quantity mag #m(1.0 4.0), units #(METER SECOND)>
           ANTIK-USER> #_#m(1.0d0 4.0d0)_(/ m s)
           #_#m(1.0 4.0)_m/s
      1241567c
  28. 25 Jan, 2011 1 commit
    • Liam M. Healy's avatar
      PQ grid magnitude with scalar time units; reader macro · a2f297be
      Liam M. Healy authored
      For a pq with a grid magnitude and time units, don't try to express as
      ISO8601 time interval, but use the current time unit.  Change the #_
      reader macro so that it doesn't convert the units to a string.  This
      should still work with symbol units, but also now with sexp units like
      #_1_(/ m s), and someday with grid units like #_#m(1.0d0 4.0d0)_(m s).
      a2f297be
  29. 24 Jan, 2011 4 commits
    • Liam M. Healy's avatar
      Modify check-dimension; dimensionless objects · 6c504de3
      Liam M. Healy authored
      Modify check-dimension to parse units; make-pq-object should not make
      a physical-quantities around dimensionless things.
      6c504de3
    • Liam M. Healy's avatar
      Align equal-dimension and check-dimension more closely · ae9c9171
      Liam M. Healy authored
      1. Moved equal-dimension to physical-quantities.lisp.
      2. Add arguments errorp and zeros-have-any-dimension.
      3. Allow x or y to be a dimel and not only a pq.
      4. New function dimel-or-not.
      5. All three functions return a dimel if successful, or nil otherwise.
      6. All three functions take a pq, dimel, or other object as input; any other object is considered dimensionless.
      7. Possibly check-dimension and equal-dimension can be merged.
      ae9c9171
    • Liam M. Healy's avatar
      PQ grids with non-scalar units: gref, gref*, make-pq functioning · 09a0e4bd
      Liam M. Healy authored
      Physical quantities for grids, where units are different for different
      elements can be defined with make-pq, with either a list or array
      units.  Functions gref and gref* work for pq grids.
      09a0e4bd
    • Liam M. Healy's avatar
      PQ with non-scalar units · cec9e534
      Liam M. Healy authored
      Physical quantities can be made with non-scalar units.  They are
      printed unreadably.  pqval works but grid:gref does not.
      cec9e534
  30. 23 Jan, 2011 1 commit
  31. 18 Jan, 2011 1 commit
  32. 03 Jan, 2011 1 commit
    • Liam M. Healy's avatar
      Physical quantities with grids · 043a16fd
      Liam M. Healy authored
      Start implementation of physical quantities with grid magnitudes.
      Compiles and loads cleanly but mostly non-functional or only
      accidentally functional.
      043a16fd
  33. 25 Dec, 2010 3 commits