flintlib / flint

FLINT (Fast Library for Number Theory)
http://www.flintlib.org
GNU Lesser General Public License v3.0
401 stars 235 forks source link

Reduce more things #1986

Closed albinahlback closed 1 month ago

albinahlback commented 1 month ago

Two notes on the last point. First, I believe it was a function or two now changed the looping bounds from the output matrix's rows and columns to the input matrix's rows and columns. Second, in acb_mat_conjugate it previously aborted if output and input dimensions did not agree -- I removed this as it is neither documented, nor does it agree with similar code (I suppose this was a leftover from the transpose-conjugate or something).

fredrik-johansson commented 1 month ago

Hmm, not really a fan of the templates.

Edit: I'm maybe fine with this if the template macros are defined immediately before use in templates.c itself. Otherwise, I'll risk having flashbacks from dealing with nonlocal code in fq and lll.

What I'd actually like to do with the arb_mat and acb_mat modules is make sure gr_mat has all the functionality and then just have thin wrappers, which could be autogenerated.

albinahlback commented 1 month ago

Hmm, not really a fan of the templates.

Edit: I'm maybe fine with this if the template macros are defined immediately before use in templates.c itself. Otherwise, I'll risk having flashbacks from dealing with nonlocal code in fq and lll.

What I'd actually like to do with the arb_mat and acb_mat modules is make sure gr_mat has all the functionality and then just have thin wrappers, which could be autogenerated.

Hmm, I'm also fine with reverting the commit. Do I understand you correct in that I should just copypasta the things in dev/arb_mat_templates.h into templates.c to then remove said header?

fredrik-johansson commented 1 month ago

Hmm, not really a fan of the templates. Edit: I'm maybe fine with this if the template macros are defined immediately before use in templates.c itself. Otherwise, I'll risk having flashbacks from dealing with nonlocal code in fq and lll. What I'd actually like to do with the arb_mat and acb_mat modules is make sure gr_mat has all the functionality and then just have thin wrappers, which could be autogenerated.

Hmm, I'm also fine with reverting the commit. Do I understand you correct in that I should just copypasta the things in dev/arb_mat_templates.h into templates.c to then remove said header?

Yes.