diff --git a/arrayfire_wrapper/_backend.py b/arrayfire_wrapper/_backend.py index 88ebb94..ed3864d 100644 --- a/arrayfire_wrapper/_backend.py +++ b/arrayfire_wrapper/_backend.py @@ -49,20 +49,13 @@ def _get_backend_path_config() -> _BackendPathConfig: platform_name = platform.system() cuda_found = False - # try to use user provided AF_PATH if explicitly set - try: - af_path = Path(os.environ["AF_PATH"]) - af_is_user_path = True - except KeyError: - af_path = None - af_is_user_path = False + # Try to use user provided AF_PATH if explicitly set + af_path = os.environ.get("AF_PATH", None) + af_is_user_path = af_path is not None - try: - cuda_path = Path(os.environ["CUDA_PATH"]) - except KeyError: - cuda_path = None + cuda_path = os.environ.get("CUDA_PATH", None) - # try to find default arrayfire installation paths + # Try to find default arrayfire installation paths if platform_name == _SupportedPlatforms.windows.value or _SupportedPlatforms.is_cygwin(platform_name): if platform_name == _SupportedPlatforms.windows.value: # HACK Supressing crashes caused by missing dlls diff --git a/arrayfire_wrapper/lib/create_and_modify_array/manage_array.py b/arrayfire_wrapper/lib/create_and_modify_array/manage_array.py index 6a567df..1171161 100644 --- a/arrayfire_wrapper/lib/create_and_modify_array/manage_array.py +++ b/arrayfire_wrapper/lib/create_and_modify_array/manage_array.py @@ -93,7 +93,9 @@ def eval_multiple(num: int, /, *arrs: AFArray) -> None: """ source: https://arrayfire.org/docs/group__c__api__mat.htm#ga9e08f4cda2471a477d2fa91c2356f72c """ - call_from_clib(eval_multiple.__name__, ctypes.c_int(num), ctypes.pointer(arrs)) + ctypes_arrs = (ctypes.c_void_p * num)(*[arr for arr in arrs]) + + call_from_clib(eval_multiple.__name__, ctypes.c_int(num), ctypes.pointer(ctypes_arrs)) return None