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 [2011/06/02 21:05]
evka
smartfloat [2013/04/08 11:16] (current)
evka
Line 5: Line 5:
 and estimate the roundoff errors commited. and estimate the roundoff errors commited.
  
-A description of this work can be found [[http://​infoscience.epfl.ch/record/​164956|here.]]+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]
  
-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]]**.+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
  
-There is also a {{projects:​eva:​top:​smartfloat_poster.pdf|poster}} 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 ==== 
 + 
 +E. Darulova, V. Kuncak. //​Trustworthy Numerical Computation in Scala//. OOPSLA 2011. 
 + ​[[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]].