LARA

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
smartfloat [2012/11/27 08:29]
evka
smartfloat [2012/12/04 14:52]
evka
Line 5: Line 5:
 and estimate the roundoff errors commited. and estimate the roundoff errors commited.
  
 +For example:
 +  def cubeRoot = {
 +    val a: AffineFloat = 10
 +    var xn = AffineFloat(1.6)
 +    for(i <- 1 until 5) {
 +        xn = xn * ((xn*xn*xn + 2.0*a)/​(2.0*xn*xn*xn + a))
 +    }
 +    println(xn.toStringWithAbsErrors)
 +    println(xn.interval)
 +  }  ​
  
-You can download the latest .jar file {{projects:eva:​top:​smartfloatlib.jar.txt|here.}} +will compute the cube root of 10 by Halley'​s method and provide an upper bound on the absolute floating-point roundoff error committed on the final result: 
-In order to run your code, you will also need to compile ​some native code.  +  2.1544 (1.3346e-15) 
-You will find itwith compile instructions,​ {{projects:​eva:​top:​smartfloat_native.tar.gz|here.}}+  [2.1544346900318816,​2.154434690031885] 
 + 
 + 
 + 
 +You can download the [[http://lara.epfl.ch/​~darulova/​smartfloat.zip|source code]] and try it out.  
 +The only dependency is a small 
 +native library that you need to compile ​for your own platformbut for Linux and Mac 
 +this works without issues
  
-The {{projects:​eva:​top:​smartfloatsource.tar.gz|source code}}, including the examples from the report, is also available. 
  
  
-The examples from the report can also be found **[[smartfloat:​Examples.scala|HERE]]**. 
  
 There is also a {{projects:​eva:​top:​smartfloat_poster.pdf|poster}} and a [[http://​lara.epfl.ch/​~edarulov/​presentation_geneva.pdf|presentation]] available. There is also a {{projects:​eva:​top:​smartfloat_poster.pdf|poster}} and a [[http://​lara.epfl.ch/​~edarulov/​presentation_geneva.pdf|presentation]] available.
 +
 +
 +
 +===== Applications =====
 +The SmartFloat data type has also been used for certifying solutions of systems of nonlinear equations.
 +The implementation uses Scala macros, which is an experimental feature coming in Scala 2.10.
 +For this reason this [[http://​lara.epfl.ch/​~darulova/​cerres.zip|code]] is to be regarded as experimental as well, but you are free to try it out.
  
 ==== Publications ==== ==== Publications ====
Line 22: Line 44:
 E. Darulova, V. Kuncak. //​Trustworthy Numerical Computation in Scala//. OOPSLA 2011. E. Darulova, V. Kuncak. //​Trustworthy Numerical Computation in Scala//. OOPSLA 2011.
  ​[[http://​lara.epfl.ch/​~darulova/​TrustworthyComputation.pdf|PDF]]  ​[[http://​lara.epfl.ch/​~darulova/​TrustworthyComputation.pdf|PDF]]
 +
 +
 +The SmartFloat library is maintained by [[http://​people.epfl.ch/​eva.darulova|Eva Darulova]].