Explore chapters and articles related to this topic
Programming Technologies for High Performance Remote Sensing Data Processing in a Cloud Computing Environment
Published in Lizhe Wang, Jining Yan, Yan Ma, Cloud Computing in Remote Sensing, 2019
Lizhe Wang, Jining Yan, Yan Ma
The generic programming approach uses templates to program generically. This concept has been exploited efficiently in the Standard Template Library (STL)[146], which has been extensively applied due to its convenient generic features and efficient implementations. Furthermore, the polymorphism is resolved at compile time because of its usual type genericity. The QUAFF[147] skeleton-based library offers generic algorithms. It relies on C++ templates to resolve polymorphism by means of type definitions processed at compile time. It reduces the runtime overhead of polymorphism to the strict minimum while keeping a high-level of expressivity and readability.
Variability-intensive Software Systems
Published in Ivan Mistrik, Matthias Galster, Bruce R. Maxim, Software Engineering for Variability Intensive Systems, 2019
Matthias Galster, Ivan Mistrik, Bruce Maxim
The idea of variability in software systems goes back very far into the past of software engineering. For example, the idea of generic programming emerged in the 1970s. Generic programming is a style of computer programming in which algorithms are written in terms of types to-be-specified-later and that are instantiated when needed for specific types provided as parameters. One example of generic programming is using templates in C++. In this section we list a couple of historical trends with an emphasis on more recent trends, such as product lines and reference architectures.
Arbogast : Higher order automatic differentiation for special functions with Modular C
Published in Optimization Methods and Software, 2018
Isabelle Charpentier, Jens Gustedt
The snippet in Listing 3 is type generic and could almost serve as a base to be used with arbogast for AD, just by ‘filling’ with one of arbogast's Taylor polynomial types instead of a floating point type. As C does not provide the possibility of overloading arithmetic operations, the type generic programming described above is only possible through functional notation.