@@ -394,7 +394,7 @@ impl<U: Time + 'static> Ss<U> {
394394 /// # Panics
395395 /// This function will panic if the input-output dimensions of `self` and
396396 /// `sys2` do not match.
397- pub fn feedback ( self , sys2 : Self ) -> Self {
397+ pub fn feedback ( self , sys2 : & Self ) -> Self {
398398 assert_eq ! ( self . ninputs( ) , sys2. noutputs( ) ) ;
399399 assert_eq ! ( self . noutputs( ) , sys2. ninputs( ) ) ;
400400 self . assert_valid ( ) ;
@@ -960,12 +960,12 @@ mod tests {
960960 let ss1 = ( Tf :: s ( ) / ( Tf :: s ( ) + 1.0 ) ) . to_ss ( ) . unwrap ( ) ;
961961 let ss2 = ( 1.0 / Tf :: s ( ) ) . to_ss ( ) . unwrap ( ) ;
962962
963- let ss_fb = ss1. clone ( ) . feedback ( ss2. clone ( ) ) ;
963+ let ss_fb = ss1. clone ( ) . feedback ( & ss2) ;
964964 let tf_fb = ss_fb. to_tf ( ) . unwrap ( ) ;
965965 assert_abs_diff_eq ! ( tf_fb, Tf :: s( ) / ( Tf :: s( ) + 2.0 ) ) ;
966966
967967 let ss2 = Ss :: < Continuous > :: new_from_scalar ( 1.0 ) ;
968- let ss_fb = ss1. clone ( ) . feedback ( ss2. clone ( ) ) ;
968+ let ss_fb = ss1. clone ( ) . feedback ( & ss2) ;
969969 let tf_fb = ss_fb. to_tf ( ) . unwrap ( ) ;
970970 assert_abs_diff_eq ! ( tf_fb, 0.5 * Tf :: s( ) / ( Tf :: s( ) + 0.5 ) ) ;
971971
@@ -989,7 +989,7 @@ mod tests {
989989 let ss1 = tf1. to_ss_method ( ControllableCF ) . unwrap ( ) ;
990990 let ss2 = tf2. to_ss_method ( ObservableCF ) . unwrap ( ) ;
991991
992- let ss_fb = ss1. feedback ( ss2) ;
992+ let ss_fb = ss1. feedback ( & ss2) ;
993993 let ss_fb = ss_fb. to_tf ( ) . unwrap ( ) ;
994994 let tf_fb = tf1. feedback ( & tf2) ;
995995
0 commit comments