round-vector-lane ( x even? -- y )


Vocabulary
math.vectors.simd.intrinsics.private

Inputs
xan object
even?an object


Outputs
yan object


Definition


:: round-vector-lane ( x even? -- y )
x float? [
x fp-special? x abs 4503599627370496.0 >= or
[ x ] [
x abs floor :> whole x abs whole -
:> fraction fraction 0.5 > fraction 0.5 = even?
[ whole >integer odd? ] [ t ] if and or
[ whole 1.0 + ] [ whole ] if x copysign
] if
] [ x ] if ;