Z3의 FPA의 논리에 의해 허용으로 나는, IEEE 부동 소수점 상수를 작성에 관한 두 가지 질문을했습니다 : 난부동 소수점 리터럴
((_ asFloat 11 53) roundTowardZero 0.5 0))
: 먼저, this question에, 크리스토프는 예를 사용
최종0
이 무엇을 의미하는지 궁금하십니까? 나는 시도했다 :
((_ asFloat 11 53) roundTowardZero 0.5))
그리고 그것은 잘 작동하는 것처럼 보인다. Rummer의 paper은 마지막 0을 필요로하지 않습니다. 그래서 저는 그것이 어떤 역할을하는지 궁금합니다.
(as +1.0000000000000002220446049250313080847263336181640625p1 (_ FP 11 53))
가 어떻게이 p1
접미사를 해석합니까 : 나는 Z3로부터 모델을 얻을 때
둘째, 그것은과 같이 부동 소수점 리터럴을 인쇄? 가능한 다른 접미사는 무엇입니까?
감사합니다.
감사합니다 Christoph, 그건 의미가 있습니다. 그러나 Rummer의 논문을 읽으면서 나는 FP 숫자가 다음과 같이 rationals를 써야한다는 것을 이해했다 :'(/ 2 3)'. 이것은 모델에서 두 입력 모두로 사용될 수 있습니다. 나는이 방법이 분명한 것처럼 명백하며, 모든 FP 번호는 상대적으로 쉽게 합리적인 것으로 변환 될 수 있습니다. 어쩌면 우리는'pp.print_fpa_as_rational' 또는 이와 유사한 옵션을 사용하여 Z3 위에 구축 된 도구에 일관성을 부여 할 수 있을지도 모릅니다. –
예, Z3에서는 여기에 rationals도 허용합니다 (예 : (_ asFloat 11 53) roundTowardZero (/ 2 3)). 개인적으로, 나는 더 간결하기 때문에 가수 + 지수 표기법을 선호하지만, 다른 표기법은 물론 다른 선호도를 가질 수 있습니다. 출력을위한 다양한 옵션을 구현하기 전에 SMT 커뮤니티가 결정한 사항을 조금이라도보고 싶습니다 (예 : 출력에 IEEE 비트 벡터 형식에 대한 요청이 있음). –
SMT에서 FPA에 관심이있는 모든 사람들을위한 메모 : smt-fp [http://groups.google.com/forum/#!forum/smt-fp 참조]라는 Google 그룹이 있습니다.이 그룹은 물론이 주제는 출력 형식을 포함합니다. 피드백과 요청이 가장 환영합니다! –