Orchard, Dominic A., Rice, Andrew C., Oshmyan, Oleg (2015) Evolving Fortran types with inferred units-of-measure. Journal of Computational Science, 9 . pp. 156-162. ISSN 1877-7503. (doi:10.1016/j.jocs.2015.04.018) (KAR id:57483)
PDF
Author's Accepted Manuscript
Language: English |
|
Download this file (PDF/418kB) |
Preview |
Request a format suitable for use with assistive technology e.g. a screenreader | |
Official URL: http://dx.doi.org/10.1016/j.jocs.2015.04.018 |
Abstract
Dimensional analysis is a well known technique for checking the consistency of equations involving physical quantities, constituting a kind of type system. Various type systems for dimensional analysis, and its refinement to units-of-measure, have been proposed. In this paper, we detail the design and implementation of a units-of-measure system for Fortran, provided as a pre- processor. Our system is designed to aid adding units to existing code base: units may be polymorphic and can be inferred. Furthermore, we introduce a technique for reporting to the user a set of critical variables which should be explicitly annotated with units to get the maxi- mum amount of unit information with the minimal number of explicit declarations. This aids adoption of our type system to existing code bases, of which there are many in computational science projects.
Item Type: | Article |
---|---|
DOI/Identification number: | 10.1016/j.jocs.2015.04.018 |
Uncontrolled keywords: | units-of-measure, dimension typing, type systems, verification, code base evolution, Fortran, language design |
Subjects: | Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming, |
Divisions: | Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing |
Funders: | Organisations -1 not found. |
Depositing User: | Dominic Orchard |
Date Deposited: | 27 Oct 2016 10:20 UTC |
Last Modified: | 05 Nov 2024 10:47 UTC |
Resource URI: | https://kar.kent.ac.uk/id/eprint/57483 (The current URI for this page, for reference purposes) |
- Link to SensusAccess
- Export to:
- RefWorks
- EPrints3 XML
- BibTeX
- CSV
- Depositors only (login required):