- if (fsrc->float_copy == fdest->float_copy) {
- fsrc->float_copy(destp, srcp, float_declaration);
- } else {
- double v;
-
- v = fsrc->double_read(srcp, float_declaration);
- fdest->double_write(destp, float_declaration, v);
- }
+ v = fsrc->ldouble_read(srcp, float_declaration);
+ _float->value = v;
+ if (fdest)
+ fdest->ldouble_write(destp, float_declaration, v);