- A6774EA126B6431E912686B5269349926976A8685A61817E99FE468B61056842A0881B0569D5EC0DE27B904B456BD13350FC4F939286A5633C08A7888DD23C4B
+ BE7752AC12AD772033C57E4E844A62A2451B9E398A6B5F3CA4CD8873B0ADAF6CCEBE8093C3D4F4D9A4A40CDE4FC48282E5E04579D9F284D0170A32B4DDB06777
ffa/libffa/fz_arith.adb
(161 . 6)(161 . 26)
105 end FZ_Sub;
106
107
108 -- Difference := X - W; Underflow := Borrow
109 procedure FZ_Sub_W(X : in FZ;
110 W : in Word;
111 Difference : out FZ;
112 Underflow : out WBool) is
113 Borrow : Word := W;
114 begin
115 for i in 0 .. Word_Index(X'Length - 1) loop
116 declare
117 A : constant Word := X(X'First + i);
118 S : constant Word := A - Borrow;
119 begin
120 Difference(Difference'First + i) := S;
121 Borrow := W_Borrow(A, 0, S);
122 end;
123 end loop;
124 Underflow := Borrow;
125 end FZ_Sub_W;
126
127
128 -- Destructive: If Cond is 1, NotN := ~N; otherwise NotN := N.
129 procedure FZ_Not_Cond_D(N : in out FZ;
130 Cond : in WBool)is