Skip to content

Type conversion to dd_real/qd_real #323

Open

Description

@gilvillard

I have made a pull request modifying nr_FP_misc.inl, set_f, the conversion from mpz_t to dd_real was using a unique mpz_get_d, and nr_FP_dd.inl, set_mpfr, the conversion from mpfr to dd_real was using a unique mpfr_get_ld.

It seems however (?) that the wrapper was gaining with dd_real compared to double and long double.

Since a conversion to doubles was used, for instance in:

  • gso.cpp: bf(i, j).set_z(b(i, j));
  • gso.h: f.set_z(g(i, j));
  • gso_gram.h: f.set_z((*gptr)(i, j));

I am not sure to understand why things were working. With the initial truncation of the integer basis with doubles, the backward error is at double precision.

It remains to check things with qd_real also.

Activity

  1. malb commented on Sep 27, 2017

    @malb
    Collaborator

    Thanks! You also edited qd_real in the PR, so does that mean we can close this ticket after merging the PR, or is there anything else left open?

  2. gilvillard commented on Sep 28, 2017

    @gilvillard
    CollaboratorAuthor

    Not sure we should close, I would say that the conversion set_z in nr_FP_misc.inl from mpz_t to qd_real also has to be modified. This type of conversion is also occurring in the branch float128 (set_z from mpz_t to __float128).

  3. changed the title [-]dd_real wrapper [/-] [+]Type conversion to dd_real/qd_real[/+] on Sep 28, 2017
  4. malb commented on Sep 28, 2017

    @malb
    Collaborator

    Makes sense, thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions