for (unsigned int i = 0; i < vec1.local_size(); ++i)
{
- double entry = random_value<double>();
+ // Multiply by 0.01 to make float error with roundoff less than the
+ // numdiff absolute tolerance
+ double entry = 0.01 * random_value<double>();
vec1.local_element(i) = entry;
- entry = random_value<double>();
+ entry = 0.01 * random_value<double>();
vec2.local_element(i) = entry;
- entry = random_value<double>();
+ entry = 0.01 * random_value<double>();
vec3.local_element(i) = entry;
}
LinearAlgebra::distributed::Vector<number> ref3 = vec3;
mf.vmult_with_update_basic(ref3, ref2, ref1);
- mf.vmult_with_update_basic(vec3, vec2, vec1);
+ mf.vmult_with_update_merged(vec3, vec2, vec1);
vec3 -= ref3;
deallog << "Error in 1x merged operation: " << vec3.linfty_norm()
ref3 = 0;
mf.vmult_with_update_basic(ref1, ref2, ref3);
- mf.vmult_with_update_basic(vec1, vec2, vec3);
+ mf.vmult_with_update_merged(vec1, vec2, vec3);
mf.vmult_with_update_basic(ref1, ref2, ref3);
- mf.vmult_with_update_basic(vec1, vec2, vec3);
+ mf.vmult_with_update_merged(vec1, vec2, vec3);
vec3 -= ref3;
deallog << "Error in 2x merged operation: " << vec3.linfty_norm()
vec1.get_partitioner()->local_to_global(i)))
continue;
- double entry = random_value<double>();
+ // Multiply by 0.01 to make float error with roundoff less than the
+ // numdiff absolute tolerance
+ double entry = 0.01 * random_value<double>();
vec1.local_element(i) = entry;
- entry = random_value<double>();
+ entry = 0.01 * random_value<double>();
vec2.local_element(i) = entry;
- entry = random_value<double>();
+ entry = 0.01 * random_value<double>();
vec3.local_element(i) = entry;
}
LinearAlgebra::distributed::Vector<number> ref3 = vec3;
mf.vmult_with_update_basic(ref3, ref2, ref1);
- mf.vmult_with_update_basic(vec3, vec2, vec1);
+ mf.vmult_with_update_merged(vec3, vec2, vec1);
vec3 -= ref3;
deallog << "Error in 1x merged operation: " << vec3.linfty_norm()
ref3 = 0;
mf.vmult_with_update_basic(ref1, ref2, ref3);
- mf.vmult_with_update_basic(vec1, vec2, vec3);
+ mf.vmult_with_update_merged(vec1, vec2, vec3);
mf.vmult_with_update_basic(ref1, ref2, ref3);
- mf.vmult_with_update_basic(vec1, vec2, vec3);
+ mf.vmult_with_update_merged(vec1, vec2, vec3);
vec3 -= ref3;
deallog << "Error in 2x merged operation: " << vec3.linfty_norm()
for (unsigned int i = 0; i < vec1.local_size(); ++i)
{
- double entry = random_value<double>();
+ // Multiply by 0.01 to make float error with roundoff less than the
+ // numdiff absolute tolerance
+ double entry = 0.01 * random_value<double>();
vec1.local_element(i) = entry;
- entry = random_value<double>();
+ entry = 0.01 * random_value<double>();
vec2.local_element(i) = entry;
- entry = random_value<double>();
+ entry = 0.01 * random_value<double>();
vec3.local_element(i) = entry;
}
LinearAlgebra::distributed::Vector<number> ref3 = vec3;
mf.vmult_with_update_basic(ref3, ref2, ref1);
- mf.vmult_with_update_basic(vec3, vec2, vec1);
+ mf.vmult_with_update_merged(vec3, vec2, vec1);
vec3 -= ref3;
deallog << "Error in 1x merged operation: " << vec3.linfty_norm()
ref3 = 0;
mf.vmult_with_update_basic(ref1, ref2, ref3);
- mf.vmult_with_update_basic(vec1, vec2, vec3);
+ mf.vmult_with_update_merged(vec1, vec2, vec3);
mf.vmult_with_update_basic(ref1, ref2, ref3);
- mf.vmult_with_update_basic(vec1, vec2, vec3);
+ mf.vmult_with_update_merged(vec1, vec2, vec3);
vec3 -= ref3;
deallog << "Error in 2x merged operation: " << vec3.linfty_norm()
for (unsigned int i = 0; i < vec1.local_size(); ++i)
{
- double entry = random_value<double>();
+ // Multiply by 0.01 to make float error with roundoff less than the
+ // numdiff absolute tolerance
+ double entry = 0.01 * random_value<double>();
vec1.local_element(i) = entry;
- entry = random_value<double>();
+ entry = 0.01 * random_value<double>();
vec2.local_element(i) = entry;
- entry = random_value<double>();
+ entry = 0.01 * random_value<double>();
vec3.local_element(i) = entry;
}
LinearAlgebra::distributed::Vector<number> ref3 = vec3;
mf.vmult_with_update_basic(ref3, ref2, ref1);
- mf.vmult_with_update_basic(vec3, vec2, vec1);
+ mf.vmult_with_update_merged(vec3, vec2, vec1);
vec3 -= ref3;
deallog << "Error in 1x merged operation: " << vec3.linfty_norm()
ref3 = 0;
mf.vmult_with_update_basic(ref1, ref2, ref3);
- mf.vmult_with_update_basic(vec1, vec2, vec3);
+ mf.vmult_with_update_merged(vec1, vec2, vec3);
mf.vmult_with_update_basic(ref1, ref2, ref3);
- mf.vmult_with_update_basic(vec1, vec2, vec3);
+ mf.vmult_with_update_merged(vec1, vec2, vec3);
vec3 -= ref3;
deallog << "Error in 2x merged operation: " << vec3.linfty_norm()
for (unsigned int i = 0; i < vec1.local_size(); ++i)
{
- double entry = random_value<double>();
+ // Multiply by 0.01 to make float error with roundoff less than the
+ // numdiff absolute tolerance
+ double entry = 0.01 * random_value<double>();
vec1.local_element(i) = entry;
- entry = random_value<double>();
+ entry = 0.01 * random_value<double>();
vec2.local_element(i) = entry;
- entry = random_value<double>();
+ entry = 0.01 * random_value<double>();
vec3.local_element(i) = entry;
}
LinearAlgebra::distributed::Vector<number> ref3 = vec3;
mf.vmult_with_update_basic(ref3, ref2, ref1);
- mf.vmult_with_update_basic(vec3, vec2, vec1);
+ mf.vmult_with_update_merged(vec3, vec2, vec1);
vec3 -= ref3;
deallog << "Error in 1x merged operation: " << vec3.linfty_norm()
ref3 = 0;
mf.vmult_with_update_basic(ref1, ref2, ref3);
- mf.vmult_with_update_basic(vec1, vec2, vec3);
+ mf.vmult_with_update_merged(vec1, vec2, vec3);
mf.vmult_with_update_basic(ref1, ref2, ref3);
- mf.vmult_with_update_basic(vec1, vec2, vec3);
+ mf.vmult_with_update_merged(vec1, vec2, vec3);
vec3 -= ref3;
deallog << "Error in 2x merged operation: " << vec3.linfty_norm()