<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><br><blockquote type="cite"><div>Apart from that: Did you #include <cln/float.h>? Where is that assignment (as you write it it could be outside a function body)?<br></div></blockquote><br></div><div>As I said I tried several things. My experience is that if one includes <cln/cln.h> all</div><div>the rest  is automatically included. I have never registered any difference with explicit inclusion</div><div>on various linux and MacOS distributions.</div><div><br></div><div>Here is a minimal demonstration</div><div><br></div><div><div>/* File: demo.cc</div><div>   Compilation: g++ -g -O2 -o demo demo.cc -lcln</div><div> */</div><div><br></div><div>//bool cln::cl_inhibit_floating_point_underflow = true;</div><div><br></div><div>#include <cln/cln.h></div><div>#include <cln/float.h></div><div><br></div><div>//using namespace std;</div><div>using namespace cln;</div><div><br></div><div>//bool cln::cl_inhibit_floating_point_underflow = true;</div><div>bool cl_inhibit_floating_point_underflow = true;</div><div><br></div><div>int main()</div><div>{</div><div>  float_format_t precision = float_format(50);</div><div>  cl_F x =  least_positive_float(precision);</div><div>  while(x > cl_float(0, precision) ) {</div><div>    std::cout << x << std::endl;</div><div>    x *= x;</div><div>  }</div><div>}</div><div><br></div></div><div><div>which produces the output:</div><div><br></div><div><blockquote type="cite"><div><font class="Apple-style-span" color="#000000">7.241484622111747243360392473658128214691955086151413286838L-2776511644261678567</font></div><div><font class="Apple-style-span" color="#000000">terminate called after throwing an instance of 'cln::floating_point_underflow_exception'</font></div><div><font class="Apple-style-span" color="#000000">  what():  floating point underflow.</font></div><div><font class="Apple-style-span" color="#000000">Abort trap</font></div></blockquote></div></div></body></html>