On 03/09/2017 05:42 PM, Andrew Parsloe wrote: > Two functions which I think could be beneficially added to l3fp without > straining its role as a kernel module (in the way that, say, the gamma > function would) are the signature function (sgn) and a unit step > function (Heaviside? -- the difficulty is what value to assign at 0). > Given the numerical values assigned to true and false in l3fp, it is > easy to mimic these with simple inequalities (e.g. (#1 > 0) - (#1 < 0) > for sgn) but perhaps the functions should be there in the first place? > > I found myself wanting these when considering a table of fp values where > it made sense to blank cells containing negative values which "got in > the way". The code creating the table contained the option of blanking > zero-value cells, so I multiplied the tabulated formula by 1 - (#1 < 0). > > Andrew > > --- > This email has been checked for viruses by Avast antivirus software. > https://www.avast.com/antivirus Will copied your message to https://github.com/latex3/latex3/issues/346 and replied there that > sign() or sgn() definitely makes sense to me, but I’m not sure about > step() / heaviside() / whatever. Can you give another example for the > use case there? I'm adding sign(). I don't think heaviside is needed: (#1) > 0 ? (#1) : 0 seems to do what you want pretty nicely. What do you think? Concerning Gamma, the main reason I haven't implemented it yet is that it requires determining some magic constants that were only given to me for a lower precision than what I need (10 digits instead of 16). Bruno