next up previous contents
Next: 3.4 ELL ``Class'' Module Up: 3. JTpack90 Previous: 3.2 JTpack90 Attributes   Contents

3.3 JTpack90 Design

  • two extreme options for design:
    • bundle routines in modules functionally
      • difficult to add new storage formats
    • ``class'' modules for each sparse storage type
      • difficult to add new methods
  • chose hybrid approach
    • module for each storage type containing:
      • type definition
      • routines to operate on that type
    • module for each method to define generic procedure for that method
      • contains routine for each storage type
  • hybrid approach makes adding a new solver much easier, at the expense of slightly more effort to add a new storage type
    • to add new sparse storage type:
      • create new ``class'' module
      • add new specific routine in each solver module
    • to add new solver simply create new solver module



next up previous contents
Next: 3.4 ELL ``Class'' Module Up: 3. JTpack90 Previous: 3.2 JTpack90 Attributes   Contents
John A. Turner