[bugfix] Avoid calling std::real for unsupported types
The condition estimate is only supported for field_types float and double. Unfortunately, compiling this failed for any field_type not supported by std::real. Replacing the dynamic check by a static one helps to avoid the problem.
This fixes one reason for a CI failure introduced in !102 (merged).