Merge remote-tracking branch 'origin/master' into YaSp 91/11591/1
Cedric Delamarre [Fri, 24 May 2013 15:15:26 +0000 (17:15 +0200)]
Conflicts:
scilab/modules/core/sci_gateway/c/sci_funcprot.c
scilab/modules/gui/includes/CallHelpBrowser.h
scilab/modules/gui/sci_gateway/c/sci_ClipBoard.c
scilab/modules/gui/sci_gateway/c/sci_helpbrowser.c
scilab/modules/helptools/data/configuration/scilab_macros.txt
scilab/modules/randlib/sci_gateway/randlib_gateway.xml
scilab/modules/sparse/tests/unit_tests/qmr.dia.ref
scilab/modules/sparse/tests/unit_tests/qmr.tst
scilab/modules/statistics/sci_gateway/c/sci_cdfchi.c
scilab/modules/statistics/sci_gateway/c/sci_cdft.c
scilab/modules/string/sci_gateway/c/sci_isnum.c
scilab/modules/string/sci_gateway/c/sci_strtod.c
scilab/modules/windows_tools/sci_gateway/c/sci_dos.c

Change-Id: I0aaa13736c0bd5ceb7447cc0036b642656546f66

50 files changed:
1  2 
scilab/configure
scilab/configure.ac
scilab/modules/cacsd/macros/ccontrg.sci
scilab/modules/cacsd/sci_gateway/c/sci_hinf.c
scilab/modules/cacsd/sci_gateway/c/sci_linmeq.c
scilab/modules/elementary_functions/macros/bitcmp.sci
scilab/modules/graphics/sci_gateway/c/sci_Legend.c
scilab/modules/graphics/sci_gateway/c/sci_StringBox.c
scilab/modules/graphics/sci_gateway/c/sci_copy.c
scilab/modules/graphics/sci_gateway/c/sci_delete.c
scilab/modules/graphics/sci_gateway/c/sci_get.c
scilab/modules/graphics/sci_gateway/c/sci_glue.c
scilab/modules/graphics/sci_gateway/c/sci_is_handle_valid.c
scilab/modules/graphics/sci_gateway/c/sci_move.c
scilab/modules/graphics/sci_gateway/c/sci_relocate_handle.c
scilab/modules/graphics/sci_gateway/c/sci_rotate_axes.c
scilab/modules/graphics/sci_gateway/c/sci_show_window.c
scilab/modules/graphics/sci_gateway/c/sci_swap_handles.c
scilab/modules/graphics/sci_gateway/c/sci_unglue.c
scilab/modules/graphics/sci_gateway/c/sci_unzoom.c
scilab/modules/graphics/sci_gateway/c/sci_zoom_rect.c
scilab/modules/gui/includes/CallHelpBrowser.h
scilab/modules/gui/sci_gateway/c/sci_ClipBoard.c
scilab/modules/gui/sci_gateway/c/sci_exportUI.c
scilab/modules/gui/sci_gateway/c/sci_progressionbar.c
scilab/modules/gui/sci_gateway/c/sci_toolbar.c
scilab/modules/gui/sci_gateway/c/sci_uicontrol.c
scilab/modules/gui/sci_gateway/c/sci_uimenu.c
scilab/modules/gui/sci_gateway/c/sci_uiwait.c
scilab/modules/gui/sci_gateway/c/sci_waitbar.c
scilab/modules/gui/src/cpp/CallHelpBrowser.cpp
scilab/modules/hdf5/sci_gateway/cpp/sci_h5attr.cpp
scilab/modules/hdf5/sci_gateway/cpp/sci_h5dataset.cpp
scilab/modules/hdf5/sci_gateway/cpp/sci_h5exists.cpp
scilab/modules/hdf5/sci_gateway/cpp/sci_h5label.cpp
scilab/modules/hdf5/sci_gateway/cpp/sci_h5read.cpp
scilab/modules/hdf5/sci_gateway/cpp/sci_h5write.cpp
scilab/modules/hdf5/sci_gateway/cpp/sci_percent_H5Object_e.cpp
scilab/modules/hdf5/src/cpp/H5BasicData.hxx
scilab/modules/hdf5/src/cpp/h5create.hpp
scilab/modules/helptools/data/configuration/scilab_macros.txt
scilab/modules/randlib/sci_gateway/randlib_gateway.xml
scilab/modules/sparse/tests/unit_tests/qmr.dia.ref
scilab/modules/sparse/tests/unit_tests/qmr.tst
scilab/modules/special_functions/sci_gateway/c/sci_beta.c
scilab/modules/special_functions/sci_gateway/c/sci_legendre.c
scilab/modules/spreadsheet/src/c/csvWrite.c
scilab/modules/umfpack/sci_gateway/c/sci_taucs_chsolve.c
scilab/modules/windows_tools/sci_gateway/c/sci_dos.c
scilab/test/good/isfield.sci

Simple merge
Simple merge
@@@ -22,7 -24,7 +22,7 @@@
   * @param helpsSize number of entries in helps
   * @param language Scilab current locale
   */
- GUI_IMPEXP void launchHelpBrowser(char **helps, int helpsSize, char *language);
 -int launchHelpBrowser(char **helps, int helpsSize, char *language);
++GUI_IMPEXP int launchHelpBrowser(char **helps, int helpsSize, char *language);
  
  /**
   * Search a keyword in Scilab Help Browser
@@@ -33,7 -35,7 +33,7 @@@
   * @param language Scilab current locale
   * @param fullText true to execute a full-text search
   */
- GUI_IMPEXP void searchKeyword(char **helps, int helpsSize, char *keyword, char *language, BOOL fullText);
 -int searchKeyword(char **helps, int helpsSize, char *keyword, char *language, BOOL fullText);
++GUI_IMPEXP int searchKeyword(char **helps, int helpsSize, char *keyword, char *language, BOOL fullText);
  
  #endif /* !__CALLHELPBROWSER_H__ */
  
  #include "IsAScalar.h"
  #include "freeArrayOfString.h"
  #include "CallClipboard.h"
 +#include "os_strdup.h"
+ #include "FigureList.h"
 -#ifdef _MSC_VER
 -#include "strdup_windows.h"
 -#endif
++
  /*--------------------------------------------------------------------------*/
 -int sci_ClipBoard(char *fname, unsigned long l)
 +int sci_ClipBoard(char *fname, void* pvApiCtx)
  {
      SciErr sciErr;
  
   */
  
  #include "CallHelpBrowser.hxx"
++extern "C"
++{
  #include "BOOL.h"
++#include "Scierror.h"
++#include "localization.h"
++}
  
  using namespace org_scilab_modules_gui_bridge;
  
  %hm_d_s
  %hm_degree
  %hm_e
 -%hm_exp
  %hm_f_hm
- %hm_fft
  %hm_find
 -%hm_floor
  %hm_g_hm
+ %hm_gsort
  %hm_h_hm
  %hm_i_b
  %hm_i_ce
  %sp_round
  %sp_s_s
  %sp_s_sp
 -%sp_sin
  %sp_sqrt
+ %sp_string
  %sp_sum
  %sp_tril
  %sp_triu
@@@ -1,17 -1,9 +1,18 @@@
  <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 +<!DOCTYPE module SYSTEM "../../functions/xml/gateway.dtd">
 +<!--
 +/*
 + *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 + *  Copyright (C) 2011 - DIGITEO - Cedric DELAMARRE
 + *
 + *  This file must be used under the terms of the CeCILL.
 + *  This source file is licensed as described in the file COPYING, which
 + *  you should have received as part of this distribution.  The terms
 + *  are also available at
 + *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
 + *
 + */
 -<!DOCTYPE GATEWAY SYSTEM "../../functions/xml/gateway.dtd">
 -<GATEWAY name="randlib">
 -    <!-- =================== -->
 -    <!--
   Scilab
   Interface description. In this file, we define the list of the function which
   will be available into Scilab and the link to the "native" function.
@@@ -5,7 -5,7 +5,7 @@@
  //  This file is distributed under the same license as the Scilab package.
  // =============================================================================
  // <-- CLI SHELL MODE -->
--// unit tests for qmr() function 
++// unit tests for qmr() function
  // =============================================================================
  warning('off')
  // ----------------
@@@ -85,8 -109,8 +109,8 @@@ assert_checkalmostequal ( xcomputed , x
  // =================================================================================================
  A=[100,1;1,10.];
  b=[101;11];
- [xcomputed, flag, err, iter, res]=qmr(A,b, [1.;1.]);
- assert_checkequal ( iter , 1 );
 -[xcomputed, flag, err, iter, res]=qmr(A,b,x0=[0.5;0.5]);
++[xcomputed, flag, err, iter, res]=qmr(A,b, [0.5;0.5]);
+ assert_checkequal ( iter , 2 );
  // 9. Test the special case where b=0
  // ====================================
  A=[100,1;1,10.];
@@@ -107,8 -131,129 +131,129 @@@ assert_checkalmostequal ( xcomputed , x
  assert_checkequal ( flag , 0);
  assert_checkalmostequal ( err , 1.110d-16, 1e-1);
  assert_checkequal ( iter, 1);
+ // 11. A is a complex full matrix
+ // =========================
+ A = [10 1;1 10] + %i * [1 10;10 1];
+ b = ones(2,1);
+ [xcomputed, flag, err, iter, res]=qmr(A,b);
+ xexpected=[0.0454545-0.0454545*%i;0.0454545-0.0454545*%i];
+ assert_checkalmostequal ( xcomputed , xexpected , 1e-1);
+ assert_checkequal ( flag , 0);
+ assert_checkalmostequal ( err , 1.110d-16, 1e-1);
+ assert_checkequal ( iter, 1);
+ // 12. A is a complex sparse matrix
+ // =========================
+ A = sparse([10 1;1 10] + %i * [1 10;10 1]);
+ b = ones(2,1);
+ [xcomputed, flag, err, iter, res]=qmr(A,b);
+ xexpected=[0.0454545-0.0454545*%i;0.0454545-0.0454545*%i];
+ assert_checkalmostequal ( xcomputed , xexpected , 1e-1);
+ assert_checkequal ( flag , 0);
+ assert_checkalmostequal ( err , 1.110d-16, 1e-1);
+ assert_checkequal ( iter, 1);
+ // 13. b is a complex column vector
+ // =========================
+ A = [10 1;1 10];
+ b = %i * ones(2,1);
+ [xcomputed, flag, err, iter, res]=qmr(A,b);
+ xexpected=%i .* [0.0909091;0.0909091];
+ assert_checkalmostequal ( xcomputed , xexpected , 1e-1);
+ assert_checkequal ( flag , 0);
+ assert_checkalmostequal ( err , 1.110d-16, 1e-1);
+ assert_checkequal ( iter, 1);
+ // 14. b is a complex sparse column vector
+ // =========================
+ A = [10 1;1 10];
+ b = sparse(%i * ones(2,1));
+ [xcomputed, flag, err, iter, res]=qmr(A,b);
+ xexpected=%i .* [0.0909091;0.0909091];
+ assert_checkalmostequal ( xcomputed , xexpected , 1e-1);
+ assert_checkequal ( flag , 0);
+ assert_checkalmostequal ( err , 1.110d-16, 1e-1);
+ assert_checkequal ( iter, 1);
+ // 15. x0 is complex column vector
+ // ===============================
+ A=[10,1;1,10];
+ b=[11;11];
+ x0=%i.*[0.5;0.5];
+ [xcomputed, flag, err, iter, res]=qmr(A,b, x0);
+ xexpected=[1;1];
+ assert_checkalmostequal ( xcomputed , xexpected , %eps);
+ // 16. x0 is sparse column vector
+ // ===============================
+ A=[10,1;1,10];
+ b=[11;11];
+ x0=sparse([0.5;0.5]);
+ [xcomputed, flag, err, iter, res]=qmr(A,b, x0);
+ xexpected=[1;1];
+ assert_checkalmostequal ( xcomputed , xexpected , %eps);
+ // 17. x0 is complex sparse column vector
+ // ===============================
+ A=[10,1;1,10];
+ b=[11;11];
+ x0=sparse(%i .* [0.5;0.5]);
+ [xcomputed, flag, err, iter, res]=qmr(A,b, x0);
+ xexpected=[1;1];
+ assert_checkalmostequal ( xcomputed , xexpected , %eps);
+ // 18. M1 is complex matrix
+ // ========================
+ A=[10,1;1,10];
+ b=[11;11];
+ x0=[0.5;0.5];
+ M1=%i .* [1,0;0,1];
+ [xcomputed, flag, err, iter, res]=qmr(A,b, x0, M1);
+ xexpected=[1;1];
+ assert_checkalmostequal ( xcomputed , xexpected , %eps);
+ // 19. M1 is sparse matrix
+ // =======================
+ A=[10,1;1,10];
+ b=[11;11];
+ x0=[0.5;0.5];
+ M1=sparse([1,0;0,1]);
+ [xcomputed, flag, err, iter, res]=qmr(A,b, x0, M1);
+ xexpected=[1;1];
+ assert_checkalmostequal ( xcomputed , xexpected , %eps);
+ // 20. M1 is complex sparse matrix
+ // ===============================
+ A=[10,1;1,10];
+ b=[11;11];
+ x0=[0.5;0.5];
+ M1=sparse(%i .* [1,0;0,1]);
+ [xcomputed, flag, err, iter, res]=qmr(A,b, x0, M1);
+ xexpected=[1;1];
+ assert_checkalmostequal ( xcomputed , xexpected , %eps);
+ // 21. M2 is complex matrix
+ // ========================
+ A=[10,1;1,10];
+ b=[11;11];
+ x0=[0.5;0.5];
+ M1=[1,0;0,1];
+ M2=%i .* [1,0;0,1];
+ [xcomputed, flag, err, iter, res]=qmr(A,b, x0, M1, M2);
+ xexpected=[1;1];
+ assert_checkalmostequal ( xcomputed , xexpected , %eps);
+ // 22. M2 is sparse matrix
+ // =======================
+ A=[10,1;1,10];
+ b=[11;11];
+ x0=[0.5;0.5];
+ M1=[1,0;0,1];
+ M2=sparse([1,0;0,1]);
+ [xcomputed, flag, err, iter, res]=qmr(A,b, x0, M1, M2);
+ xexpected=[1;1];
+ assert_checkalmostequal ( xcomputed , xexpected , %eps);
+ // 23. M2 is complex sparse matrix
+ // ===============================
+ A=[10,1;1,10];
+ b=[11;11];
+ x0=[0.5;0.5];
+ M1=[1,0;0,1];
+ M2=sparse(%i .* [1,0;0,1]);
+ [xcomputed, flag, err, iter, res]=qmr(A,b, x0, M1, M2);
+ xexpected=[1;1];
+ assert_checkalmostequal ( xcomputed , xexpected , %eps);
  // --------------------
--// If A is a function 
++// If A is a function
  // -------------------
  // 1. Interface
  // =============
@@@ -334,10 -455,15 +455,15 @@@ function y = functionM1t(x
      M1 = eye(2,2);
      y = M1'*x;
  endfunction
+ assert_checkfalse(execstr("qmr(A, b, x0, functionM1)"   ,"errcatch") == 0);
+ refMsg = msprintf(gettext("%s: Wrong prototype of input argument #%d: If M1 is function, use the header M1(x,t) instead M1(x).\n"), "qmr", 4);
+ assert_checkerror("qmr(A, b, x0, functionM1)", refMsg);
+ assert_checkfalse(execstr("qmr(A, b, x0, functionM1, 1)"   ,"errcatch") == 0);
+ refMsg = msprintf(gettext("%s: Wrong type for input argument #%d: A transpose of the function expected.\n"), "qmr", 5);
+ assert_checkerror("qmr(A, b, x0, functionM1, 1)", refMsg);
  [xcomputed, flag, err, iter, res]=qmr(A,b,x0,functionM1,functionM1t);
- xexpected=[1;1];
  assert_checkalmostequal ( xcomputed , xexpected , %eps);
--// Test : A is a matrix, M1 is a function, M2 is a matrix 
++// Test : A is a matrix, M1 is a function, M2 is a matrix
  // ======================================================
  A = [10 1;1 10];
  b = [11;11];
@@@ -6,7 -6,7 +6,7 @@@
  // =============================================================================\r
  // <-- CLI SHELL MODE -->\r
  \r
--// unit tests for qmr() function \r
++// unit tests for qmr() function\r
  // =============================================================================\r
  warning('off')\r
  \r
@@@ -95,8 -131,8 +131,8 @@@ assert_checkalmostequal ( xcomputed , x
  // =================================================================================================\r
  A=[100,1;1,10.];\r
  b=[101;11];\r
- [xcomputed, flag, err, iter, res]=qmr(A,b, [1.;1.]);\r
- assert_checkequal ( iter , 1 );\r
 -[xcomputed, flag, err, iter, res]=qmr(A,b,x0=[0.5;0.5]);\r
++[xcomputed, flag, err, iter, res]=qmr(A,b, [0.5;0.5]);\r
+ assert_checkequal ( iter , 2 );\r
  \r
  // 9. Test the special case where b=0\r
  // ====================================\r
@@@ -120,8 -156,143 +156,143 @@@ assert_checkequal ( flag , 0)
  assert_checkalmostequal ( err , 1.110d-16, 1e-1);\r
  assert_checkequal ( iter, 1);\r
  \r
+ // 11. A is a complex full matrix\r
+ // =========================\r
+ A = [10 1;1 10] + %i * [1 10;10 1];\r
+ b = ones(2,1);\r
+ [xcomputed, flag, err, iter, res]=qmr(A,b);\r
+ xexpected=[0.0454545-0.0454545*%i;0.0454545-0.0454545*%i];\r
+ assert_checkalmostequal ( xcomputed , xexpected , 1e-1);\r
+ assert_checkequal ( flag , 0);\r
+ assert_checkalmostequal ( err , 1.110d-16, 1e-1);\r
+ assert_checkequal ( iter, 1);\r
\r
+ // 12. A is a complex sparse matrix\r
+ // =========================\r
+ A = sparse([10 1;1 10] + %i * [1 10;10 1]);\r
+ b = ones(2,1);\r
+ [xcomputed, flag, err, iter, res]=qmr(A,b);\r
+ xexpected=[0.0454545-0.0454545*%i;0.0454545-0.0454545*%i];\r
+ assert_checkalmostequal ( xcomputed , xexpected , 1e-1);\r
+ assert_checkequal ( flag , 0);\r
+ assert_checkalmostequal ( err , 1.110d-16, 1e-1);\r
+ assert_checkequal ( iter, 1);\r
\r
+ // 13. b is a complex column vector\r
+ // =========================\r
+ A = [10 1;1 10];\r
+ b = %i * ones(2,1);\r
+ [xcomputed, flag, err, iter, res]=qmr(A,b);\r
+ xexpected=%i .* [0.0909091;0.0909091];\r
+ assert_checkalmostequal ( xcomputed , xexpected , 1e-1);\r
+ assert_checkequal ( flag , 0);\r
+ assert_checkalmostequal ( err , 1.110d-16, 1e-1);\r
+ assert_checkequal ( iter, 1);\r
\r
+ // 14. b is a complex sparse column vector\r
+ // =========================\r
+ A = [10 1;1 10];\r
+ b = sparse(%i * ones(2,1));\r
+ [xcomputed, flag, err, iter, res]=qmr(A,b);\r
+ xexpected=%i .* [0.0909091;0.0909091];\r
+ assert_checkalmostequal ( xcomputed , xexpected , 1e-1);\r
+ assert_checkequal ( flag , 0);\r
+ assert_checkalmostequal ( err , 1.110d-16, 1e-1);\r
+ assert_checkequal ( iter, 1);\r
\r
+ // 15. x0 is complex column vector\r
+ // ===============================\r
+ A=[10,1;1,10];\r
+ b=[11;11];\r
+ x0=%i.*[0.5;0.5];\r
+ [xcomputed, flag, err, iter, res]=qmr(A,b, x0);\r
+ xexpected=[1;1];\r
+ assert_checkalmostequal ( xcomputed , xexpected , %eps);\r
\r
+ // 16. x0 is sparse column vector\r
+ // ===============================\r
+ A=[10,1;1,10];\r
+ b=[11;11];\r
+ x0=sparse([0.5;0.5]);\r
+ [xcomputed, flag, err, iter, res]=qmr(A,b, x0);\r
+ xexpected=[1;1];\r
+ assert_checkalmostequal ( xcomputed , xexpected , %eps);\r
\r
+ // 17. x0 is complex sparse column vector\r
+ // ===============================\r
+ A=[10,1;1,10];\r
+ b=[11;11];\r
+ x0=sparse(%i .* [0.5;0.5]);\r
+ [xcomputed, flag, err, iter, res]=qmr(A,b, x0);\r
+ xexpected=[1;1];\r
+ assert_checkalmostequal ( xcomputed , xexpected , %eps);\r
\r
+ // 18. M1 is complex matrix\r
+ // ========================\r
+ A=[10,1;1,10];\r
+ b=[11;11];\r
+ x0=[0.5;0.5];\r
+ M1=%i .* [1,0;0,1];\r
+ [xcomputed, flag, err, iter, res]=qmr(A,b, x0, M1);\r
+ xexpected=[1;1];\r
+ assert_checkalmostequal ( xcomputed , xexpected , %eps);\r
\r
+ // 19. M1 is sparse matrix\r
+ // =======================\r
+ A=[10,1;1,10];\r
+ b=[11;11];\r
+ x0=[0.5;0.5];\r
+ M1=sparse([1,0;0,1]);\r
+ [xcomputed, flag, err, iter, res]=qmr(A,b, x0, M1);\r
+ xexpected=[1;1];\r
+ assert_checkalmostequal ( xcomputed , xexpected , %eps);\r
\r
+ // 20. M1 is complex sparse matrix\r
+ // ===============================\r
+ A=[10,1;1,10];\r
+ b=[11;11];\r
+ x0=[0.5;0.5];\r
+ M1=sparse(%i .* [1,0;0,1]);\r
+ [xcomputed, flag, err, iter, res]=qmr(A,b, x0, M1);\r
+ xexpected=[1;1];\r
+ assert_checkalmostequal ( xcomputed , xexpected , %eps);\r
\r
+ // 21. M2 is complex matrix\r
+ // ========================\r
+ A=[10,1;1,10];\r
+ b=[11;11];\r
+ x0=[0.5;0.5];\r
+ M1=[1,0;0,1];\r
+ M2=%i .* [1,0;0,1];\r
+ [xcomputed, flag, err, iter, res]=qmr(A,b, x0, M1, M2);\r
+ xexpected=[1;1];\r
+ assert_checkalmostequal ( xcomputed , xexpected , %eps);\r
\r
+ // 22. M2 is sparse matrix\r
+ // =======================\r
+ A=[10,1;1,10];\r
+ b=[11;11];\r
+ x0=[0.5;0.5];\r
+ M1=[1,0;0,1];\r
+ M2=sparse([1,0;0,1]);\r
+ [xcomputed, flag, err, iter, res]=qmr(A,b, x0, M1, M2);\r
+ xexpected=[1;1];\r
+ assert_checkalmostequal ( xcomputed , xexpected , %eps);\r
\r
+ // 23. M2 is complex sparse matrix\r
+ // ===============================\r
+ A=[10,1;1,10];\r
+ b=[11;11];\r
+ x0=[0.5;0.5];\r
+ M1=[1,0;0,1];\r
+ M2=sparse(%i .* [1,0;0,1]);\r
+ [xcomputed, flag, err, iter, res]=qmr(A,b, x0, M1, M2);\r
+ xexpected=[1;1];\r
+ assert_checkalmostequal ( xcomputed , xexpected , %eps);\r
\r
\r
  // --------------------\r
--// If A is a function \r
++// If A is a function\r
  // -------------------\r
  \r
  // 1. Interface\r
@@@ -278,13 -458,8 +458,7 @@@ function y = func_qmr(x,t
          y = Amat'*x;\r
      end\r
  endfunction\r
- b = [11;11];\r
- x0 = [1;1];\r
- M1=[1,0;0,1];\r
- M2 = eye(2,2);\r
- maxit = 10;\r
 -\r
  [xcomputed, flag, err, iter, res]=qmr(func_qmr,b,x0,M1,M2,maxit);\r
- xexpected=[1;1];\r
  assert_checkalmostequal ( xcomputed , xexpected , %eps);\r
  \r
  function y = funcA_notransp(x)\r
@@@ -374,11 -539,18 +538,18 @@@ function y = functionM1t(x
      y = M1'*x;\r
  endfunction\r
  \r
+ assert_checkfalse(execstr("qmr(A, b, x0, functionM1)"   ,"errcatch") == 0);\r
+ refMsg = msprintf(gettext("%s: Wrong prototype of input argument #%d: If M1 is function, use the header M1(x,t) instead M1(x).\n"), "qmr", 4);\r
+ assert_checkerror("qmr(A, b, x0, functionM1)", refMsg);\r
\r
+ assert_checkfalse(execstr("qmr(A, b, x0, functionM1, 1)"   ,"errcatch") == 0);\r
+ refMsg = msprintf(gettext("%s: Wrong type for input argument #%d: A transpose of the function expected.\n"), "qmr", 5);\r
+ assert_checkerror("qmr(A, b, x0, functionM1, 1)", refMsg);\r
\r
  [xcomputed, flag, err, iter, res]=qmr(A,b,x0,functionM1,functionM1t);\r
- xexpected=[1;1];\r
  assert_checkalmostequal ( xcomputed , xexpected , %eps);\r
  \r
--// Test : A is a matrix, M1 is a function, M2 is a matrix \r
++// Test : A is a matrix, M1 is a function, M2 is a matrix\r
  // ======================================================\r
  A = [10 1;1 10];\r
  b = [11;11];\r
Simple merge