@@ -63,6 +63,12 @@ extern {
6363
6464 fn af_eval ( arr : AfArray ) -> c_int ;
6565
66+ fn af_eval_multiple ( num : c_int , arrays : * const AfArray ) -> c_int ;
67+
68+ fn af_set_manual_eval_flag ( flag : c_int ) -> c_int ;
69+
70+ fn af_get_manual_eval_flag ( flag : * mut c_int ) -> c_int ;
71+
6672 fn af_retain_array ( out : MutAfArray , arr : AfArray ) -> c_int ;
6773
6874 fn af_copy_array ( out : MutAfArray , arr : AfArray ) -> c_int ;
@@ -385,3 +391,53 @@ pub fn print(input: &Array) {
385391 HANDLE_ERROR ( AfError :: from ( err_val) ) ;
386392 }
387393}
394+
395+ /// evaluate multiple arrays
396+ ///
397+ /// Use this function to evaluate multiple arrays in single call
398+ ///
399+ /// # Parameters
400+ ///
401+ /// - `inputs` are the list of arrays to be evaluated
402+ pub fn eval_multiple ( inputs : Vec < & Array > ) {
403+ unsafe {
404+ let mut v = Vec :: new ( ) ;
405+ for i in inputs {
406+ v. push ( i. get ( ) ) ;
407+ }
408+
409+ let err_val = af_eval_multiple ( v. len ( ) as c_int , v. as_ptr ( ) as * const AfArray ) ;
410+ HANDLE_ERROR ( AfError :: from ( err_val) ) ;
411+ }
412+ }
413+
414+ /// Set eval flag value
415+ ///
416+ /// This function can be used to toggle on/off the manual evaluation of arrays.
417+ ///
418+ /// # Parameters
419+ ///
420+ /// - `flag` is a boolean value indicating manual evaluation setting
421+ pub fn set_manual_eval ( flag : bool ) {
422+ unsafe {
423+ let err_val = af_set_manual_eval_flag ( flag as c_int ) ;
424+ HANDLE_ERROR ( AfError :: from ( err_val) ) ;
425+ }
426+ }
427+
428+ /// Get eval flag value
429+ ///
430+ /// This function can be used to find out if manual evaluation of arrays is
431+ /// turned on or off.
432+ ///
433+ /// # Return Values
434+ ///
435+ /// A boolean indicating manual evaluation setting.
436+ pub fn is_eval_manual ( ) -> bool {
437+ unsafe {
438+ let mut ret_val: i32 = 0 ;
439+ let err_val = af_get_manual_eval_flag ( & mut ret_val as * mut c_int ) ;
440+ HANDLE_ERROR ( AfError :: from ( err_val) ) ;
441+ ret_val > 0
442+ }
443+ }
0 commit comments