• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

A categorical programming language


Commit MetaInfo

Revision00f0108a7c05a0ab9419bae62b233e2a9a0f9622 (tree)
Time2023-02-26 16:43:31
AuthorCorbin <cds@corb...>
CommiterCorbin

Log Message

Force the principal branch for f-sqrt.

This halves the search space.

Change Summary

Incremental Difference

--- a/movelist/cammyo.scm
+++ b/movelist/cammyo.scm
@@ -253,7 +253,7 @@
253253 ((== o #f) (fp-<=° i2 i1)))))
254254 ((== expr 'f-add) (eval-binary° fp-+° i o))
255255 ((== expr 'f-mul) (eval-binary° fp-*° i o))
256- ((== expr 'f-sqrt) (fp-pos° i) (== o `(left ,f))
256+ ((== expr 'f-sqrt) (fp-pos° i) (== o `(left ,f)) (fp-pos° f)
257257 (fresh (p) (conso f f p) (eval-binary° fp-*° p i)))
258258 ((== expr 'f-sqrt) (== o '(right star)) (fp-neg° i)))
259259 ; (project (expr s t i o) (begin (pp `(eval° ,expr ,s ,t ,i ,o)) succeed))
--- a/movelist/fp.scm
+++ b/movelist/fp.scm
@@ -220,8 +220,10 @@
220220 ; See p6.
221221 (define (fp-*° f1 f2 r)
222222 (fresh (s1 s2 rs)
223+ ; (project (f1 f2 r) (begin (pp `(fp-*? ,f1 ,f2 ,r)) succeed))
223224 (sign-xor° s1 s2 rs)
224225 (fp-sign° f1 s1) (fp-sign° f2 s2) (fp-sign° r rs)
226+ ; (project (f1 f2 r) (begin (pp `(fp-* signs ,f1 ,f2 ,r)) succeed))
225227 (conde
226228 ; XXX wrong WRT IEEE 754!
227229 ((fp-zero° r) (conde ((fp-zero° f1)) ((fp-zero° f2))))
@@ -230,9 +232,13 @@
230232 (fp-decomp° f1 s1 e1 m1)
231233 (fp-decomp° f2 s2 e2 m2)
232234 (*o m1 m2 m1m2)
235+ ; (project (m1 m2 m1m2) (begin (pp `(fp-* mantissas ,m1 ,m2 ,m1m2)) succeed))
233236 (drop-leastsig-bit° m1m2 rm lsb)
234237 (compute-exp° e1 e2 lsb re)
238+ ; (project (e1 e2 re) (begin (pp `(fp-* exponents ,e1 ,e2 ,re)) succeed))
235239 (conde
236240 ((fp-inf° r) (fp-overflow° re))
237- ((fp-decomp° r rs re rm))))))))
241+ ((fp-decomp° r rs re rm))))))
242+ ; (project (f1 f2 r) (begin (pp `(fp-*° ,f1 ,f2 ,r)) succeed))
243+ ))
238244 )