-
Notifications
You must be signed in to change notification settings - Fork 7
Conversation
…thout fiddling with Base.TestNext. And likely other features
This reverts commit a8ba130.
So anyway, things to take away from this (and also from looking at @musm's fine work. Namespacing constantsC code in msun/openlibm etc has all non-externed varibles as "file-private", Ways perhaps this can be done (each of which could perhaps be does partially with a macro that makes it simpler):
I can envision some really macro heavy ways to do the above that are particularly magic filled. |
let blocks are probably the easiest, and they are used in Base, e.g. The approach is let
const bar = ...
global foo
function foo(x)
# uses bar
end
end |
This needs to be rebased |
Yes it does. I'm not particularly interested in having it merged. I can, if you want rebase it, |
Certainly, it would be good to have this. |
Note there is a problem with defining generic methods which are dispatched inside let blocks: JuliaLang/julia#18201 In that case, I suggest just prefixing them with an underscore. |
I'm closing this because, I don't particularly care to deal with rebasing it and making it work. |
So, we have to start somewhere.
Why not with Exp2?
(Edit: Ah, I see while I wasn't looking, @musm got in ahead of me. Twice. 👍
Well we have to think about a 3rd function sometime, why not Exp2?)
This brings that over from OpenLibm
Right now this WIP,
I have it working with Float64s
I'll then get it working with Float32s,
and then I'll see about refactoring them to merge common code.
Before this is done, it might be desirable to cherry-pick and merge the stuff from math_private,
which does some of the word manipulation that OpenLibm is full of.
Its not quiet the same as the one @musm wrote. I think getting that stuff in is probably a priority if more porting of OpenLibm is to be done.
I think maybe we can actually go faster on 64 bit systems by doing less 3 2bit word manipulation, and manipulating all 64bits at a time.
But first to get it going, then tweak it.
In part, this is more to see what it would look like, than to actually get things moved across.
Particularly pending #5