yade.minieigenHP module

When yade uses high-precision number as Real type the usual (old):

from minieigen import *

has to be replaced with:

from yade.minieigenHP import *

This command ensures backward compatibility between both. It is then guaranteed that python uses the same number of decimal places as yade is using everywhere else.

Please note that used precision can be very arbitrary, because cpp_bin_float or mpfr take it as a compile-time argument. Hence such yade.minieigenHP cannot be separately precompiled as a package. Though it could be precompiled for some special types such as boost::multiprecision::float128.

The RealHP<n> higher precision vectors and matrices can be accessed in python by using the .HPn module scope. For example:

import yade.minieigenHP as mne
mne.HP2.Vector3(1,2,3) # produces Vector3 using RealHP<2> precision
mne.Vector3(1,2,3)     # without using HPn module scope it defaults to RealHP<1>

miniEigen is wrapper for a small part of the Eigen library. Refer to its documentation for details. All classes in this module support pickling.

class yade._minieigenHP.HP1
class yade._minieigenHP.HP2