Related papers: Twofolds in C and C++
I will present my implementation 'n-units' of physical units into C++ programs. It allows the compiler to check for dimensional consistency.
We introduce two algorithms for accurately evaluating powers to a positive integer in floating-point arithmetic, assuming a fused multiply-add (fma) instruction is available. We show that our log-time algorithm always produce…
IIn computational geometry, the construction of essential primitives like convex hulls, Voronoi diagrams and Delaunay triangulations require the evaluation of the signs of determinants, which are sums of products. The same signs are needed…
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…
High confidence in floating-point programs requires proving numerical properties of final and intermediate values. One may need to guarantee that a value stays within some range, or that the error relative to some ideal value is well…
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…
The main purpose of this paper is to propose five programs in C++ for matrix computations and solving recurrent equations systems with entries in max plus algebra.
Computer vision and robotics problems often require representation and estimation of poses on the SE(3) manifold. Developers of algorithms that must run in real time face several time-consuming programming tasks, including deriving and…
Factorization of polynomials is one of the foundations of symbolic computation. Its applications arise in numerous branches of mathematics and other sciences. However, the present advanced programming languages such as C++ and J++, do not…
A novel method has been introduced to solve a point inclusion in a polygon problem. The method is applicable to convex as well as non-convex polygons which are not self-intersecting. The introduced method is independent of rounding off…
This paper proposes a novel set of trigonometric implementations which are 5x faster than the inbuilt C++ functions. The proposed implementation is also highly memory efficient requiring no precomputations of any kind. Benchmark comparisons…
C++ leans towards a memory-inefficient storage of structs: The compiler inserts padding bits, while it is not able to exploit knowledge about the range of integers, enums or bitsets. Furthermore, the language provides no support for…
We present simplified formulae for the analytic integration of the Newton potential of polynomials over boxes in two- and three-dimensional space. These are implemented in an easy-to-use C++ library that allows computations in arbitrary…
We present the first public version of Caravel, a C++17 framework for the computation of multi-loop scattering amplitudes in quantum field theory, based on the numerical unitarity method. Caravel is composed of modules for the…
Floating point arithmetic allows us to use a finite machine, the digital computer, to reach conclusions about models based on continuous mathematics. In this article we work in the other direction, that is, we present examples in which…
We review the dimensional check problem of the high-level programming languages, discuss the existing solutions, and come up with a new solution suited for scientific and engineering computations. Then, we introduce Univec, our C++ library…
The main purpose of this paper is to propose six programs in C++ for matrix computations and solving recurrent equations systems with entries in min plus algebra.
The Numerical Recipes series of books are a useful resource, but all the algorithms they contain cannot be used within open-source projects. In this paper we develop drop-in alternatives to the two algorithms they present for cubic spline…
A straightforward and computationally efficient Consecutive Cubic Spline (CCS) iterative algorithm is proposed for positioning the planar interface of the unstructured geometrical Volume-of-Fluid method in arbitrarily-shaped cells. The CCS…
Although many active scientific codes use modern Fortran, most contemporary scientific software "libraries" are implemented in C and C++. Providing their numerical, algorithmic, or data management features to Fortran codes requires writing…