fe_cmov

h = f + g // Can overlap h with f or g. // // Preconditions: // |f| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc. // |g| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc. // // Postconditions: // |h| bounded by 1.1*2^26,1.1*2^25,1.1*2^26,1.1*2^25,etc. Conditional move. Replace (f,g) with (g,g) if b == 1; replace (f,g) with (f,g) if b == 0.

@safe nothrow @nogc
void
fe_cmov
(
ref fe dest
,
in ref fe src
,
in bool condition
)
in { assert (condition == 0 || condition == 1); }
out { if (condition == 1) { assert (dest == src); } }

Parameters

dest
Type: fe

Destination.

src
Type: fe

Source.

condition
Type: bool

Condition.

Meta