Skip to content

Commit ee774b7

Browse files
authored
Address built-in complex deprecation (#344)
* Address built-in complex deprecation * Update complex transition * Additional not working sum algorithms * Add support for std.complex to mir.math.sum * Fixup * Adjust statType * Additional fixups * Address CircleCI sliced failure * Fix CircleCI Failure, bignum.fp UInt * Remove traces of std.complex * Fixup
1 parent 333701c commit ee774b7

5 files changed

Lines changed: 280 additions & 70 deletions

File tree

dub.sdl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ dependency "mir-core" version=">=1.1.67"
99

1010
buildType "unittest" {
1111
buildOptions "unittests" "debugMode" "debugInfo"
12-
versions "mir_bignum_test" "mir_test"
12+
versions "mir_bignum_test" "mir_builtincomplex_test" "mir_test"
1313
dflags "-lowmem"
1414
}
1515
buildType "unittest-dip1008" {

source/mir/algorithm/iteration.d

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1445,6 +1445,7 @@ template isSymmetric(alias fun = "a == b")
14451445
version(mir_test)
14461446
unittest
14471447
{
1448+
import mir.ndslice.slice: sliced;
14481449
import mir.ndslice.topology: iota;
14491450
assert(iota(2, 2).isSymmetric == false);
14501451

@@ -1580,6 +1581,7 @@ template minmaxPos(alias pred = "a < b")
15801581
version(mir_test)
15811582
unittest
15821583
{
1584+
import mir.ndslice.slice: sliced;
15831585
auto s = [
15841586
2, 6, 4, -3,
15851587
0, -4, -3, 3,
@@ -1651,6 +1653,7 @@ template minmaxIndex(alias pred = "a < b")
16511653
version(mir_test)
16521654
unittest
16531655
{
1656+
import mir.ndslice.slice: sliced;
16541657
auto s = [
16551658
2, 6, 4, -3,
16561659
0, -4, -3, 3,
@@ -1720,6 +1723,7 @@ template maxPos(alias pred = "a < b")
17201723
version(mir_test)
17211724
unittest
17221725
{
1726+
import mir.ndslice.slice: sliced;
17231727
auto s = [
17241728
2, 6, 4, -3,
17251729
0, -4, -3, 3,
@@ -1791,6 +1795,7 @@ template maxIndex(alias pred = "a < b")
17911795
version(mir_test)
17921796
unittest
17931797
{
1798+
import mir.ndslice.slice: sliced;
17941799
auto s = [
17951800
2, 6, 4, -3,
17961801
0, -4, -3, 3,
@@ -1812,6 +1817,7 @@ unittest
18121817
version(mir_test)
18131818
unittest
18141819
{
1820+
import mir.ndslice.slice: sliced;
18151821
auto s = [
18161822
-8, 6, 4, -3,
18171823
0, -4, -3, 3,
@@ -1827,6 +1833,7 @@ unittest
18271833
version(mir_test)
18281834
unittest
18291835
{
1836+
import mir.ndslice.slice: sliced;
18301837
auto s = [
18311838
0, 1, 2, 3,
18321839
4, 5, 6, 7,

source/mir/bignum/fp.d

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,8 @@ struct Fp(size_t coefficientSize, Exp = sizediff_t)
216216
@safe pure @nogc
217217
unittest
218218
{
219+
import mir.bignum.fixed: UInt;
220+
219221
auto fp = Fp!128(UInt!128.fromHexString("afbbfae3cd0aff2714a1de7022b0029d"));
220222
assert(fp.exponent == 0);
221223
assert(fp.coefficient == UInt!128.fromHexString("afbbfae3cd0aff2714a1de7022b0029d"));
@@ -280,6 +282,8 @@ struct Fp(size_t coefficientSize, Exp = sizediff_t)
280282
@safe pure @nogc
281283
unittest
282284
{
285+
import mir.bignum.fixed: UInt;
286+
283287
auto a = Fp!128(0, -13, UInt!128.fromHexString("dfbbfae3cd0aff2714a1de7022b0029d"));
284288
auto b = Fp!128(1, 100, UInt!128.fromHexString("e3251bacb112c88b71ad3f85a970a314"));
285289
auto fp = a * b;
@@ -354,6 +358,7 @@ struct Fp(size_t coefficientSize, Exp = sizediff_t)
354358
@safe pure @nogc
355359
unittest
356360
{
361+
import mir.bignum.fixed: UInt;
357362
auto fp = Fp!128(1, 100, UInt!128.fromHexString("e3251bacb112cb8b71ad3f85a970a314"));
358363
assert(cast(double)fp == -0xE3251BACB112C8p+172);
359364
}
@@ -364,6 +369,7 @@ struct Fp(size_t coefficientSize, Exp = sizediff_t)
364369
@safe pure @nogc
365370
unittest
366371
{
372+
import mir.bignum.fixed: UInt;
367373
auto fp = Fp!128(1, 100, UInt!128.fromHexString("e3251bacb112cb8b71ad3f85a970a314"));
368374
static if (real.mant_dig == 64)
369375
assert(cast(real)fp == -0xe3251bacb112cb8bp+164L);
@@ -375,6 +381,7 @@ struct Fp(size_t coefficientSize, Exp = sizediff_t)
375381
@safe pure @nogc
376382
unittest
377383
{
384+
import mir.bignum.fixed: UInt;
378385
auto fp = Fp!64(1, 100, UInt!64(0xe3251bacb112cb8b));
379386
version (DigitalMars)
380387
{
@@ -397,6 +404,7 @@ struct Fp(size_t coefficientSize, Exp = sizediff_t)
397404
@safe pure @nogc
398405
unittest
399406
{
407+
import mir.bignum.fixed: UInt;
400408
auto fp = Fp!64(1, 100, UInt!64(0xe3251bacb112cb8b));
401409
static if (real.mant_dig == 64)
402410
assert(cast(real)fp == -0xe3251bacb112cb8bp+100L);
@@ -417,6 +425,7 @@ struct Fp(size_t coefficientSize, Exp = sizediff_t)
417425
@safe pure @nogc
418426
unittest
419427
{
428+
import mir.bignum.fixed: UInt;
420429
auto fp = cast(Fp!64) Fp!128(UInt!128.fromHexString("afbbfae3cd0aff2784a1de7022b0029d"));
421430
assert(fp.exponent == 64);
422431
assert(fp.coefficient == UInt!64.fromHexString("afbbfae3cd0aff28"));

0 commit comments

Comments
 (0)