Hi Steve, Thanks for sharing more details. I’ve realized that implementing half-cycle trig functions can be quite tricky. If I get the chance to refine the patch, I’d like to go through each function one by one (if the reviewers don’t mind), since I’m new to the GCC project.
I’m also not entirely sure about using libm directly for the math functions. LLVM’s constant folding approach does this, but it has already shown some drawbacks because libc and libm can behave differently across platforms—both in terms of actual results and linking. Using MPFR might provide more consistent outcomes, and I’m open to further discussion on the implementation details. Regarding GSoC, I think “Extracting tokens from a string,” “Interoperability with C,” and “Trig function changes” could be good fits for me. If you agree, I can start drafting a proposal. Could you please let me know who might be available to mentor this project? Thanks! Yuao ________________________________ From: Steve Kargl <s...@troutmask.apl.washington.edu> Sent: Thursday, March 27, 2025 2:15 To: Yuao Ma <c...@outlook.com> Cc: fortran@gcc.gnu.org <fortran@gcc.gnu.org> Subject: Re: GSoC Fortran – 2018/202x – Inquiry About Project Scope Yuao, I do not intend to be a mentor. I will however answer questions and review patches posted to fort...@gnu.gcc.org. I suspect that the half-cycle trigs functions will be a challenging GSOC project. But, if you're successful, then you'll be well prepared to continue contributing to gfortran. Besides the issue with using functions supplied by an OS's libm or fallback functions in libgfortran, you'll need to develop some method to deal with atanpi(x) and atanpi(y,x). The method currently used for atan(x) and atan(y,x) is (IMNSHO) somewhat of a kludge. -- steve On Wed, Mar 26, 2025 at 04:13:38PM +0000, Yuao Ma wrote: > Hi Steve, > > Thank you for your feedback! Are you going to mentor this specific Fortran > GSoC > project? You mentioned having a draft patch, and I would like to refine it as > a > starting point for the project! > > Yuao > ________________________________ > From: Steve Kargl <s...@troutmask.apl.washington.edu> > Sent: Tuesday, March 25, 2025 2:25 > To: Yuao Ma <c...@outlook.com> > Cc: fortran@gcc.gnu.org <fortran@gcc.gnu.org> > Subject: Re: GSoC Fortran – 2018/202x – Inquiry About Project Scope > > I've already written a prototype of the half-cycle trig > functions. > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113152 > > There are two issues that need to be address. First, some > operating systems provide half-cycle trig functions in their > libm. The initial patch tries to use libm functions if > found, but in hindsight I think gfortran should simply > provide its own implementations. Second, the patch needs > to be cleaned up and rigorously tested. I haven't had time > to do this. > > If you are looking for a relatively small and well-defined > project, I'll suggest looking at implementations for the > new intrinsic subprograms SPLIT() and TOKENIZE(). As far as > I know, no one is working on these routines. > > -- > steve > > On Mon, Mar 24, 2025 at 04:45:06PM +0000, Yuao Ma wrote: > > Hello GCC Community, > > > > I hope this message finds you well. My name is Yuao, and I’m excited to > > express > > my interest in the "Fortran – 2018/202x" project for Google Summer of Code. > > I’m > > writing to clarify the scope of this project and gather any recommendations > > you > > may have. > > > > >From the project documentation and the "What's New in 202x" resources, I > > understand that “Extracting tokens from a string,” “Interoperability with > > C,” > > and “Trig function changes” would be considered a medium-sized undertaking. > > After exploring the codebase, I noticed that trigonometric functions > > working in > > degrees have already been implemented. I’d be very interested in continuing > > with the half-revolution functionality as well as addressing the “Changes > > for > > conformance with the new IEEE standard.” I’d love to hear your thoughts on > > whether this focus is aligned with current project needs or if there are > > other > > areas you recommend I prioritize. > > > > Thank you for your time and guidance. I look forward to your feedback on > > how I > > can best contribute. > > > > Kind regards, > > Yuao > > -- > Steve -- Steve