Skip to content

Master Update #81

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 46 commits into from
Jul 29, 2016
Merged

Master Update #81

merged 46 commits into from
Jul 29, 2016

Conversation

9prady9
Copy link
Member

@9prady9 9prady9 commented Jul 29, 2016

No description provided.

9prady9 and others added 30 commits December 14, 2015 21:06
Removed obselete sections from README
More detailed information on the new release can be found at the
following URL

https://github.com/arrayfire/arrayfire/releases/tag/v3.3.0
Defined and implemented a trait `HasAfEnum` for the types
supported by ArrayFire. This trait is used by the Array creation
and data generation functions now making the function API more
terse. Changed the examples to reflect the new modifications.
Moved the following macros to separate module(macros)

* mem_info
* join_many
API Catchup to 3.3.0 version
Very annoying doing:
```rust
if arr.dims().unwrap().get().clone() == arr2.dims().unwrap().get().clone() {}
```
Add support for partialeq & debug to dim4
add clone and partialeq to all enums
* Retain the arrays returned from Features's accessors
With this change, all functions and operations return appropriate
values/objects instead of wrapping those values inside a Result<>
object. All errors reported by FFI calls are handled by a global
error handling function that is registered by a call to the function
`register_error_handler` that accepts either a closure or a function.

By default, the error handler is set to a internal function that
prints the error message to standard output and then panics.
Add tests directory with a function to check the function
`register_error_handler`
Removed an incorrect implementation to provide thread safety
for the function register_error_handler.
9prady9 and others added 16 commits May 4, 2016 18:49
Also, modifies binary operators to use Array objects instead of borrowed
references.
Replace Result returns in API with callback based error handling
Fixes #71

Compound operator traits are made stable in Rust 1.8, hence the
version check is required
For some reason, directly passing a `&[]` to function that is using
OpenCL backend is causing a SEGFAULT. This problem is however is
not happening with CPU or CUDA backend. Moving the slice to a independent
variable and then borrowing a reference is executing as expected on OSX.
This may have to do with slices and the memory they are pointing to, but it
is quite puzzling why it only happens on one of three backends.
I'm not on a system capable of testing, but currently our own dependency
causes cargo to pull down both libc 0.1 & 0.2. We should update to libc 0.2
to combine dependencies. time is deprecated in favor of std::time
Rust enums use 8-bit number for representation of values
where as c uses 32-bit number. This caused the issue in release
mode. The compiler optimized these variables in release mode
which must have caused over-bound writes thus causing the program
crash.

Fixes #73
After the fix, error module compiles fine with both 1.9.0 and
1.10.0 versions.
@9prady9 9prady9 merged commit 6fd3d38 into master Jul 29, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants