Open Access
Generic programming in POOMA and PETE
Author(s) -
J.A. Crotinger,
Julian Cummings,
Scott W. Haney,
William Humphrey,
Steve Karmesin,
John Reynders,
Stephen A. Smith,
Timothy J. Williams
Publication year - 1998
Language(s) - English
Resource type - Reports
DOI - 10.2172/348909
Subject(s) - computer science , compiler , variety (cybernetics) , flexibility (engineering) , class (philosophy) , programming language , tree traversal , expression (computer science) , representation (politics) , template , tree (set theory) , artificial intelligence , mathematical analysis , statistics , mathematics , politics , political science , law
POOMA is a C++ framework for developing portable scientific applications for serial and parallel computers using high-level physical abstractions. PETE is the expression template library used by POOMA. This paper discusses generic programming techniques that are used to achieve flexibility and high performance in POOMA and PETE. POOMA uses an engine class that factors the data representation out of its array classes. PETE`s expression templates are used to build up and operate efficiently on expressions. PETE itself uses generic techniques to adapt to a variety of client-class interfaces, and to provide a powerful and flexible compile-time expression-tree traversal mechanism