next up previous contents
Next: 2.5 Matrix-Vector Multiplication Routine Up: 2. JTpack77 Previous: 2.3 Attributes of JTpack77   Contents

2.4 JTpack77 Design

  • Use many common Fortran 77 extensions, including:
    • Long, expressive routine and variable names
    • Dynamic allocation of arrays (often Cray pointers)
    • Array elements as dimension bounds
  • Extensive use of non-Fortran tools in build process:
    • gmake, cpp, gawk
  • Pseudo-object design
    • matrices represented by three arrays:
      • a: values (can be rank 1, 2, 3, etc.)
      • ia: information on storage format in use (rank 1)
      • ja: map (column indices, etc., same rank as a)
    • high-level routines dimension as (*)
    • only in low-level, storage-specific routines, do arrays take on a specific shape
  • Innovative approach to dynamic allocation of working arrays




next up previous contents
Next: 2.5 Matrix-Vector Multiplication Routine Up: 2. JTpack77 Previous: 2.3 Attributes of JTpack77   Contents
John A. Turner