... unfortunately it is a lot slower now
I should have been more clear about the mode changes, which are very slow. If they are done at every call to a DLL function then performance will suffer.
What I meant is that the DLL must provide a way for the programmer to change the mode within Blitz3D.
The proper usage in a Blitz program would then be:
Set double precision mode.
Do many calculations in double precision ( no mode changes here ).
Set single precision mode.
Continue with ordinary Blitz code.
The idea is to group the double precision calculations and change modes as infrequently as possible.