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
smartfloat [2012/11/27 08:29]
evka
smartfloat [2013/04/08 11:16]
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 it, with compile instructions,​ {{projects:​eva:​top:​smartfloat_native.tar.gz|here.}}+  [2.1544346900318816,​2.154434690031885] 
 + 
 + 
 + 
 +The source is now available on [[https://github.com/​malyzajko/​ceres|GitHub]].  
 +The only dependency is a small 
 +native library that you need to compile ​for your own platform, but 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 ====
-The library is mainly described in the following paper: 
  
 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]]
 +
 +
 +E. Darulova, V. Kuncak. //​Certifying Solutions for Numerical Constraints//​ RV 2012.
 +[[http://​lara.epfl.ch/​~darulova/​CertifyingSolutions.pdf|PDF]]
 +
 +The SmartFloat library is maintained by [[http://​people.epfl.ch/​eva.darulova|Eva Darulova]].