Added
-
Futhark now type-checks size annotations using a size-dependent
type system. -
The parallel code generators can now handle bounds checking and
other safety checks. -
Integer division by zero is now properly safety-checked and
produces an error message. -
Integer exponentiation with negative exponent is now properly
safety-checked and produces an error message. -
Serious effort has been put into improving type errors.
-
reduce_by_index
may be somewhat faster for complex operators on
histograms that barely fit in local memory. -
Improved handling of in-place updates of multidimensional arrays
nested inmap
. These are now properly parallelised. -
Added
concat_to
andflatten_to
functions to prelude. -
Added
indices
function to the prelude. -
futhark check
and all compilers now take a-w
option for
disabling warnings. -
futhark bench
now accepts--pass-compiler-option
. -
The integer modules now have
mad_hi
andmul_hi
functions for
getting the upper part of multiplications. Thanks to @porcuquine for the contribution! -
The
f32
andf64
modules now also definesinh
,cosh
,
tanh
,asinh
,acosh
, andatanh
functions. -
The
f32
andf64
modules now also definefma
andmad
functions.
Removed
- Removed
update
,split2
,intersperse
,intercalate
,pick
,
steps
, andrange
from the prelude.
Changed
"futlib"
is now called"prelude"
, and it is now an error to
import it explicitly.
Fixed
-
Corrected address calculations in
csharp
backend. -
The C backends are now more careful about generating overflowing
integer operations (since this is undefined behaviour in C, but
defined in Futhark). -
futhark dataset
no longer crashes uncontrollably when used
incorrectly (#849).