4 print('testing Poist8 neg / abs...')
5 for i
in range(1 << 8):
8 minus_x
= x
* sfpy
.Posit8(-1.0)
10 if not neg_x
.bits
== minus_x
.bits
:
11 print('-', x
, neg_x
, minus_x
)
13 neg_x2
= sfpy
.posit
.p8_neg(x
)
15 if not neg_x2
.bits
== minus_x
.bits
:
16 print('p8_neg', x
, neg_x2
, minus_x
)
20 if not x
.bits
== minus_x
.bits
:
21 print('ineg', x
, minus_x
)
26 if y
< sfpy
.Posit8(0):
27 ifneg_y
= y
* sfpy
.Posit8(-1.0)
29 ifneg_y
= y
* sfpy
.Posit8(1.0)
31 if not abs_y
.bits
== ifneg_y
.bits
:
32 print('abs', y
, abs_y
, ifneg_y
)
34 abs_y2
= sfpy
.posit
.p8_abs(y
)
36 if not abs_y2
.bits
== ifneg_y
.bits
:
37 print('p8_abs', y
, abs_y2
, ifneg_y
)
41 if not y
.bits
== ifneg_y
.bits
:
42 print('iabs', y
, ifneg_y
)
45 print('testing Poist16 neg / abs...')
46 for i
in range(1 << 16):
49 minus_x
= x
* sfpy
.Posit16(-1.0)
51 if not neg_x
.bits
== minus_x
.bits
:
52 print('-', x
, neg_x
, minus_x
)
54 neg_x2
= sfpy
.posit
.p16_neg(x
)
56 if not neg_x2
.bits
== minus_x
.bits
:
57 print('p16_neg', x
, neg_x2
, minus_x
)
61 if not x
.bits
== minus_x
.bits
:
62 print('ineg', x
, minus_x
)
67 if y
< sfpy
.Posit16(0):
68 ifneg_y
= y
* sfpy
.Posit16(-1.0)
70 ifneg_y
= y
* sfpy
.Posit16(1.0)
72 if not abs_y
.bits
== ifneg_y
.bits
:
73 print('abs', y
, abs_y
, ifneg_y
)
75 abs_y2
= sfpy
.posit
.p16_abs(y
)
77 if not abs_y2
.bits
== ifneg_y
.bits
:
78 print('p16_abs', y
, abs_y2
, ifneg_y
)
82 if not y
.bits
== ifneg_y
.bits
:
83 print('iabs', y
, ifneg_y
)
86 print('testing Poist32 neg / abs...')
87 for i
in range(1 << 32):
90 minus_x
= x
* sfpy
.Posit32(-1.0)
92 if not neg_x
.bits
== minus_x
.bits
:
93 print('-', x
, neg_x
, minus_x
)
95 neg_x2
= sfpy
.posit
.p32_neg(x
)
97 if not neg_x2
.bits
== minus_x
.bits
:
98 print('p32_neg', x
, neg_x2
, minus_x
)
102 if not x
.bits
== minus_x
.bits
:
103 print('ineg', x
, minus_x
)
108 if y
< sfpy
.Posit32(0):
109 ifneg_y
= y
* sfpy
.Posit32(-1.0)
111 ifneg_y
= y
* sfpy
.Posit32(1.0)
113 if not abs_y
.bits
== ifneg_y
.bits
:
114 print('abs', y
, abs_y
, ifneg_y
)
116 abs_y2
= sfpy
.posit
.p32_abs(y
)
118 if not abs_y2
.bits
== ifneg_y
.bits
:
119 print('p32_abs', y
, abs_y2
, ifneg_y
)
123 if not y
.bits
== ifneg_y
.bits
:
124 print('iabs', y
, ifneg_y
)