On Tuesday, 7 July 2015 at 22:19:22 UTC, Paul D Anderson wrote:
On Sunday, 5 July 2015 at 20:35:03 UTC, Kai Nacke wrote:
On Friday, 3 July 2015 at 04:08:32 UTC, Paul D Anderson wrote:
On Friday, 3 July 2015 at 03:57:57 UTC, Anon wrote:
On Friday, 3 July 2015 at 02:37:00 UTC, Paul D Anderson wrote:

[...]

Should be plusTwo(in BigInt n) instead.


Yes, I had aliased BigInt to bigint.

And I checked and it compiles for me too with Windows m64. That makes it seem more like a bug than a feature.

I'll open a bug report.

Paul

The point here is that x86 uses an assembler-optimized implementation (std.internal.math.biguintx86) and every other cpu architecture (including x64) uses a D version (std.internal.math.biguintnoasm). Because of the inline assembler, the x86 version is not CTFE-enabled.

Regards,
Kai

Could we add a version or some other flag that would allow the use of .biguintnoasm with the x86?

Paul

biguintx86 could import biguintnoasm. Every function would need to check for CTFE and if yes then call the noasm function. Should work but requires some effort.

Regards,
Kai

Reply via email to