English
Related papers

Related papers: C++ Templates as Partial Evaluation

200 papers

Performance, genericity and flexibility are three valuable qualities for scientific environments that tend to be antagonistic. C++ provides excellent support for both performances and genericity thanks to its support for (class and…

Software Engineering · Computer Science 2016-11-04 Akim Demaille

We present programming techniques to illustrate the facilities and principles of C++ generic programming using concepts. Concepts are C++'s way to express constraints on generic code. As an initial example, we provide a simple type system…

Programming Languages · Computer Science 2025-10-13 Bjarne Stroustrup

Testing is one of the most indispensable tasks in software engineering. The role of testing in software development has grown significantly because testing is able to reveal defects in the code in an early stage of development. Many unit…

Software Engineering · Computer Science 2010-12-07 Norbert Pataki

Template metaprogramming is a popular technique for implementing compile time mechanisms for numerical computing. We demonstrate how expression templates can be used for compile time symbolic differentiation of algebraic expressions in C++…

Symbolic Computation · Computer Science 2017-05-05 Drosos Kourounis , Leonidas Gergidis , Michael Saunders , Andrea Walther , Olaf Schenk

Generic programming is an effective methodology for developing reusable software libraries. Many programming languages provide generics and have features for describing interfaces, but none completely support the idioms used in generic…

Programming Languages · Computer Science 2007-08-17 Jeremy G. Siek , Andrew Lumsdaine

The article deals with a kind of recursive function templates in C++, where the recursion is realized corresponding template parameters to achieve better computational performance. Some specialization of these template functions ends the…

Mathematical Software · Computer Science 2007-05-23 Volodymyr Myrnyy

C++ does not support run-time resolution of template type arguments. To circumvent this restriction, we can instantiate a template for all possible combinations of type arguments at compile time and then select the proper instance at run…

Programming Languages · Computer Science 2013-06-24 Daniel Langr , Pavel Tvrdík , Tomáš Dytrych , Jerry P. Draayer

The C++ programming language is not only a keystone of the high-performance-computing ecosystem but has proven to be a successful base for portable parallel-programming frameworks. As is well known, C++ programmers use templates to…

Programming Languages · Computer Science 2019-04-30 Hal Finkel , David Poliakoff , David F. Richards

A visual programming language uses pictorial tools such as diagrams to represent its structural units and control stream. It is useful for enhancing understanding, maintenance, verification, testing, and parallelism. This paper proposes a…

Programming Languages · Computer Science 2013-04-23 Sabah Al-Fedaghi

It is becoming increasingly clear that, if a useful device for quantum computation will ever be built, it will be embodied by a classical computing machine with control over a truly quantum subsystem, this apparatus performing a mixture of…

Programming Languages · Computer Science 2009-11-07 S. Bettelli , L. Serafini , T. Calarco

In the last decade, Expression Templates (ET) have gained a reputation as an efficient performance optimization tool for C++ codes. This reputation builds on several ET-based linear algebra frameworks focused on combining both elegant and…

Performance · Computer Science 2012-08-15 Klaus Iglberger , Georg Hager , Jan Treibig , Ulrich Ruede

The aim of this work is to define and implement an extended C++ language to support the SIMD programming paradigm. The C++ programming language has been extended to express all the potentiality of an abstract SIMD machine consisting of a…

Programming Languages · Computer Science 2007-05-23 Alessandro Lonardo , Emanuele Panizzi , Benedetto Proietti

This article discusses an efficient implementation of tensors of arbitrary rank by using some of the idioms introduced by the recently published C++ ISO Standard (C++11). With the aims at providing a basic building block for…

Mathematical Software · Computer Science 2014-06-02 Alejandro M. Aragón

Language-orientated programming promises to elevate programmer productivity through increased abstrac- tion capabilities. Structural programming environments provide apparatus to reduce the difficulties with syntax. The language workbench,…

Programming Languages · Computer Science 2014-03-18 Gavin Wood

An approach for incorporating embedded simulation and analysis capabilities in complex simulation codes through template-based generic programming is presented. This approach relies on templating and operator overloading within the C++…

Mathematical Software · Computer Science 2012-05-17 Roger P. Pawlowski , Eric T. Phipps , Andrew G. Salinger

Despite the importance of sparse matrices in numerous fields of science, software implementations remain difficult to use for non-expert users, generally requiring the understanding of underlying details of the chosen sparse matrix storage…

Mathematical Software · Computer Science 2019-07-23 Conrad Sanderson , Ryan Curtin

Large language models (LLMs) such as ChatGPT are increasingly proficient in understanding and generating a mixture of code and text. Evaluation based on such $\textit{mixture}$ can lead to a more comprehensive understanding of the models'…

Artificial Intelligence · Computer Science 2024-03-05 Zhenru Lin , Yiqun Yao , Yang Yuan

The C++ Standard Template Library is the flagship example for libraries based on the generic programming paradigm. The usage of this library is intended to minimize the number of classical C/C++ errors, but does not warrant bug-free…

Programming Languages · Computer Science 2011-11-17 N. Pataki

Vector operations play an important role in high performance computing and are typically provided by highly optimized libraries that implement the BLAS (Basic Linear Algebra Subprograms) interface. In C++ templates and operator overloading…

Mathematical Software · Computer Science 2011-09-07 J. Progsch , Y. Ineichen , A. Adelmann

Expression templates are a well-known set of techniques for improving the efficiency of operator overloading-based forward mode automatic differentiation schemes in the C++ programming language by translating the differentiation from…

Mathematical Software · Computer Science 2012-05-21 Eric Phipps , Roger Pawlowski
‹ Prev 1 2 3 10 Next ›