Пример #1
0
renf_elem_class & renf_elem_class::operator=(renf_elem_class && value) noexcept
{
    if (value.nf == nullptr)
    {
        if (nf != nullptr)
        {
            renf_elem_clear(a, nf->renf_t());
            fmpq_init(b);
        }
        nf = value.nf;
        fmpq_swap(b, value.b);
    }
    else
    {
        if (nf == nullptr)
        {
            fmpq_clear(b);
            renf_elem_init(a, value.nf->renf_t());
        }
        nf = value.nf;
        renf_elem_swap(a, value.a);
    }

    return *this;
}
Пример #2
0
void fmpq_mat_transpose(fmpq_mat_t rop, const fmpq_mat_t op)
{
    slong i, j;

    if (rop == op)
    {
        for (i = 0; i < rop->r; i++)
            for (j = 0; j < i; j++)
                fmpq_swap(fmpq_mat_entry(rop, i, j), 
                          fmpq_mat_entry(rop, j, i));
    }
    else
    {
        for (i = 0; i < rop->r; i++)
            for (j = 0; j < rop->c; j++)
                fmpq_set(fmpq_mat_entry(rop, i, j), 
                         fmpq_mat_entry(op, j, i));
    }
}
Пример #3
0
 /** @name misc
     @{ */
 void swap(ElementType& a, ElementType& b) const {fmpq_swap(&a,&b);}