From bug-octave-request at che dot utexas dot edu Wed May 25 09:55:46 1994 Subject: incorrect behaviour of max() From: "G.Beyerle" To: bug-octave at che dot utexas dot edu Cc: gbeyerle at AWI-Potsdam dot DE Date: Wed, 25 May 94 16:55:15 GMT Hello *, the following does not seem to be correct: ----------------------------------------- octave:1> max(2,1) ans = 1 octave:2> max(2+1i,1+1i) ans = 1 + 1i ----------------------------------------- By comparing the functions column_max() and column_min() in file tc-extras.cc I applied the following patch and the above mentioned problem disappeared. ----------------------------------------- *** tc-extras.cc Wed May 25 14:39:22 1994 --- tc-extras.cc.orig Wed May 25 14:38:17 1994 *************** *** 748,754 **** double result; double a_elem = arg1.double_value (); double b_elem = arg2.double_value (); ! result = MAX (a_elem, b_elem); retval[0] = tree_constant (result); } break; --- 748,754 ---- double result; double a_elem = arg1.double_value (); double b_elem = arg2.double_value (); ! result = MIN (a_elem, b_elem); retval[0] = tree_constant (result); } break; *************** *** 757,763 **** Complex result; Complex a_elem = arg1.complex_value (); Complex b_elem = arg2.complex_value (); ! if (abs(a_elem) > abs(b_elem)) result = a_elem; else result = b_elem; --- 757,763 ---- Complex result; Complex a_elem = arg1.complex_value (); Complex b_elem = arg2.complex_value (); ! if (abs(a_elem) < abs(b_elem)) result = a_elem; else result = b_elem; ----------------------------------------- Octave version : 1.0 System : SunOS 4.1.3_U1 Thanks Georg | Georg Beyerle | | Alfred Wegener Institute of Tel: +49-331-288-2119 | | Polar and Marine Research Fax: +49-331-288-2137 | | POB 600 149 E-Mail: gbeyerle at awi-potsdam dot de| | | D-14401 Potsdam Germany |