summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorClément DAVID <clement.david@esi-group.com>2018-07-30 18:48:30 +0200
committerClément DAVID <clement.david@esi-group.com>2018-07-30 18:48:30 +0200
commitb71aef5a312ccca85e9cd49344ead046cf875ed6 (patch)
treea17591a993d3404a4351e428239b6253627786c4
parent9591c2d291eb9965279c68842600a1210adbf3c0 (diff)
parent3b85a5d2b3adec485bf590f6775e13904f6e14ba (diff)
downloadscilab-b71aef5a312ccca85e9cd49344ead046cf875ed6.zip
scilab-b71aef5a312ccca85e9cd49344ead046cf875ed6.tar.gz
Merge 6.0 into master
Change-Id: Iba764091ba95c7a3a501edd6821c86c069d8f2dc
-rw-r--r--scilab/Makefile.am24
-rwxr-xr-xscilab/bin/scilab5
-rw-r--r--scilab/desktop/scilab-adv-cli.desktop1
-rw-r--r--scilab/desktop/scilab-cli.desktop1
-rw-r--r--scilab/desktop/scilab.desktop3
-rw-r--r--scilab/desktop/scinotes.desktop1
-rw-r--r--scilab/desktop/xcos.desktop1
-rw-r--r--scilab/m4/java.m45
-rw-r--r--scilab/modules/ast/Makefile.am2
-rw-r--r--scilab/modules/ast/Makefile.in47
-rw-r--r--scilab/modules/ast/ast.vcxproj2
-rw-r--r--scilab/modules/ast/includes/ast/deserializervisitor.hxx2
-rw-r--r--scilab/modules/ast/includes/parse/parsescilab.hxx8
-rw-r--r--scilab/modules/ast/includes/symbol/context.hxx4
-rw-r--r--scilab/modules/ast/includes/symbol/variables.hxx4
-rw-r--r--scilab/modules/ast/includes/types/alltypes.hxx1
-rw-r--r--scilab/modules/ast/includes/types/arrayof.hxx2
-rw-r--r--scilab/modules/ast/includes/types/cell.hxx2
-rw-r--r--scilab/modules/ast/includes/types/dtoa.h23
-rw-r--r--scilab/modules/ast/includes/types/graphichandle.hxx2
-rw-r--r--scilab/modules/ast/includes/types/implicitlist.hxx3
-rw-r--r--scilab/modules/ast/includes/types/internal.hxx8
-rw-r--r--scilab/modules/ast/includes/types/library.hxx1
-rw-r--r--scilab/modules/ast/includes/types/list.hxx4
-rw-r--r--scilab/modules/ast/includes/types/macro.hxx2
-rw-r--r--scilab/modules/ast/includes/types/macrofile.hxx2
-rw-r--r--scilab/modules/ast/includes/types/mlist.hxx2
-rw-r--r--scilab/modules/ast/includes/types/polynom.hxx2
-rw-r--r--scilab/modules/ast/includes/types/singlestruct.hxx2
-rw-r--r--scilab/modules/ast/includes/types/sparse.hxx4
-rw-r--r--scilab/modules/ast/includes/types/string.hxx2
-rw-r--r--scilab/modules/ast/includes/types/struct.hxx2
-rw-r--r--scilab/modules/ast/includes/types/tlist.hxx2
-rw-r--r--scilab/modules/ast/includes/types/user.hxx7
-rw-r--r--scilab/modules/ast/locales/ast.pot2
-rw-r--r--scilab/modules/ast/locales/fr_FR.po4
-rw-r--r--scilab/modules/ast/src/c/types/dtoa.c6205
-rw-r--r--scilab/modules/ast/src/cpp/ast/visitor_common.cpp187
-rw-r--r--scilab/modules/ast/src/cpp/operations/types_addition.cpp10
-rw-r--r--scilab/modules/ast/src/cpp/operations/types_divide.cpp2
-rw-r--r--scilab/modules/ast/src/cpp/operations/types_dotdivide.cpp3
-rw-r--r--scilab/modules/ast/src/cpp/operations/types_dotmultiplication.cpp6
-rw-r--r--scilab/modules/ast/src/cpp/operations/types_power.cpp16
-rw-r--r--scilab/modules/ast/src/cpp/operations/types_subtraction.cpp31
-rw-r--r--scilab/modules/ast/src/cpp/parse/bison/parsescilab.output5624
-rw-r--r--scilab/modules/ast/src/cpp/parse/bison/parsescilab.yy1
-rw-r--r--scilab/modules/ast/src/cpp/parse/parsescilab.cpp1970
-rw-r--r--scilab/modules/ast/src/cpp/symbol/context.cpp25
-rw-r--r--scilab/modules/ast/src/cpp/symbol/variables.cpp24
-rw-r--r--scilab/modules/ast/src/cpp/types/arrayof.cpp8
-rw-r--r--scilab/modules/ast/src/cpp/types/cell.cpp19
-rw-r--r--scilab/modules/ast/src/cpp/types/graphichandle.cpp6
-rw-r--r--scilab/modules/ast/src/cpp/types/implicitlist.cpp7
-rw-r--r--scilab/modules/ast/src/cpp/types/library.cpp12
-rw-r--r--scilab/modules/ast/src/cpp/types/list.cpp18
-rw-r--r--scilab/modules/ast/src/cpp/types/macro.cpp11
-rw-r--r--scilab/modules/ast/src/cpp/types/macrofile.cpp5
-rw-r--r--scilab/modules/ast/src/cpp/types/mlist.cpp19
-rw-r--r--scilab/modules/ast/src/cpp/types/polynom.cpp14
-rw-r--r--scilab/modules/ast/src/cpp/types/singlestruct.cpp19
-rw-r--r--scilab/modules/ast/src/cpp/types/sparse.cpp15
-rw-r--r--scilab/modules/ast/src/cpp/types/string.cpp11
-rw-r--r--scilab/modules/ast/src/cpp/types/struct.cpp19
-rw-r--r--scilab/modules/ast/src/cpp/types/tlist.cpp18
-rw-r--r--scilab/modules/ast/src/cpp/types/tostring_common.cpp100
-rw-r--r--scilab/modules/ast/src/cpp/types/types_tools.cpp137
-rw-r--r--scilab/modules/ast/tests/nonreg_tests/bug_10918.tst (renamed from scilab/modules/graphics/tests/nonreg_tests/bug_8163.dia.ref)18
-rw-r--r--scilab/modules/ast/tests/nonreg_tests/bug_11228.dia.ref24
-rw-r--r--scilab/modules/ast/tests/nonreg_tests/bug_11228.tst22
-rw-r--r--scilab/modules/ast/tests/nonreg_tests/bug_13936.tst34
-rw-r--r--scilab/modules/ast/tests/nonreg_tests/bug_14708.tst39
-rw-r--r--scilab/modules/ast/tests/nonreg_tests/bug_15552.tst28
-rw-r--r--scilab/modules/ast/tests/nonreg_tests/bug_15621.tst21
-rw-r--r--scilab/modules/ast/tests/nonreg_tests/bug_15630.tst26
-rw-r--r--scilab/modules/ast/tests/nonreg_tests/bug_15632.tst19
-rw-r--r--scilab/modules/ast/tests/nonreg_tests/bug_15653.tst19
-rw-r--r--scilab/modules/ast/tests/nonreg_tests/bug_6434.tst29
-rw-r--r--scilab/modules/ast/tests/nonreg_tests/bug_8391.tst29
-rw-r--r--scilab/modules/ast/tests/nonreg_tests/bug_8767.tst (renamed from scilab/modules/core/tests/nonreg_tests/bug_5607.dia.ref)17
-rw-r--r--scilab/modules/ast/tests/unit_tests/sparse.dia.ref12
-rw-r--r--scilab/modules/ast/tests/unit_tests/sparse.tst12
-rw-r--r--scilab/modules/atoms/help/en_US/atomsLoad.xml50
-rw-r--r--scilab/modules/atoms/macros/atomsInstall.sci9
-rw-r--r--scilab/modules/atoms/macros/atomsRemove.sci14
-rw-r--r--scilab/modules/atoms/macros/atoms_internals/atomsDESCRIPTIONget.sci4
-rw-r--r--scilab/modules/atoms/macros/atoms_internals/atomsDisp.sci14
-rw-r--r--scilab/modules/atoms/macros/atoms_internals/atomsIsPackage.sci8
-rw-r--r--scilab/modules/boolean/Makefile.am4
-rw-r--r--scilab/modules/boolean/Makefile.in4
-rw-r--r--scilab/modules/boolean/boolean.iss2
-rw-r--r--scilab/modules/boolean/help/fr_FR/addchapter.sce14
-rwxr-xr-xscilab/modules/boolean/help/ja_JP/addchapter.sce14
-rw-r--r--scilab/modules/boolean/help/pt_BR/addchapter.sce14
-rw-r--r--scilab/modules/boolean/help/ru_RU/addchapter.sce14
-rw-r--r--scilab/modules/boolean/sci_gateway/boolean_gateway.xml44
-rw-r--r--scilab/modules/boolean/tests/unit_tests/or.tst11
-rw-r--r--scilab/modules/cacsd/demos/flat/car.sci2
-rw-r--r--scilab/modules/cacsd/demos/flat/truck.sci2
-rw-r--r--scilab/modules/cacsd/demos/tracking/track.dem.sce6
-rw-r--r--scilab/modules/cacsd/macros/arhnk.sci4
-rw-r--r--scilab/modules/cacsd/macros/armax.sci2
-rw-r--r--scilab/modules/cacsd/macros/armax1.sci8
-rw-r--r--scilab/modules/cacsd/macros/arsimul.sci8
-rw-r--r--scilab/modules/cacsd/macros/bloc2ss.sci6
-rw-r--r--scilab/modules/cacsd/macros/canon.sci3
-rw-r--r--scilab/modules/cacsd/macros/cont_frm.sci6
-rw-r--r--scilab/modules/cacsd/macros/csim.sci2
-rw-r--r--scilab/modules/cacsd/macros/dscr.sci2
-rw-r--r--scilab/modules/cacsd/macros/dtsi.sci10
-rw-r--r--scilab/modules/cacsd/macros/epred.sci8
-rw-r--r--scilab/modules/cacsd/macros/equil1.sci8
-rw-r--r--scilab/modules/cacsd/macros/evans.sci2
-rw-r--r--scilab/modules/cacsd/macros/fstabst.sci2
-rw-r--r--scilab/modules/cacsd/macros/h_cl.sci11
-rw-r--r--scilab/modules/cacsd/macros/imrep2ss.sci2
-rw-r--r--scilab/modules/cacsd/macros/macglov.sci6
-rw-r--r--scilab/modules/cacsd/macros/markp2ss.sci7
-rw-r--r--scilab/modules/cacsd/macros/narsimul.sci14
-rw-r--r--scilab/modules/cacsd/macros/nehari.sci4
-rw-r--r--scilab/modules/cacsd/macros/prbs_a.sci2
-rw-r--r--scilab/modules/cacsd/macros/ric_desc.sci6
-rw-r--r--scilab/modules/cacsd/macros/riccati.sci2
-rw-r--r--scilab/modules/cacsd/macros/ss2des.sci4
-rw-r--r--scilab/modules/cacsd/macros/ss2tf.sci2
-rw-r--r--scilab/modules/cacsd/macros/sysdiag.sci12
-rw-r--r--scilab/modules/cacsd/macros/syslin.sci4
-rw-r--r--scilab/modules/cacsd/macros/tf2des.sci6
-rw-r--r--scilab/modules/cacsd/tests/nonreg_tests/bug_4216.tst22
-rw-r--r--scilab/modules/commons/src/java/org/scilab/modules/commons/gui/ScilabGUIUtilities.java35
-rw-r--r--scilab/modules/compatibility_functions/help/en_US/mtlb_logic.xml26
-rw-r--r--scilab/modules/compatibility_functions/help/en_US/mtlb_mode.xml82
-rw-r--r--scilab/modules/compatibility_functions/help/fr_FR/mtlb_logic.xml41
-rw-r--r--scilab/modules/compatibility_functions/help/fr_FR/mtlb_mode.xml78
-rw-r--r--scilab/modules/compatibility_functions/help/ja_JP/mtlb_mode.xml78
-rw-r--r--scilab/modules/compatibility_functions/help/pt_BR/mtlb_mode.xml80
-rw-r--r--scilab/modules/compatibility_functions/help/ru_RU/mtlb_mode.xml80
-rw-r--r--scilab/modules/compatibility_functions/macros/mtlb_more.sci6
-rw-r--r--scilab/modules/compatibility_functions/macros/mtlb_std.sci3
-rw-r--r--scilab/modules/compatibility_functions/tests/nonreg_tests/bug_15557.tst20
-rw-r--r--scilab/modules/compatibility_functions/tests/unit_tests/mtlb_std.dia.ref15
-rw-r--r--scilab/modules/compatibility_functions/tests/unit_tests/mtlb_std.tst3
-rw-r--r--scilab/modules/console/Makefile.am4
-rw-r--r--scilab/modules/console/Makefile.in4
-rw-r--r--scilab/modules/console/console.iss3
-rw-r--r--scilab/modules/console/help/en_US/clc.xml6
-rw-r--r--scilab/modules/console/help/fr_FR/clc.xml6
-rw-r--r--scilab/modules/console/help/ja_JP/clc.xml6
-rw-r--r--scilab/modules/console/help/ru_RU/clc.xml6
-rw-r--r--scilab/modules/console/sci_gateway/console_gateway.xml41
-rw-r--r--scilab/modules/core/Makefile.am4
-rw-r--r--scilab/modules/core/Makefile.in4
-rw-r--r--scilab/modules/core/core.iss2
-rw-r--r--scilab/modules/core/demos/intro/systems.dem.sce2
-rw-r--r--scilab/modules/core/help/en_US/1_keywords/less.xml13
-rw-r--r--scilab/modules/core/help/en_US/configuration/with_tk.xml20
-rw-r--r--scilab/modules/core/help/en_US/variables/who.xml4
-rw-r--r--scilab/modules/core/help/fr_FR/2_control_flow/end.xml9
-rw-r--r--scilab/modules/core/help/fr_FR/2_control_flow/for.xml2
-rw-r--r--scilab/modules/core/help/fr_FR/variables/who.xml4
-rw-r--r--scilab/modules/core/help/ja_JP/1_keywords/less.xml9
-rw-r--r--scilab/modules/core/help/ja_JP/configuration/with_tk.xml20
-rw-r--r--scilab/modules/core/help/ja_JP/variables/who.xml6
-rw-r--r--scilab/modules/core/help/pt_BR/1_keywords/less.xml9
-rw-r--r--scilab/modules/core/help/pt_BR/1_keywords/minus.xml2
-rw-r--r--scilab/modules/core/help/pt_BR/configuration/with_tk.xml42
-rw-r--r--scilab/modules/core/help/pt_BR/variables/who.xml7
-rw-r--r--scilab/modules/core/help/ru_RU/1_keywords/less.xml18
-rw-r--r--scilab/modules/core/help/ru_RU/configuration/with_tk.xml20
-rw-r--r--scilab/modules/core/help/ru_RU/variables/who.xml8
-rw-r--r--scilab/modules/core/includes/gw_core.h2
-rw-r--r--scilab/modules/core/macros/whos.sci15
-rw-r--r--scilab/modules/core/macros/with_tk.sci1
-rw-r--r--scilab/modules/core/sci_gateway/c/sci_mtlb_mode.c24
-rw-r--r--scilab/modules/core/sci_gateway/core_gateway.xml84
-rw-r--r--scilab/modules/core/sci_gateway/cpp/sci_fieldnames.cpp2
-rw-r--r--scilab/modules/core/sci_gateway/cpp/sci_who.cpp26
-rw-r--r--scilab/modules/core/src/c/core.vcxproj1
-rw-r--r--scilab/modules/core/src/c/core.vcxproj.filters2
-rw-r--r--scilab/modules/core/src/fortran/core_f.vfproj1
-rw-r--r--scilab/modules/core/src/fortran/core_f2c.vcxproj1
-rw-r--r--scilab/modules/core/src/fortran/core_f2c.vcxproj.filters1
-rw-r--r--scilab/modules/core/tests/nonreg_tests/bug_14606.linux.dia.ref91
-rw-r--r--scilab/modules/core/tests/nonreg_tests/bug_14606.macosx.dia.ref93
-rw-r--r--scilab/modules/core/tests/nonreg_tests/bug_14606.tst59
-rw-r--r--scilab/modules/core/tests/nonreg_tests/bug_14606.win.dia.ref93
-rw-r--r--scilab/modules/core/tests/nonreg_tests/bug_6726.dia.ref31
-rw-r--r--scilab/modules/core/tests/nonreg_tests/bug_6726.tst29
-rw-r--r--scilab/modules/core/tests/unit_tests/mtlb_mode.dia.ref25
-rw-r--r--scilab/modules/core/tests/unit_tests/mtlb_mode.tst31
-rw-r--r--scilab/modules/data_structures/Makefile.am4
-rw-r--r--scilab/modules/data_structures/Makefile.in4
-rw-r--r--scilab/modules/data_structures/data_structures.iss2
-rw-r--r--scilab/modules/data_structures/help/en_US/bool2s.xml (renamed from scilab/modules/boolean/help/en_US/bool2s.xml)1
-rw-r--r--scilab/modules/data_structures/help/en_US/types/boolean.xml (renamed from scilab/modules/data_structures/help/en_US/boolean.xml)0
-rw-r--r--scilab/modules/data_structures/help/en_US/types/hypermat.xml105
-rw-r--r--scilab/modules/data_structures/help/en_US/types/hypermatrices.xml (renamed from scilab/modules/data_structures/help/en_US/hypermatrices.xml)0
-rw-r--r--scilab/modules/data_structures/help/en_US/types/matrices.xml (renamed from scilab/modules/data_structures/help/en_US/matrices.xml)0
-rw-r--r--scilab/modules/data_structures/help/en_US/types/type.xml (renamed from scilab/modules/data_structures/help/en_US/type.xml)17
-rw-r--r--scilab/modules/data_structures/help/en_US/types/typename.xml (renamed from scilab/modules/data_structures/help/en_US/typename.xml)0
-rw-r--r--scilab/modules/data_structures/help/en_US/types/typeof.xml (renamed from scilab/modules/data_structures/help/en_US/typeof.xml)2
-rw-r--r--scilab/modules/data_structures/help/fr_FR/bool2s.xml (renamed from scilab/modules/boolean/help/fr_FR/bool2s.xml)1
-rw-r--r--scilab/modules/data_structures/help/fr_FR/types/boolean.xml (renamed from scilab/modules/data_structures/help/fr_FR/boolean.xml)0
-rw-r--r--scilab/modules/data_structures/help/fr_FR/types/hypermat.xml86
-rw-r--r--scilab/modules/data_structures/help/fr_FR/types/hypermatrices.xml (renamed from scilab/modules/data_structures/help/fr_FR/hypermatrices.xml)0
-rw-r--r--scilab/modules/data_structures/help/fr_FR/types/matrices.xml (renamed from scilab/modules/data_structures/help/fr_FR/matrices.xml)0
-rw-r--r--scilab/modules/data_structures/help/fr_FR/types/type.xml (renamed from scilab/modules/data_structures/help/fr_FR/type.xml)18
-rw-r--r--scilab/modules/data_structures/help/fr_FR/types/typename.xml (renamed from scilab/modules/data_structures/help/fr_FR/typename.xml)0
-rw-r--r--scilab/modules/data_structures/help/fr_FR/types/typeof.xml (renamed from scilab/modules/data_structures/help/fr_FR/typeof.xml)2
-rw-r--r--scilab/modules/data_structures/help/ja_JP/bool2s.xml (renamed from scilab/modules/boolean/help/ja_JP/bool2s.xml)1
-rw-r--r--scilab/modules/data_structures/help/ja_JP/types/boolean.xml (renamed from scilab/modules/data_structures/help/ja_JP/boolean.xml)0
-rw-r--r--scilab/modules/data_structures/help/ja_JP/types/hypermat.xml84
-rw-r--r--scilab/modules/data_structures/help/ja_JP/types/hypermatrices.xml (renamed from scilab/modules/data_structures/help/ja_JP/hypermatrices.xml)0
-rw-r--r--scilab/modules/data_structures/help/ja_JP/types/matrices.xml (renamed from scilab/modules/data_structures/help/ja_JP/matrices.xml)0
-rw-r--r--scilab/modules/data_structures/help/ja_JP/types/type.xml (renamed from scilab/modules/data_structures/help/ja_JP/type.xml)17
-rw-r--r--scilab/modules/data_structures/help/ja_JP/types/typename.xml (renamed from scilab/modules/data_structures/help/ja_JP/typename.xml)0
-rw-r--r--scilab/modules/data_structures/help/pt_BR/bool2s.xml (renamed from scilab/modules/boolean/help/pt_BR/bool2s.xml)21
-rw-r--r--scilab/modules/data_structures/help/pt_BR/types/boolean.xml (renamed from scilab/modules/data_structures/help/pt_BR/boolean.xml)0
-rw-r--r--scilab/modules/data_structures/help/pt_BR/types/hypermat.xml94
-rw-r--r--scilab/modules/data_structures/help/pt_BR/types/hypermatrices.xml (renamed from scilab/modules/data_structures/help/pt_BR/hypermatrices.xml)0
-rw-r--r--scilab/modules/data_structures/help/pt_BR/types/matrices.xml (renamed from scilab/modules/data_structures/help/pt_BR/matrices.xml)0
-rw-r--r--scilab/modules/data_structures/help/pt_BR/types/type.xml (renamed from scilab/modules/data_structures/help/pt_BR/type.xml)0
-rw-r--r--scilab/modules/data_structures/help/pt_BR/types/typename.xml (renamed from scilab/modules/data_structures/help/pt_BR/typename.xml)0
-rw-r--r--scilab/modules/data_structures/help/pt_BR/types/typeof.xml (renamed from scilab/modules/data_structures/help/pt_BR/typeof.xml)2
-rw-r--r--scilab/modules/data_structures/help/ru_RU/types/boolean.xml (renamed from scilab/modules/data_structures/help/ru_RU/boolean.xml)0
-rw-r--r--scilab/modules/data_structures/help/ru_RU/types/hypermat.xml99
-rw-r--r--scilab/modules/data_structures/help/ru_RU/types/hypermatrices.xml (renamed from scilab/modules/data_structures/help/ru_RU/hypermatrices.xml)0
-rw-r--r--scilab/modules/data_structures/help/ru_RU/types/matrices.xml (renamed from scilab/modules/data_structures/help/ru_RU/matrices.xml)0
-rw-r--r--scilab/modules/data_structures/help/ru_RU/types/type.xml (renamed from scilab/modules/data_structures/help/ru_RU/type.xml)0
-rw-r--r--scilab/modules/data_structures/help/ru_RU/types/typename.xml (renamed from scilab/modules/data_structures/help/ru_RU/typename.xml)0
-rw-r--r--scilab/modules/data_structures/sci_gateway/data_structures_gateway.xml49
-rw-r--r--scilab/modules/data_structures/src/c/data_structures.vcxproj1
-rw-r--r--scilab/modules/data_structures/src/c/data_structures.vcxproj.filters1
-rw-r--r--scilab/modules/data_structures/tests/nonreg_tests/bug_13306.tst30
-rw-r--r--scilab/modules/demo_tools/macros/resize_demo_gui.sci5
-rw-r--r--scilab/modules/development_tools/macros/test_run.sci21
-rw-r--r--scilab/modules/development_tools/tests/unit_tests/test_run_export.tst22
-rw-r--r--scilab/modules/differential_equations/demos/flow/blackhole_interface.sci12
-rw-r--r--scilab/modules/differential_equations/demos/n_pendulum/n_pendulum.sci6
-rw-r--r--scilab/modules/differential_equations/demos/wheel/wheel_show.sci4
-rw-r--r--scilab/modules/differential_equations/tests/unit_tests/bvode.dia.ref2
-rw-r--r--scilab/modules/differential_equations/tests/unit_tests/bvode.tst2
-rw-r--r--scilab/modules/differential_equations/tests/unit_tests/bvode_tst.sci12
-rw-r--r--scilab/modules/dynamic_link/Makefile.am4
-rw-r--r--scilab/modules/dynamic_link/Makefile.in4
-rw-r--r--scilab/modules/dynamic_link/dynamic_link.iss2
-rw-r--r--scilab/modules/dynamic_link/sci_gateway/dynamic_link_gateway.xml47
-rw-r--r--scilab/modules/dynamic_link/src/c/dynamic_link.vcxproj1
-rw-r--r--scilab/modules/dynamic_link/src/c/dynamic_link.vcxproj.filters1
-rw-r--r--scilab/modules/elementary_functions/Makefile.am9
-rw-r--r--scilab/modules/elementary_functions/Makefile.in47
-rw-r--r--scilab/modules/elementary_functions/elementary_functions.iss2
-rw-r--r--scilab/modules/elementary_functions/help/en_US/discrete/lcm.xml164
-rw-r--r--scilab/modules/elementary_functions/help/en_US/elementarymatrices/empty.xml42
-rw-r--r--scilab/modules/elementary_functions/help/en_US/elementarymatrices/grand.xml (renamed from scilab/modules/randlib/help/en_US/grand.xml)1
-rw-r--r--scilab/modules/elementary_functions/help/en_US/matrixoperations/norm.xml4
-rw-r--r--scilab/modules/elementary_functions/help/en_US/matrixoperations/or.xml2
-rw-r--r--scilab/modules/elementary_functions/help/en_US/modulo.xml74
-rw-r--r--scilab/modules/elementary_functions/help/fr_FR/discrete/lcm.xml183
-rw-r--r--scilab/modules/elementary_functions/help/fr_FR/elementarymatrices/empty.xml46
-rw-r--r--scilab/modules/elementary_functions/help/fr_FR/elementarymatrices/grand.xml (renamed from scilab/modules/randlib/help/fr_FR/grand.xml)1
-rw-r--r--scilab/modules/elementary_functions/help/fr_FR/matrixoperations/norm.xml5
-rw-r--r--scilab/modules/elementary_functions/help/fr_FR/matrixoperations/or.xml2
-rw-r--r--scilab/modules/elementary_functions/help/fr_FR/modulo.xml72
-rw-r--r--scilab/modules/elementary_functions/help/ja_JP/discrete/lcm.xml179
-rw-r--r--scilab/modules/elementary_functions/help/ja_JP/elementarymatrices/empty.xml47
-rw-r--r--scilab/modules/elementary_functions/help/ja_JP/elementarymatrices/grand.xml (renamed from scilab/modules/randlib/help/ja_JP/grand.xml)1
-rw-r--r--scilab/modules/elementary_functions/help/ja_JP/matrixoperations/norm.xml5
-rw-r--r--scilab/modules/elementary_functions/help/ja_JP/modulo.xml63
-rw-r--r--scilab/modules/elementary_functions/help/pt_BR/discrete/lcm.xml172
-rw-r--r--scilab/modules/elementary_functions/help/pt_BR/elementarymatrices/empty.xml53
-rw-r--r--scilab/modules/elementary_functions/help/pt_BR/matrixoperations/norm.xml5
-rw-r--r--scilab/modules/elementary_functions/help/pt_BR/modulo.xml133
-rw-r--r--scilab/modules/elementary_functions/help/ru_RU/discrete/lcm.xm234
-rw-r--r--scilab/modules/elementary_functions/help/ru_RU/elementarymatrices/empty.xml46
-rw-r--r--scilab/modules/elementary_functions/help/ru_RU/elementarymatrices/grand.xml (renamed from scilab/modules/randlib/help/ru_RU/grand.xml)1
-rw-r--r--scilab/modules/elementary_functions/help/ru_RU/matrixoperations/norm.xml5
-rw-r--r--scilab/modules/elementary_functions/help/ru_RU/modulo.xml125
-rw-r--r--scilab/modules/elementary_functions/includes/elem_func_gw.hxx40
-rw-r--r--scilab/modules/elementary_functions/includes/gw_elementary_functions.h2
-rw-r--r--scilab/modules/elementary_functions/macros/modulo.sci26
-rw-r--r--scilab/modules/elementary_functions/macros/pmodulo.sci37
-rw-r--r--scilab/modules/elementary_functions/sci_gateway/c/sci_nearfloat.c193
-rw-r--r--scilab/modules/elementary_functions/sci_gateway/cpp/elem_func_gw/elem_func_gw.vcxproj2
-rw-r--r--scilab/modules/elementary_functions/sci_gateway/cpp/elem_func_gw/elem_func_gw.vcxproj.filters8
-rw-r--r--scilab/modules/elementary_functions/sci_gateway/cpp/sci_int.cpp16
-rw-r--r--scilab/modules/elementary_functions/sci_gateway/cpp/sci_nearfloat.cpp107
-rw-r--r--scilab/modules/elementary_functions/sci_gateway/elementary_functions_gateway.xml93
-rw-r--r--scilab/modules/elementary_functions/src/c/basic_functions.c5
-rw-r--r--scilab/modules/elementary_functions/src/c/elementary_functions.vcxproj1
-rw-r--r--scilab/modules/elementary_functions/src/c/elementary_functions.vcxproj.filters1
-rw-r--r--scilab/modules/elementary_functions/src/fortran/elementary_functions_f.vfproj2
-rw-r--r--scilab/modules/elementary_functions/src/fortran/elementary_functions_f2c.vcxproj3
-rw-r--r--scilab/modules/elementary_functions/src/fortran/elementary_functions_f2c.vcxproj.filters7
-rw-r--r--scilab/modules/elementary_functions/src/fortran/nearfloat.f165
-rw-r--r--scilab/modules/elementary_functions/tests/nonreg_tests/bug_15629.tst24
-rw-r--r--scilab/modules/elementary_functions/tests/nonreg_tests/bug_6304.tst19
-rw-r--r--scilab/modules/elementary_functions/tests/nonreg_tests/bug_6939.tst25
-rw-r--r--scilab/modules/elementary_functions/tests/unit_tests/modulo.dia.ref63
-rw-r--r--scilab/modules/elementary_functions/tests/unit_tests/modulo.tst50
-rw-r--r--scilab/modules/fftw/tests/nonreg_tests/bug_5081.dia.ref4
-rw-r--r--scilab/modules/fftw/tests/nonreg_tests/bug_5081.tst4
-rw-r--r--scilab/modules/fileio/Makefile.am4
-rw-r--r--scilab/modules/fileio/Makefile.in4
-rw-r--r--scilab/modules/fileio/fileio.iss2
-rw-r--r--scilab/modules/fileio/fileio.vcxproj1
-rw-r--r--scilab/modules/fileio/fileio.vcxproj.filters1
-rw-r--r--scilab/modules/fileio/sci_gateway/fileio_gateway.xml87
-rw-r--r--scilab/modules/fileio/src/cpp/mgetl.cpp2
-rw-r--r--scilab/modules/fileio/tests/nonreg_tests/bug_15526.tst38
-rw-r--r--scilab/modules/functions/help/en_US/deff.xml74
-rw-r--r--scilab/modules/functions/help/en_US/overloading.xml14
-rw-r--r--scilab/modules/functions/help/en_US/whereis.xml13
-rw-r--r--scilab/modules/functions/help/ja_JP/deff.xml137
-rw-r--r--scilab/modules/functions/help/ja_JP/overloading.xml14
-rw-r--r--scilab/modules/functions/help/pt_BR/deff.xml86
-rw-r--r--scilab/modules/functions/help/pt_BR/overloading.xml2
-rw-r--r--scilab/modules/functions/help/ru_RU/deff.xml76
-rw-r--r--scilab/modules/functions/help/ru_RU/overloading.xml14
-rw-r--r--scilab/modules/functions/macros/tree2code.sci52
-rw-r--r--scilab/modules/functions/tests/unit_tests/tree2code.tst41
-rw-r--r--scilab/modules/functions/tests/unit_tests/whereis.tst4
-rw-r--r--scilab/modules/graph/src/java/org/scilab/modules/graph/ScilabCanvas.java8
-rw-r--r--scilab/modules/graphic_objects/Makefile.am4
-rw-r--r--scilab/modules/graphic_objects/Makefile.in3
-rw-r--r--scilab/modules/graphic_objects/sci_gateway/graphic_objects_gateway.xml25
-rw-r--r--scilab/modules/graphic_objects/src/c/graphic_objects.vcxproj1
-rw-r--r--scilab/modules/graphic_objects/src/c/graphic_objects.vcxproj.filters1
-rw-r--r--scilab/modules/graphics/demos/2d_3d_plots/contourf2.dem.sce2
-rw-r--r--scilab/modules/graphics/demos/2d_3d_plots/subplot.dem.sce4
-rw-r--r--scilab/modules/graphics/demos/basic_functions/basic_functions_1.dem.sce4
-rw-r--r--scilab/modules/graphics/demos/bezier/Macros.sci6
-rw-r--r--scilab/modules/graphics/help/en_US/datatips/datatipManagerMode.xml2
-rw-r--r--scilab/modules/graphics/help/en_US/datatips/datatipToggle.xml18
-rw-r--r--scilab/modules/graphics/help/en_US/datatips/datatips.xml12
-rw-r--r--scilab/modules/graphics/help/en_US/interaction/event_handler_functions.xml6
-rw-r--r--scilab/modules/graphics/help/en_US/polygon/polyline_properties.xml21
-rw-r--r--scilab/modules/graphics/help/ja_JP/datatips/datatipManagerMode.xml2
-rw-r--r--scilab/modules/graphics/help/ja_JP/datatips/datatipToggle.xml24
-rw-r--r--scilab/modules/graphics/help/ja_JP/datatips/datatips.xml6
-rw-r--r--scilab/modules/graphics/help/ja_JP/interaction/event_handler_functions.xml6
-rw-r--r--scilab/modules/graphics/help/ja_JP/polygon/polyline_properties.xml586
-rw-r--r--scilab/modules/graphics/help/pt_BR/interaction/event_handler_functions.xml6
-rw-r--r--scilab/modules/graphics/macros/%_fec.sci2
-rw-r--r--scilab/modules/graphics/macros/%h_set.sci29
-rw-r--r--scilab/modules/graphics/macros/fac3d.sci2
-rw-r--r--scilab/modules/graphics/macros/plot.sci66
-rw-r--r--scilab/modules/graphics/macros/xload.sci87
-rw-r--r--scilab/modules/graphics/sci_gateway/c/sci_color.c18
-rw-r--r--scilab/modules/graphics/tests/nonreg_tests/bug_15670.tst24
-rw-r--r--scilab/modules/graphics/tests/nonreg_tests/bug_2935.dia.ref12
-rw-r--r--scilab/modules/graphics/tests/nonreg_tests/bug_2935.tst12
-rw-r--r--scilab/modules/graphics/tests/nonreg_tests/bug_8163.tst4
-rw-r--r--scilab/modules/graphics/tests/nonreg_tests/bug_9539.tst22
-rw-r--r--scilab/modules/graphics/tests/unit_tests/xload.tst105
-rw-r--r--scilab/modules/gui/help/en_US/uicontrol.xml2
-rw-r--r--scilab/modules/gui/help/ja_JP/uicontrol.xml2
-rw-r--r--scilab/modules/gui/sci_gateway/cpp/sci_datatip_toggle.cpp4
-rw-r--r--scilab/modules/gui/src/java/org/scilab/modules/gui/helpbrowser/ScilabHelpBrowser.java4
-rw-r--r--scilab/modules/gui/src/java/org/scilab/modules/gui/tabfactory/ScilabTabFactory.java2
-rw-r--r--scilab/modules/helptools/data/configuration/scilab_macros.txt8
-rw-r--r--scilab/modules/helptools/images/CONVERT.pngbin3586 -> 6051 bytes
-rw-r--r--scilab/modules/helptools/images/TrigFun.pngbin3776 -> 7571 bytes
-rw-r--r--scilab/modules/history_browser/src/java/org/scilab/modules/history_browser/CommandHistory.java4
-rw-r--r--scilab/modules/history_manager/Makefile.am4
-rw-r--r--scilab/modules/history_manager/Makefile.in4
-rw-r--r--scilab/modules/history_manager/history_manager.iss2
-rw-r--r--scilab/modules/history_manager/sci_gateway/history_manager_gateway.xml48
-rw-r--r--scilab/modules/history_manager/src/c/history_manager.vcxproj1
-rw-r--r--scilab/modules/history_manager/src/c/history_manager.vcxproj.filters1
-rw-r--r--scilab/modules/integer/Makefile.am4
-rw-r--r--scilab/modules/integer/Makefile.in4
-rw-r--r--scilab/modules/integer/integer.iss2
-rw-r--r--scilab/modules/integer/macros/%i_a_s.sci10
-rw-r--r--scilab/modules/integer/macros/%i_b_i.sci (renamed from scilab/modules/boolean/help/en_US/addchapter.sce)9
-rw-r--r--scilab/modules/integer/macros/%i_s_s.sci11
-rw-r--r--scilab/modules/integer/macros/%s_a_i.sci9
-rw-r--r--scilab/modules/integer/macros/%s_s_i.sci10
-rw-r--r--scilab/modules/integer/sci_gateway/integer_gateway.xml66
-rw-r--r--scilab/modules/integer/src/c/integer.vcxproj1
-rw-r--r--scilab/modules/integer/src/c/integer.vcxproj.filters1
-rw-r--r--scilab/modules/integer/tests/nonreg_tests/bug_7641.tst25
-rw-r--r--scilab/modules/io/Makefile.am4
-rw-r--r--scilab/modules/io/Makefile.in4
-rw-r--r--scilab/modules/io/help/en_US/load.xml287
-rw-r--r--scilab/modules/io/help/ja_JP/load.xml155
-rw-r--r--scilab/modules/io/help/pt_BR/load.xml111
-rw-r--r--scilab/modules/io/io.iss2
-rw-r--r--scilab/modules/io/sci_gateway/io_gateway.xml60
-rw-r--r--scilab/modules/io/src/c/io.vcxproj1
-rw-r--r--scilab/modules/io/src/c/io.vcxproj.filters1
-rw-r--r--scilab/modules/jvm/help/en_US/system_getproperty.xml31
-rw-r--r--scilab/modules/jvm/help/en_US/system_setproperty.xml21
-rw-r--r--scilab/modules/jvm/help/ja_JP/system_getproperty.xml23
-rw-r--r--scilab/modules/jvm/help/ja_JP/system_setproperty.xml18
-rw-r--r--scilab/modules/linear_algebra/Makefile.am4
-rw-r--r--scilab/modules/linear_algebra/Makefile.in3
-rw-r--r--scilab/modules/linear_algebra/help/en_US/linear/inv.xml3
-rw-r--r--scilab/modules/linear_algebra/help/en_US/matrix/rank.xml3
-rw-r--r--scilab/modules/linear_algebra/help/en_US/matrix/rcond.xml40
-rw-r--r--scilab/modules/linear_algebra/help/fr_FR/linear/inv.xml3
-rw-r--r--scilab/modules/linear_algebra/help/fr_FR/matrix/rank.xml1
-rw-r--r--scilab/modules/linear_algebra/help/fr_FR/matrix/rcond.xml43
-rw-r--r--scilab/modules/linear_algebra/help/ja_JP/linear/inv.xml3
-rw-r--r--scilab/modules/linear_algebra/help/ja_JP/matrix/rank.xml11
-rw-r--r--scilab/modules/linear_algebra/help/ja_JP/matrix/rcond.xml102
-rw-r--r--scilab/modules/linear_algebra/help/pt_BR/linear/inv.xml39
-rw-r--r--scilab/modules/linear_algebra/help/pt_BR/matrix/rank.xml25
-rw-r--r--scilab/modules/linear_algebra/help/pt_BR/matrix/rcond.xml55
-rw-r--r--scilab/modules/linear_algebra/linear_algebra.iss2
-rw-r--r--scilab/modules/linear_algebra/sci_gateway/linear_algebra_gateway.xml53
-rw-r--r--scilab/modules/linear_algebra/src/c/linear_algebra.vcxproj1
-rw-r--r--scilab/modules/linear_algebra/src/c/linear_algebra.vcxproj.filters1
-rw-r--r--scilab/modules/linear_algebra/src/fortran/linear_algebra_f.vfproj1
-rw-r--r--scilab/modules/linear_algebra/src/fortran/linear_algebra_f2c.vcxproj1
-rw-r--r--scilab/modules/linear_algebra/src/fortran/linear_algebra_f2c.vcxproj.filters1
-rw-r--r--scilab/modules/localization/Makefile.am5
-rw-r--r--scilab/modules/localization/Makefile.in4
-rw-r--r--scilab/modules/localization/help/en_US/addlocalizationdomain.xml3
-rw-r--r--scilab/modules/localization/help/en_US/gettext.xml452
-rw-r--r--scilab/modules/localization/help/ja_JP/addlocalizationdomain.xml3
-rw-r--r--scilab/modules/localization/help/ja_JP/gettext.xml175
-rw-r--r--scilab/modules/localization/help/ru_RU/gettext.xml57
-rw-r--r--scilab/modules/localization/help/ru_RU/underscore.xml60
-rw-r--r--scilab/modules/localization/localization.iss2
-rw-r--r--scilab/modules/localization/sci_gateway/localization_gateway.xml44
-rw-r--r--scilab/modules/localization/src/localization.vcxproj1
-rw-r--r--scilab/modules/localization/src/localization.vcxproj.filters1
-rw-r--r--scilab/modules/m2sci/macros/kernel/i_notation.sci16
-rw-r--r--scilab/modules/m2sci/macros/kernel/lst_funcall.sci24
-rw-r--r--scilab/modules/m2sci/macros/kernel/m2sci_syntax.sci30
-rw-r--r--scilab/modules/m2sci/macros/kernel/mfile_path.sci11
-rw-r--r--scilab/modules/m2sci/macros/kernel/multi_fun_file.sci8
-rw-r--r--scilab/modules/m2sci/macros/mfile2sci.sci54
-rw-r--r--scilab/modules/m2sci/macros/sci_files/Makeproto4
-rw-r--r--scilab/modules/m2sci/macros/sci_files/sci_int64.sci58
-rw-r--r--scilab/modules/m2sci/macros/sci_files/sci_uint64.sci58
-rw-r--r--scilab/modules/m2sci/macros/translatepaths.sci2
-rw-r--r--scilab/modules/m2sci/tests/nonreg_tests/bug_12147.tst28
-rw-r--r--scilab/modules/m2sci/tests/nonreg_tests/bug_12618.tst25
-rw-r--r--scilab/modules/m2sci/tests/nonreg_tests/bug_1662.dia.ref118
-rw-r--r--scilab/modules/m2sci/tests/nonreg_tests/bug_1662.tst70
-rw-r--r--scilab/modules/m2sci/tests/nonreg_tests/bug_2395.dia.ref37
-rw-r--r--scilab/modules/m2sci/tests/nonreg_tests/bug_2395.tst7
-rw-r--r--scilab/modules/m2sci/tests/nonreg_tests/bug_682.dia.ref51
-rw-r--r--scilab/modules/m2sci/tests/nonreg_tests/bug_682.tst28
-rw-r--r--scilab/modules/m2sci/tests/nonreg_tests/bug_857.dia.ref139
-rw-r--r--scilab/modules/m2sci/tests/nonreg_tests/bug_857.tst140
-rw-r--r--scilab/modules/m2sci/tests/nonreg_tests/bug_942.dia.ref60
-rw-r--r--scilab/modules/m2sci/tests/nonreg_tests/bug_942.tst44
-rw-r--r--scilab/modules/m2sci/tests/nonreg_tests/bug_973.dia.ref52
-rw-r--r--scilab/modules/m2sci/tests/nonreg_tests/bug_973.tst35
-rw-r--r--scilab/modules/matio/help/en_US/savematfile.xml189
-rw-r--r--scilab/modules/matio/help/ja_JP/savematfile.xml157
-rw-r--r--scilab/modules/matio/matio.vcxproj1
-rw-r--r--scilab/modules/matio/matio.vcxproj.filters1
-rw-r--r--scilab/modules/matio/src/cpp/CreateCellVariable.cpp3
-rw-r--r--scilab/modules/matio/tests/nonreg_tests/bug_10171.matbin0 -> 272357 bytes
-rw-r--r--scilab/modules/matio/tests/nonreg_tests/bug_10171.tst24
-rw-r--r--scilab/modules/matio/tests/nonreg_tests/bug_13522.tst72
-rw-r--r--scilab/modules/mexlib/src/cpp/mexlib.cpp6
-rw-r--r--scilab/modules/modules_manager/help/en_US/utils/tbx_generate_pofile.xml8
-rw-r--r--scilab/modules/modules_manager/macros/tbx_generate_pofile.sci7
-rw-r--r--scilab/modules/modules_manager/tests/nonreg_tests/bug_15601.tst24
-rw-r--r--scilab/modules/optimization/demos/icse/lqv.sce2
-rw-r--r--scilab/modules/output_stream/Makefile.am4
-rw-r--r--scilab/modules/output_stream/Makefile.in4
-rw-r--r--scilab/modules/output_stream/output_stream.iss2
-rw-r--r--scilab/modules/output_stream/sci_gateway/output_stream_gateway.xml46
-rw-r--r--scilab/modules/output_stream/src/c/output_stream.vcxproj1
-rw-r--r--scilab/modules/output_stream/src/c/output_stream.vcxproj.filters2
-rw-r--r--scilab/modules/output_stream/src/cpp/scilab_sprintf.cpp2
-rw-r--r--scilab/modules/output_stream/src/fortran/output_stream_f.vfproj152
-rw-r--r--scilab/modules/output_stream/tests/nonreg_tests/bug_15441.tst28
-rw-r--r--scilab/modules/output_stream/tests/nonreg_tests/bug_15640.dia.ref26
-rw-r--r--scilab/modules/output_stream/tests/nonreg_tests/bug_15640.tst (renamed from scilab/modules/types/tests/nonreg_tests/bug_14564.dia.ref)18
-rw-r--r--scilab/modules/overloading/macros/%lss_a_lss.sci17
-rw-r--r--scilab/modules/overloading/macros/%lss_c_lss.sci18
-rw-r--r--scilab/modules/overloading/macros/%lss_c_p.sci7
-rw-r--r--scilab/modules/overloading/macros/%lss_c_s.sci7
-rw-r--r--scilab/modules/overloading/macros/%lss_f_lss.sci22
-rw-r--r--scilab/modules/overloading/macros/%lss_f_p.sci7
-rw-r--r--scilab/modules/overloading/macros/%lss_f_s.sci9
-rw-r--r--scilab/modules/overloading/macros/%lss_i_lss.sci33
-rw-r--r--scilab/modules/overloading/macros/%lss_m_lss.sci39
-rw-r--r--scilab/modules/overloading/macros/%lss_s_lss.sci15
-rw-r--r--scilab/modules/overloading/macros/%p_c_lss.sci7
-rw-r--r--scilab/modules/overloading/macros/%p_f_lss.sci7
-rw-r--r--scilab/modules/overloading/macros/%r_n_s.sci2
-rw-r--r--scilab/modules/overloading/macros/%r_o_s.sci3
-rw-r--r--scilab/modules/overloading/macros/%s_c_lss.sci9
-rw-r--r--scilab/modules/overloading/macros/%s_f_lss.sci9
-rw-r--r--scilab/modules/overloading/macros/%s_n_r.sci2
-rw-r--r--scilab/modules/overloading/macros/%s_o_r.sci2
-rw-r--r--scilab/modules/overloading/macros/%s_or.sci19
-rw-r--r--scilab/modules/overloading/macros/createstruct.sci10
-rw-r--r--scilab/modules/overloading/macros/generic_i_hm.sci2
-rw-r--r--scilab/modules/parallel/Makefile.am4
-rw-r--r--scilab/modules/parallel/Makefile.in4
-rw-r--r--scilab/modules/parallel/parallel.iss2
-rw-r--r--scilab/modules/parallel/sci_gateway/parallel_gateway.xml27
-rw-r--r--scilab/modules/parallel/src/c/parallel.vcxproj1
-rw-r--r--scilab/modules/parallel/src/c/parallel.vcxproj.filters1
-rw-r--r--scilab/modules/polynomials/Makefile.am6
-rw-r--r--scilab/modules/polynomials/Makefile.in4
-rw-r--r--scilab/modules/polynomials/help/en_US/pdiv.xml65
-rw-r--r--scilab/modules/polynomials/help/en_US/poly.xml258
-rw-r--r--scilab/modules/polynomials/help/en_US/varn.xml125
-rw-r--r--scilab/modules/polynomials/help/fr_FR/pdiv.xml83
-rw-r--r--scilab/modules/polynomials/help/fr_FR/poly.xml277
-rw-r--r--scilab/modules/polynomials/help/fr_FR/varn.xml129
-rw-r--r--scilab/modules/polynomials/help/ja_JP/pdiv.xml63
-rw-r--r--scilab/modules/polynomials/help/ja_JP/poly.xml138
-rw-r--r--scilab/modules/polynomials/help/ja_JP/varn.xml126
-rw-r--r--scilab/modules/polynomials/help/pt_BR/pdiv.xml76
-rw-r--r--scilab/modules/polynomials/help/pt_BR/poly.xml119
-rw-r--r--scilab/modules/polynomials/help/pt_BR/varn.xml128
-rw-r--r--scilab/modules/polynomials/help/ru_RU/poly.xml269
-rw-r--r--scilab/modules/polynomials/help/ru_RU/varn.xml127
-rw-r--r--scilab/modules/polynomials/macros/determ.sci12
-rw-r--r--scilab/modules/polynomials/macros/htrianr.sci47
-rw-r--r--scilab/modules/polynomials/macros/invr.sci3
-rw-r--r--scilab/modules/polynomials/macros/lcm.sci88
-rw-r--r--scilab/modules/polynomials/macros/pdiv.sci58
-rw-r--r--scilab/modules/polynomials/polynomials.iss2
-rw-r--r--scilab/modules/polynomials/sci_gateway/polynomials_gateway.xml59
-rw-r--r--scilab/modules/polynomials/src/c/polynomials.vcxproj1
-rw-r--r--scilab/modules/polynomials/src/c/polynomials.vcxproj.filters1
-rw-r--r--scilab/modules/polynomials/src/fortran/polynomials_f.vfproj238
-rw-r--r--scilab/modules/polynomials/src/fortran/polynomials_f2c.vcxproj1
-rw-r--r--scilab/modules/polynomials/src/fortran/polynomials_f2c.vcxproj.filters1
-rw-r--r--scilab/modules/polynomials/tests/nonreg_tests/bug_15589.tst20
-rw-r--r--scilab/modules/polynomials/tests/nonreg_tests/bug_15590.tst24
-rw-r--r--scilab/modules/polynomials/tests/unit_tests/lcm.tst63
-rw-r--r--scilab/modules/preferences/Makefile.am4
-rw-r--r--scilab/modules/preferences/Makefile.in3
-rw-r--r--scilab/modules/preferences/preferences.iss2
-rw-r--r--scilab/modules/preferences/sci_gateway/preferences_gateway.xml28
-rw-r--r--scilab/modules/preferences/src/c/preferences.vcxproj1
-rw-r--r--scilab/modules/preferences/src/c/preferences.vcxproj.filters1
-rw-r--r--scilab/modules/randlib/demos/binomial.dem.sce4
-rw-r--r--scilab/modules/randlib/demos/discrete.dem.sce4
-rw-r--r--scilab/modules/randlib/demos/geometric.dem.sce2
-rw-r--r--scilab/modules/randlib/demos/poisson.dem.sce2
-rw-r--r--scilab/modules/randlib/help/en_US/addchapter.sce14
-rw-r--r--scilab/modules/randlib/help/fr_FR/addchapter.sce14
-rwxr-xr-xscilab/modules/randlib/help/ja_JP/addchapter.sce14
-rw-r--r--scilab/modules/randlib/help/pt_BR/addchapter.sce14
-rw-r--r--scilab/modules/randlib/help/ru_RU/addchapter.sce13
-rw-r--r--scilab/modules/scicos/includes/Controller.hxx21
-rw-r--r--scilab/modules/scicos/includes/adapters_utilities.hxx104
-rw-r--r--scilab/modules/scicos/includes/view_scilab/Adapters.hxx2
-rw-r--r--scilab/modules/scicos/macros/scicos_auto/scicos_simulate.sci37
-rw-r--r--scilab/modules/scicos/macros/scicos_scicos/c_pass2.sci2
-rw-r--r--scilab/modules/scicos/macros/scicos_scicos/entity_menu.sce2
-rw-r--r--scilab/modules/scicos/macros/scicos_scicos/init_agenda.sci32
-rw-r--r--scilab/modules/scicos/macros/scicos_scicos/scicos_flat.sci27
-rw-r--r--scilab/modules/scicos/sci_gateway/cpp/sci_scicosim.cpp65
-rw-r--r--scilab/modules/scicos/src/cpp/Controller.cpp64
-rw-r--r--scilab/modules/scicos/src/cpp/Model_setObjectProperties.cpp37
-rw-r--r--scilab/modules/scicos/src/cpp/controller_helpers.hxx1
-rw-r--r--scilab/modules/scicos/src/cpp/createblklist.cpp6
-rw-r--r--scilab/modules/scicos/src/cpp/sciblk2.cpp36
-rw-r--r--scilab/modules/scicos/src/cpp/sciblk4.cpp165
-rw-r--r--scilab/modules/scicos/src/cpp/view_scilab/Adapters.cpp57
-rw-r--r--scilab/modules/scicos/src/cpp/view_scilab/BaseAdapter.hxx9
-rw-r--r--scilab/modules/scicos/src/cpp/view_scilab/BlockAdapter.cpp4
-rw-r--r--scilab/modules/scicos/src/cpp/view_scilab/DiagramAdapter.cpp59
-rw-r--r--scilab/modules/scicos/src/cpp/view_scilab/GraphicsAdapter.cpp626
-rw-r--r--scilab/modules/scicos/src/cpp/view_scilab/GraphicsAdapter.hxx11
-rw-r--r--scilab/modules/scicos/src/cpp/view_scilab/LinkAdapter.cpp326
-rw-r--r--scilab/modules/scicos/src/cpp/view_scilab/LinkAdapter.hxx14
-rw-r--r--scilab/modules/scicos/src/cpp/view_scilab/ModelAdapter.cpp30
-rw-r--r--scilab/modules/scicos/tests/benchmarks/evaluate_expr.tst39
-rw-r--r--scilab/modules/scicos/tests/benchmarks/sciblk2.tst68
-rw-r--r--scilab/modules/scicos/tests/benchmarks/sciblk4.tst64
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/DAE/DDaskrK_Bouncing.tst1
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/DAE/DDaskrK_Bouncing.unix.dia.ref64
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/DAE/DDaskrK_Bouncing.win.dia.ref65
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/DAE/DDaskrK_Hydraulics.tst1
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/DAE/DDaskrK_Hydraulics.unix.dia.ref94
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/DAE/DDaskrK_Hydraulics.win.dia.ref96
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/DAE/DDaskrK_Platform.tst1
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/DAE/DDaskrK_Platform.unix.dia.ref160
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/DAE/DDaskrK_Platform.win.dia.ref164
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/DAE/DDaskrK_RLC.tst1
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/DAE/DDaskrK_RLC.unix.dia.ref159
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/DAE/DDaskrK_RLC.win.dia.ref163
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/DAE/DDaskrN_Bouncing.tst1
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/DAE/DDaskrN_Bouncing.unix.dia.ref64
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/DAE/DDaskrN_Bouncing.win.dia.ref65
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/DAE/DDaskrN_Hydraulics.tst1
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/DAE/DDaskrN_Hydraulics.unix.dia.ref94
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/DAE/DDaskrN_Hydraulics.win.dia.ref96
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/DAE/DDaskrN_Platform.tst1
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/DAE/DDaskrN_Platform.unix.dia.ref222
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/DAE/DDaskrN_Platform.win.dia.ref228
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/DAE/DDaskrN_RLC.tst1
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/DAE/DDaskrN_RLC.unix.dia.ref159
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/DAE/DDaskrN_RLC.win.dia.ref163
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/DAE/IDA_Bouncing.tst1
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/DAE/IDA_Bouncing.unix.dia.ref77
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/DAE/IDA_Bouncing.win.dia.ref78
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/DAE/IDA_Hydraulics.tst1
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/DAE/IDA_Hydraulics.unix.dia.ref119
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/DAE/IDA_Hydraulics.win.dia.ref120
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/DAE/IDA_Platform.tst1
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/DAE/IDA_Platform.unix.dia.ref91
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/DAE/IDA_Platform.win.dia.ref92
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/DAE/IDA_RLC.tst1
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/DAE/IDA_RLC.unix.dia.ref82
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/DAE/IDA_RLC.win.dia.ref83
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/ODE/CRANI.dia.ref38
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/ODE/CRANI.tst1
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/ODE/CVode_Cont-Disc.dia.ref40
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/ODE/CVode_Cont-Disc.tst41
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/ODE/CVode_Controller.dia.ref40
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/ODE/CVode_Controller.tst41
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/ODE/CVode_IPendulum.dia.ref40
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/ODE/CVode_IPendulum.tst1
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/ODE/CVode_Kalman.dia.ref39
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/ODE/CVode_Kalman.tst39
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/ODE/CVode_Temperature_Controller.dia.ref40
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/ODE/CVode_Temperature_Controller.tst41
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/ODE/CVode_Watertank.dia.ref40
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/ODE/CVode_Watertank.tst41
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/ODE/DAE_ODE.dia.ref40
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/ODE/DAE_ODE.tst1
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/ODE/DoPri.dia.ref37
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/ODE/DoPri.tst1
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/ODE/ExpRK.dia.ref37
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/ODE/ExpRK.tst1
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/ODE/ImpRK.dia.ref38
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/ODE/ImpRK.tst1
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/ODE/LSodar.dia.ref51
-rw-r--r--scilab/modules/scicos/tests/unit_tests/Solvers/ODE/LSodar.tst1
-rw-r--r--scilab/modules/scicos/tests/unit_tests/model/Block.dia.ref26
-rw-r--r--scilab/modules/scicos/tests/unit_tests/model/Clone_SuperBlock_in_Diagram.dia.ref3675
-rw-r--r--scilab/modules/scicos/tests/unit_tests/model/Deep_cloning.dia.ref3537
-rw-r--r--scilab/modules/scicos/tests/unit_tests/model/Deep_cloning.tst63
-rw-r--r--scilab/modules/scicos/tests/unit_tests/model/Delete_objects.dia.ref3776
-rw-r--r--scilab/modules/scicos/tests/unit_tests/model/Delete_objects.tst2
-rw-r--r--scilab/modules/scicos/tests/unit_tests/model/Diagram.dia.ref5437
-rw-r--r--scilab/modules/scicos/tests/unit_tests/model/Diagram.tst30
-rw-r--r--scilab/modules/scicos/tests/unit_tests/model/Diagram_cloning.dia.ref1195
-rw-r--r--scilab/modules/scicos/tests/unit_tests/model/Implicit_link.dia.ref572
-rw-r--r--scilab/modules/scicos/tests/unit_tests/model/Insert_in_SuperBlock.dia.ref4651
-rw-r--r--scilab/modules/scicos/tests/unit_tests/model/Insert_in_SuperBlock.tst2
-rw-r--r--scilab/modules/scicos/tests/unit_tests/model/SuperBlock.dia.ref4169
-rw-r--r--scilab/modules/scicos/tests/unit_tests/model/SuperBlock_in_SuperBlock.dia.ref20
-rw-r--r--scilab/modules/scicos/tests/unit_tests/model/SuperBlock_misconnected.dia.ref1130
-rw-r--r--scilab/modules/scicos/tests/unit_tests/model/SuperBlock_misconnected.tst267
-rw-r--r--scilab/modules/scicos/tests/unit_tests/model/clone_extract.dia.ref155
-rw-r--r--scilab/modules/scicos/tests/unit_tests/model/clone_extract.tst2
-rw-r--r--scilab/modules/scicos/tests/unit_tests/model/from_mlist.dia.ref9
-rw-r--r--scilab/modules/scicos/tests/unit_tests/model/from_mlist.tst1
-rw-r--r--scilab/modules/scicos/tests/unit_tests/model/link_preservation.dia.ref3319
-rw-r--r--scilab/modules/scicos/tests/unit_tests/sciblk2_nwni.tst67
-rw-r--r--scilab/modules/scicos/tests/unit_tests/sciblk4_nwni.tst62
-rw-r--r--scilab/modules/scicos/tests/unit_tests/scicos_new.dia.ref12
-rw-r--r--scilab/modules/scicos_blocks/macros/IntegerOp/CONVERT.sci9
-rw-r--r--scilab/modules/scicos_blocks/macros/NonLinear/TrigFun.sci9
-rw-r--r--scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/SciNotes.java11
-rw-r--r--scilab/modules/scinotes/tests/nonreg_tests/bug_7722.tst4
-rw-r--r--scilab/modules/signal_processing/demos/spect.dem.sce6
-rw-r--r--scilab/modules/signal_processing/macros/czt.sci38
-rw-r--r--scilab/modules/signal_processing/macros/intdec.sci51
-rw-r--r--scilab/modules/signal_processing/macros/lindquist.sci30
-rw-r--r--scilab/modules/signal_processing/macros/pspect.sci82
-rw-r--r--scilab/modules/signal_processing/sci_gateway/cpp/sci_delip.cpp2
-rw-r--r--scilab/modules/signal_processing/src/fortran/Elementary_functions_f_Import.def1
-rw-r--r--scilab/modules/signal_processing/src/fortran/delip.f6
-rw-r--r--scilab/modules/signal_processing/tests/nonreg_tests/bug_15625.tst (renamed from scilab/modules/core/tests/nonreg_tests/bug_5607.tst)17
-rw-r--r--scilab/modules/signal_processing/tests/nonreg_tests/bug_15635.tst21
-rw-r--r--scilab/modules/signal_processing/tests/unit_tests/remez.dia.ref2
-rw-r--r--scilab/modules/signal_processing/tests/unit_tests/remez.tst2
-rw-r--r--scilab/modules/slint/src/cpp/DeprecatedChecker.cpp4
-rw-r--r--scilab/modules/sparse/sci_gateway/cpp/sci_sparse.cpp7
-rw-r--r--scilab/modules/sparse/sci_gateway/cpp/sci_spzeros.cpp14
-rw-r--r--scilab/modules/sparse/tests/nonreg_tests/bug_15647.tst21
-rw-r--r--scilab/modules/sparse/tests/nonreg_tests/bug_15648.tst20
-rw-r--r--scilab/modules/sparse/tests/unit_tests/sparse.dia.ref12
-rw-r--r--scilab/modules/sparse/tests/unit_tests/sparse.tst12
-rw-r--r--scilab/modules/special_functions/help/en_US/delip.xml1
-rw-r--r--scilab/modules/special_functions/help/fr_FR/delip.xml1
-rw-r--r--scilab/modules/special_functions/help/ja_JP/delip.xml1
-rw-r--r--scilab/modules/special_functions/help/pt_BR/delip.xml1
-rw-r--r--scilab/modules/special_functions/help/ru_RU/delip.xml1
-rw-r--r--scilab/modules/statistics/tests/unit_tests/cdfchn.dia.ref2
-rw-r--r--scilab/modules/statistics/tests/unit_tests/cdfchn.tst2
-rw-r--r--scilab/modules/string/Makefile.am4
-rw-r--r--scilab/modules/string/Makefile.in4
-rw-r--r--scilab/modules/string/help/en_US/prettyprint.xml45
-rw-r--r--scilab/modules/string/macros/evstr.sci40
-rw-r--r--scilab/modules/string/sci_gateway/string_gateway.xml74
-rw-r--r--scilab/modules/string/src/c/string.vcxproj1
-rw-r--r--scilab/modules/string/src/c/string.vcxproj.filters1
-rw-r--r--scilab/modules/string/string.iss2
-rw-r--r--scilab/modules/string/tests/nonreg_tests/bug_12275.tst20
-rw-r--r--scilab/modules/string/tests/nonreg_tests/bug_15617.tst55
-rw-r--r--scilab/modules/string/tests/nonreg_tests/bug_3891.dia.ref4
-rw-r--r--scilab/modules/string/tests/nonreg_tests/bug_3891.tst4
-rw-r--r--scilab/modules/tclsci/macros/ged_copy_entity.sci2
-rw-r--r--scilab/modules/time/Makefile.am4
-rw-r--r--scilab/modules/time/Makefile.in4
-rw-r--r--scilab/modules/time/sci_gateway/time_gateway.xml47
-rw-r--r--scilab/modules/time/time.iss2
-rw-r--r--scilab/modules/time/time.vcxproj1
-rw-r--r--scilab/modules/time/time.vcxproj.filters1
-rw-r--r--scilab/modules/types/tests/nonreg_tests/bug_14564.tst11
-rw-r--r--scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/filebrowser/ScilabFileBrowser.java2
-rw-r--r--scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/variablebrowser/ScilabVariableBrowser.java6
-rw-r--r--scilab/modules/windows_tools/Makefile.am4
-rw-r--r--scilab/modules/windows_tools/Makefile.in4
-rw-r--r--scilab/modules/windows_tools/sci_gateway/windows_tools_gateway.xml50
-rw-r--r--scilab/modules/windows_tools/src/c/windows_tools.vcxproj1
-rw-r--r--scilab/modules/windows_tools/src/c/windows_tools.vcxproj.filters1
-rw-r--r--scilab/modules/windows_tools/windows_tools.iss2
-rw-r--r--scilab/modules/xcos/etc/Xcos-style.xml6
-rw-r--r--scilab/modules/xcos/images/palettes/CONVERT.pngbin3586 -> 6051 bytes
-rw-r--r--scilab/modules/xcos/images/palettes/TrigFun.pngbin3776 -> 7571 bytes
-rw-r--r--scilab/modules/xcos/macros/xcos_simulate.sci24
-rw-r--r--scilab/modules/xcos/src/java/org/scilab/modules/xcos/Xcos.java24
-rw-r--r--scilab/modules/xcos/src/java/org/scilab/modules/xcos/actions/EditFormatAction.java18
-rw-r--r--scilab/modules/xcos/src/java/org/scilab/modules/xcos/block/AfficheBlock.java18
-rw-r--r--scilab/modules/xcos/src/java/org/scilab/modules/xcos/graph/XcosDiagram.java29
-rw-r--r--scilab/modules/xcos/src/java/org/scilab/modules/xcos/graph/model/XcosCell.java17
-rw-r--r--scilab/modules/xcos/src/java/org/scilab/modules/xcos/io/sax/BlockHandler.java7
-rw-r--r--scilab/modules/xcos/tests/nonreg_tests/bug_15553.tst44
-rw-r--r--scilab/modules/xcos/tests/nonreg_tests/bug_7715.dia.ref2
-rw-r--r--scilab/modules/xcos/tests/nonreg_tests/bug_7715.tst2
-rw-r--r--scilab/modules/xml/sci_gateway/_xml_gateway.xml115
731 files changed, 33476 insertions, 34382 deletions
diff --git a/scilab/Makefile.am b/scilab/Makefile.am
index 286e7f2..558e735 100644
--- a/scilab/Makefile.am
+++ b/scilab/Makefile.am
@@ -166,7 +166,7 @@ TARGETS_ALL+=check-java
166endif 166endif
167 167
168# check is performed with scilab, so use the serial-tests on purpose 168# check is performed with scilab, so use the serial-tests on purpose
169TESTS_ENVIRONMENT = LANG=C $(top_builddir)/bin/scilab-cli -nb -noatomsautoload -f 169TESTS_ENVIRONMENT = LANG=C HOME=/tmp $(top_builddir)/bin/scilab-cli -nb -noatomsautoload -nouserstartup -f
170TESTS = $(top_builddir)/modules/development_tools/tests/unit_tests/test_run_level_1.tst 170TESTS = $(top_builddir)/modules/development_tools/tests/unit_tests/test_run_level_1.tst
171 171
172all-local: $(TARGETS_ALL) 172all-local: $(TARGETS_ALL)
@@ -194,8 +194,8 @@ valgrind_DATA = $(top_srcdir)/tools/profiling/valgrind.supp
194 194
195macros: $(top_builddir)/scilab-cli-bin $(top_builddir)/bin/scilab-cli check-jvm-dep check-libstdcpp-dep 195macros: $(top_builddir)/scilab-cli-bin $(top_builddir)/bin/scilab-cli check-jvm-dep check-libstdcpp-dep
196 -@( cd $(top_builddir) ; \ 196 -@( cd $(top_builddir) ; \
197 echo "$(top_builddir)/bin/scilab-cli -ns -noatomsautoload -quit -f modules/functions/scripts/buildmacros/buildmacros.sce" ; \ 197 echo "$(top_builddir)/bin/scilab-cli -ns -noatomsautoload -nouserstartup -quit -f modules/functions/scripts/buildmacros/buildmacros.sce" ; \
198 $(top_builddir)/bin/scilab-cli -ns -noatomsautoload -quit -f modules/functions/scripts/buildmacros/buildmacros.sce) || exit 1 198 HOME=/tmp $(top_builddir)/bin/scilab-cli -ns -noatomsautoload -nouserstartup -quit -f modules/functions/scripts/buildmacros/buildmacros.sce) || exit 1
199 199
200strip-debug: 200strip-debug:
201 find $(top_builddir) -name '*.so.?.?.?' | while read file ; \ 201 find $(top_builddir) -name '*.so.?.?.?' | while read file ; \
@@ -278,8 +278,8 @@ if BUILD_HELP
278 for l in $(ALL_LINGUAS_DOC); do \ 278 for l in $(ALL_LINGUAS_DOC); do \
279 echo "-- Building documentation ($$l) --"; \ 279 echo "-- Building documentation ($$l) --"; \
280 COMMAND="try xmltojar([],[],'$$l');catch disp(lasterror()); exit(-1);end;exit(0);"; \ 280 COMMAND="try xmltojar([],[],'$$l');catch disp(lasterror()); exit(-1);end;exit(0);"; \
281 echo "LANG=$$l.UTF-8 LC_ALL=C SCI_DISABLE_TK=1 SCI_JAVA_ENABLE_HEADLESS=1 _JAVA_OPTIONS='-Djava.awt.headless=true' $(top_builddir)/bin/scilab-adv-cli -noatomsautoload -nb -l $$l -nouserstartup -e \"$$COMMAND\"";\ 281 echo "LANG=$$l.UTF-8 LC_ALL=C SCI_DISABLE_TK=1 SCI_JAVA_ENABLE_HEADLESS=1 _JAVA_OPTIONS='-Djava.awt.headless=true' HOME=/tmp $(top_builddir)/bin/scilab-adv-cli -noatomsautoload -nb -l $$l -nouserstartup -e \"$$COMMAND\"";\
282 LANG=$$l.UTF-8 LC_ALL=C SCI_DISABLE_TK=1 SCI_JAVA_ENABLE_HEADLESS=1 _JAVA_OPTIONS='-Djava.awt.headless=true' $(top_builddir)/bin/scilab-adv-cli -noatomsautoload -nb -l $$l -nouserstartup -e "$$COMMAND" || exit 1;\ 282 LANG=$$l.UTF-8 LC_ALL=C SCI_DISABLE_TK=1 SCI_JAVA_ENABLE_HEADLESS=1 _JAVA_OPTIONS='-Djava.awt.headless=true' HOME=/tmp $(top_builddir)/bin/scilab-adv-cli -noatomsautoload -nb -l $$l -nouserstartup -e "$$COMMAND" || exit 1;\
283 done; \ 283 done; \
284 else \ 284 else \
285 echo "Cannot find Scilab-adv-cli binary"; \ 285 echo "Cannot find Scilab-adv-cli binary"; \
@@ -295,8 +295,8 @@ if BUILD_HELP
295 for l in $(ALL_LINGUAS_DOC); do \ 295 for l in $(ALL_LINGUAS_DOC); do \
296 echo "-- Building documentation ($$l) --"; \ 296 echo "-- Building documentation ($$l) --"; \
297 COMMAND="try xmltoweb([],[],'$$l');catch exit(-1);end;exit(0);";\ 297 COMMAND="try xmltoweb([],[],'$$l');catch exit(-1);end;exit(0);";\
298 echo "LANG=$$l.UTF-8 SCI_DISABLE_TK=1 SCI_JAVA_ENABLE_HEADLESS=1 $(top_builddir)/bin/scilab-adv-cli -nb -l $$l -noatomsautoload -nouserstartup -e \"$$COMMAND\"";\ 298 echo "LANG=$$l.UTF-8 SCI_DISABLE_TK=1 SCI_JAVA_ENABLE_HEADLESS=1 HOME=/tmp $(top_builddir)/bin/scilab-adv-cli -nb -l $$l -noatomsautoload -nouserstartup -e \"$$COMMAND\"";\
299 LANG=$$l.UTF-8 SCI_DISABLE_TK=1 SCI_JAVA_ENABLE_HEADLESS=1 $(top_builddir)/bin/scilab-adv-cli -nb -l $$l -noatomsautoload -nouserstartup -e "$$COMMAND" || exit 1;\ 299 LANG=$$l.UTF-8 SCI_DISABLE_TK=1 SCI_JAVA_ENABLE_HEADLESS=1 HOME=/tmp $(top_builddir)/bin/scilab-adv-cli -nb -l $$l -noatomsautoload -nouserstartup -e "$$COMMAND" || exit 1;\
300 JAVADOC_TARGET=$(top_builddir)/modules/helptools/web/$$l/javasci; \ 300 JAVADOC_TARGET=$(top_builddir)/modules/helptools/web/$$l/javasci; \
301 if test ! -d $$JAVADOC_TARGET; then \ 301 if test ! -d $$JAVADOC_TARGET; then \
302 mkdir $$JAVADOC_TARGET; \ 302 mkdir $$JAVADOC_TARGET; \
@@ -327,8 +327,8 @@ check-help:$(top_builddir)/scilab-cli-bin $(top_builddir)/bin/scilab-cli
327 for l in $(ALL_LINGUAS_DOC); do \ 327 for l in $(ALL_LINGUAS_DOC); do \
328 echo "-- Checking documentation ($$l) --"; \ 328 echo "-- Checking documentation ($$l) --"; \
329 COMMAND="try check_help();catch exit(-1);end;exit(0);";\ 329 COMMAND="try check_help();catch exit(-1);end;exit(0);";\
330 echo "$(top_builddir)/bin/scilab-cli -nb -l $$l -noatomsautoload -e \"$$COMMAND\"";\ 330 echo "$(top_builddir)/bin/scilab-cli -nb -l $$l -noatomsautoload -nouserstartup -e \"$$COMMAND\"";\
331 $(top_builddir)/bin/scilab-cli -nb -l $$l -noatomsautoload -e "$$COMMAND" || exit 1;\ 331 HOME=/tmp $(top_builddir)/bin/scilab-cli -nb -l $$l -noatomsautoload -nouserstartup -e "$$COMMAND" || exit 1;\
332 done; \ 332 done; \
333 else \ 333 else \
334 echo "Cannot find Scilab binary"; \ 334 echo "Cannot find Scilab binary"; \
@@ -367,8 +367,8 @@ clean-help:
367 -@if test -x $(top_builddir)/scilab-cli-bin; then \ 367 -@if test -x $(top_builddir)/scilab-cli-bin; then \
368 COMMAND="try clean_help();catch exit(-1);end;exit(0)"; \ 368 COMMAND="try clean_help();catch exit(-1);end;exit(0)"; \
369 for l in $(ALL_LINGUAS_DOC); do \ 369 for l in $(ALL_LINGUAS_DOC); do \
370 echo "$(top_builddir)/bin/scilab-cli -nb -l $$l -noatomsautoload -e '$$COMMAND'"; \ 370 echo "$(top_builddir)/bin/scilab-cli -nb -l $$l -noatomsautoload -nouserstartup -e '$$COMMAND'"; \
371 $(top_builddir)/bin/scilab-cli -nb -l $$l -noatomsautoload -e "$$COMMAND" || exit 1; \ 371 HOME=/tmp $(top_builddir)/bin/scilab-cli -nb -l $$l -noatomsautoload -nouserstartup -e "$$COMMAND" || exit 1; \
372 done; \ 372 done; \
373 else \ 373 else \
374 echo "Cannot find Scilab binary"; \ 374 echo "Cannot find Scilab binary"; \
@@ -388,7 +388,7 @@ clean-help:
388 388
389clean-tests: 389clean-tests:
390 @if test -x $(top_builddir)/scilab-cli-bin; then \ 390 @if test -x $(top_builddir)/scilab-cli-bin; then \
391 $(top_builddir)/bin/scilab-cli -nb -noatomsautoload -l fr -e 'try test_clean();catch exit(-1);end;exit(0);' || exit 1; \ 391 HOME=/tmp $(top_builddir)/bin/scilab-cli -nb -noatomsautoload -nouserstartup -l fr -e 'try test_clean();catch exit(-1);end;exit(0);' || exit 1; \
392 else \ 392 else \
393 echo "Cannot find Scilab binary"; \ 393 echo "Cannot find Scilab binary"; \
394 fi 394 fi
diff --git a/scilab/bin/scilab b/scilab/bin/scilab
index 1c12f94..74d5b7b 100755
--- a/scilab/bin/scilab
+++ b/scilab/bin/scilab
@@ -549,9 +549,12 @@ detect_java_vm() {
549 "ppc"|"powerpc") 549 "ppc"|"powerpc")
550 proc="ppc" 550 proc="ppc"
551 ;; 551 ;;
552 "ppc64"|"ppc64el") 552 "ppc64")
553 proc="ppc64" 553 proc="ppc64"
554 ;; 554 ;;
555 "ppc64le")
556 proc="ppc64le"
557 ;;
555 "s390") 558 "s390")
556 proc="s390" 559 proc="s390"
557 ;; 560 ;;
diff --git a/scilab/desktop/scilab-adv-cli.desktop b/scilab/desktop/scilab-adv-cli.desktop
index 895db46..46832dd 100644
--- a/scilab/desktop/scilab-adv-cli.desktop
+++ b/scilab/desktop/scilab-adv-cli.desktop
@@ -16,3 +16,4 @@ StartupNotify=false
16Terminal=true 16Terminal=true
17Type=Application 17Type=Application
18Categories=Science;Math; 18Categories=Science;Math;
19Keywords=Science;Math;Numerical;
diff --git a/scilab/desktop/scilab-cli.desktop b/scilab/desktop/scilab-cli.desktop
index 6ad8803..9b60d42 100644
--- a/scilab/desktop/scilab-cli.desktop
+++ b/scilab/desktop/scilab-cli.desktop
@@ -15,3 +15,4 @@ StartupNotify=false
15Terminal=true 15Terminal=true
16Type=Application 16Type=Application
17Categories=Science;Math; 17Categories=Science;Math;
18Keywords=Science;Math;Numerical; \ No newline at end of file
diff --git a/scilab/desktop/scilab.desktop b/scilab/desktop/scilab.desktop
index decc965..eb07696 100644
--- a/scilab/desktop/scilab.desktop
+++ b/scilab/desktop/scilab.desktop
@@ -3,7 +3,7 @@ Comment=Scientific software package for numerical computations
3Comment[fr]=Logiciel scientifique de calcul numérique 3Comment[fr]=Logiciel scientifique de calcul numérique
4Comment[de]=eine Wissenschaftssoftware für numerische Berechnungen 4Comment[de]=eine Wissenschaftssoftware für numerische Berechnungen
5Comment[ru]=Научная программа для численных расчётов 5Comment[ru]=Научная программа для численных расчётов
6Exec=scilab -f 6Exec=scilab -f %f
7GenericName=Scientific Software Package 7GenericName=Scientific Software Package
8GenericName[fr]=Logiciel de calcul numérique 8GenericName[fr]=Logiciel de calcul numérique
9GenericName[de]=Wissenschaftssoftware 9GenericName[de]=Wissenschaftssoftware
@@ -15,3 +15,4 @@ StartupNotify=false
15Terminal=false 15Terminal=false
16Type=Application 16Type=Application
17Categories=Science;Math; 17Categories=Science;Math;
18Keywords=Science;Math;Numerical;Simulation
diff --git a/scilab/desktop/scinotes.desktop b/scilab/desktop/scinotes.desktop
index df55835..95e8280 100644
--- a/scilab/desktop/scinotes.desktop
+++ b/scilab/desktop/scinotes.desktop
@@ -14,3 +14,4 @@ StartupNotify=false
14Terminal=false 14Terminal=false
15Type=Application 15Type=Application
16Categories=Science;Math; 16Categories=Science;Math;
17Keywords=Text;Editor; \ No newline at end of file
diff --git a/scilab/desktop/xcos.desktop b/scilab/desktop/xcos.desktop
index 6e64d28..642d49e 100644
--- a/scilab/desktop/xcos.desktop
+++ b/scilab/desktop/xcos.desktop
@@ -13,3 +13,4 @@ StartupNotify=false
13Terminal=false 13Terminal=false
14Type=Application 14Type=Application
15Categories=Science;Physics; 15Categories=Science;Physics;
16Keywords=Science;Physics;Simulation \ No newline at end of file
diff --git a/scilab/m4/java.m4 b/scilab/m4/java.m4
index a338b5b..a2724ad 100644
--- a/scilab/m4/java.m4
+++ b/scilab/m4/java.m4
@@ -480,7 +480,10 @@ AC_DEFUN([AC_JAVA_JNI_LIBS], [
480 powerpc) 480 powerpc)
481 machine=ppc 481 machine=ppc
482 ;; 482 ;;
483 ppc64|ppc64le) 483 ppc64le)
484 machine=ppc64le
485 ;;
486 ppc64)
484 machine=ppc64 487 machine=ppc64
485 ;; 488 ;;
486 armv*) 489 armv*)
diff --git a/scilab/modules/ast/Makefile.am b/scilab/modules/ast/Makefile.am
index 8cb0d49..59ee4ba 100644
--- a/scilab/modules/ast/Makefile.am
+++ b/scilab/modules/ast/Makefile.am
@@ -27,6 +27,7 @@ src/c/operations/matrix_multiplication.c \
27src/c/operations/matrix_power.c \ 27src/c/operations/matrix_power.c \
28src/c/operations/matrix_transpose.c \ 28src/c/operations/matrix_transpose.c \
29src/c/operations/operations_tools.c \ 29src/c/operations/operations_tools.c \
30src/c/types/dtoa.c \
30src/cpp/ast/expHistory.cpp \ 31src/cpp/ast/expHistory.cpp \
31src/cpp/ast/macrovarvisitor.cpp \ 32src/cpp/ast/macrovarvisitor.cpp \
32src/cpp/ast/printvisitor.cpp \ 33src/cpp/ast/printvisitor.cpp \
@@ -464,6 +465,7 @@ includes/types/colon.hxx \
464includes/types/container.hxx \ 465includes/types/container.hxx \
465includes/types/cpp_gateway_prototype.hxx \ 466includes/types/cpp_gateway_prototype.hxx \
466includes/types/double.hxx \ 467includes/types/double.hxx \
468includes/types/dtoa.h \
467includes/types/file.hxx \ 469includes/types/file.hxx \
468includes/types/function.hxx \ 470includes/types/function.hxx \
469includes/types/gatewaystruct.hxx \ 471includes/types/gatewaystruct.hxx \
diff --git a/scilab/modules/ast/Makefile.in b/scilab/modules/ast/Makefile.in
index 0e55966..b414c42 100644
--- a/scilab/modules/ast/Makefile.in
+++ b/scilab/modules/ast/Makefile.in
@@ -195,11 +195,11 @@ am__libsciast_la_SOURCES_DIST = src/c/operations/doublecomplex.c \
195 src/c/operations/matrix_multiplication.c \ 195 src/c/operations/matrix_multiplication.c \
196 src/c/operations/matrix_power.c \ 196 src/c/operations/matrix_power.c \
197 src/c/operations/matrix_transpose.c \ 197 src/c/operations/matrix_transpose.c \
198 src/c/operations/operations_tools.c src/cpp/ast/expHistory.cpp \ 198 src/c/operations/operations_tools.c src/c/types/dtoa.c \
199 src/cpp/ast/macrovarvisitor.cpp src/cpp/ast/printvisitor.cpp \ 199 src/cpp/ast/expHistory.cpp src/cpp/ast/macrovarvisitor.cpp \
200 src/cpp/ast/runvisitor.cpp src/cpp/ast/shortcutvisitor.cpp \ 200 src/cpp/ast/printvisitor.cpp src/cpp/ast/runvisitor.cpp \
201 src/cpp/ast/treevisitor.cpp src/cpp/ast/visitor_common.cpp \ 201 src/cpp/ast/shortcutvisitor.cpp src/cpp/ast/treevisitor.cpp \
202 src/cpp/ast/consoledebugger.cpp \ 202 src/cpp/ast/visitor_common.cpp src/cpp/ast/consoledebugger.cpp \
203 src/cpp/ast/debuggervisitor.cpp src/cpp/ast/debugmanager.cpp \ 203 src/cpp/ast/debuggervisitor.cpp src/cpp/ast/debugmanager.cpp \
204 src/cpp/ast/prettyprintvisitor.cpp \ 204 src/cpp/ast/prettyprintvisitor.cpp \
205 src/cpp/operations/interface_addition.cpp \ 205 src/cpp/operations/interface_addition.cpp \
@@ -392,6 +392,7 @@ am_libsciast_la_OBJECTS = \
392 src/c/operations/libsciast_la-matrix_power.lo \ 392 src/c/operations/libsciast_la-matrix_power.lo \
393 src/c/operations/libsciast_la-matrix_transpose.lo \ 393 src/c/operations/libsciast_la-matrix_transpose.lo \
394 src/c/operations/libsciast_la-operations_tools.lo \ 394 src/c/operations/libsciast_la-operations_tools.lo \
395 src/c/types/libsciast_la-dtoa.lo \
395 src/cpp/ast/libsciast_la-expHistory.lo \ 396 src/cpp/ast/libsciast_la-expHistory.lo \
396 src/cpp/ast/libsciast_la-macrovarvisitor.lo \ 397 src/cpp/ast/libsciast_la-macrovarvisitor.lo \
397 src/cpp/ast/libsciast_la-printvisitor.lo \ 398 src/cpp/ast/libsciast_la-printvisitor.lo \
@@ -1012,11 +1013,11 @@ libsciast_la_SOURCES = src/c/operations/doublecomplex.c \
1012 src/c/operations/matrix_multiplication.c \ 1013 src/c/operations/matrix_multiplication.c \
1013 src/c/operations/matrix_power.c \ 1014 src/c/operations/matrix_power.c \
1014 src/c/operations/matrix_transpose.c \ 1015 src/c/operations/matrix_transpose.c \
1015 src/c/operations/operations_tools.c src/cpp/ast/expHistory.cpp \ 1016 src/c/operations/operations_tools.c src/c/types/dtoa.c \
1016 src/cpp/ast/macrovarvisitor.cpp src/cpp/ast/printvisitor.cpp \ 1017 src/cpp/ast/expHistory.cpp src/cpp/ast/macrovarvisitor.cpp \
1017 src/cpp/ast/runvisitor.cpp src/cpp/ast/shortcutvisitor.cpp \ 1018 src/cpp/ast/printvisitor.cpp src/cpp/ast/runvisitor.cpp \
1018 src/cpp/ast/treevisitor.cpp src/cpp/ast/visitor_common.cpp \ 1019 src/cpp/ast/shortcutvisitor.cpp src/cpp/ast/treevisitor.cpp \
1019 src/cpp/ast/consoledebugger.cpp \ 1020 src/cpp/ast/visitor_common.cpp src/cpp/ast/consoledebugger.cpp \
1020 src/cpp/ast/debuggervisitor.cpp src/cpp/ast/debugmanager.cpp \ 1021 src/cpp/ast/debuggervisitor.cpp src/cpp/ast/debugmanager.cpp \
1021 src/cpp/ast/prettyprintvisitor.cpp \ 1022 src/cpp/ast/prettyprintvisitor.cpp \
1022 src/cpp/operations/interface_addition.cpp \ 1023 src/cpp/operations/interface_addition.cpp \
@@ -1398,6 +1399,7 @@ includes/types/colon.hxx \
1398includes/types/container.hxx \ 1399includes/types/container.hxx \
1399includes/types/cpp_gateway_prototype.hxx \ 1400includes/types/cpp_gateway_prototype.hxx \
1400includes/types/double.hxx \ 1401includes/types/double.hxx \
1402includes/types/dtoa.h \
1401includes/types/file.hxx \ 1403includes/types/file.hxx \
1402includes/types/function.hxx \ 1404includes/types/function.hxx \
1403includes/types/gatewaystruct.hxx \ 1405includes/types/gatewaystruct.hxx \
@@ -1628,6 +1630,14 @@ src/c/operations/libsciast_la-matrix_transpose.lo: \
1628src/c/operations/libsciast_la-operations_tools.lo: \ 1630src/c/operations/libsciast_la-operations_tools.lo: \
1629 src/c/operations/$(am__dirstamp) \ 1631 src/c/operations/$(am__dirstamp) \
1630 src/c/operations/$(DEPDIR)/$(am__dirstamp) 1632 src/c/operations/$(DEPDIR)/$(am__dirstamp)
1633src/c/types/$(am__dirstamp):
1634 @$(MKDIR_P) src/c/types
1635 @: > src/c/types/$(am__dirstamp)
1636src/c/types/$(DEPDIR)/$(am__dirstamp):
1637 @$(MKDIR_P) src/c/types/$(DEPDIR)
1638 @: > src/c/types/$(DEPDIR)/$(am__dirstamp)
1639src/c/types/libsciast_la-dtoa.lo: src/c/types/$(am__dirstamp) \
1640 src/c/types/$(DEPDIR)/$(am__dirstamp)
1631src/cpp/ast/$(am__dirstamp): 1641src/cpp/ast/$(am__dirstamp):
1632 @$(MKDIR_P) src/cpp/ast 1642 @$(MKDIR_P) src/cpp/ast
1633 @: > src/cpp/ast/$(am__dirstamp) 1643 @: > src/cpp/ast/$(am__dirstamp)
@@ -2327,6 +2337,8 @@ mostlyclean-compile:
2327 -rm -f *.$(OBJEXT) 2337 -rm -f *.$(OBJEXT)
2328 -rm -f src/c/operations/*.$(OBJEXT) 2338 -rm -f src/c/operations/*.$(OBJEXT)
2329 -rm -f src/c/operations/*.lo 2339 -rm -f src/c/operations/*.lo
2340 -rm -f src/c/types/*.$(OBJEXT)
2341 -rm -f src/c/types/*.lo
2330 -rm -f src/cpp/analysis/*.$(OBJEXT) 2342 -rm -f src/cpp/analysis/*.$(OBJEXT)
2331 -rm -f src/cpp/analysis/*.lo 2343 -rm -f src/cpp/analysis/*.lo
2332 -rm -f src/cpp/ast/*.$(OBJEXT) 2344 -rm -f src/cpp/ast/*.$(OBJEXT)
@@ -2355,6 +2367,7 @@ distclean-compile:
2355@AMDEP_TRUE@@am__include@ @am__quote@src/c/operations/$(DEPDIR)/libsciast_la-matrix_power.Plo@am__quote@ 2367@AMDEP_TRUE@@am__include@ @am__quote@src/c/operations/$(DEPDIR)/libsciast_la-matrix_power.Plo@am__quote@
2356@AMDEP_TRUE@@am__include@ @am__quote@src/c/operations/$(DEPDIR)/libsciast_la-matrix_transpose.Plo@am__quote@ 2368@AMDEP_TRUE@@am__include@ @am__quote@src/c/operations/$(DEPDIR)/libsciast_la-matrix_transpose.Plo@am__quote@
2357@AMDEP_TRUE@@am__include@ @am__quote@src/c/operations/$(DEPDIR)/libsciast_la-operations_tools.Plo@am__quote@ 2369@AMDEP_TRUE@@am__include@ @am__quote@src/c/operations/$(DEPDIR)/libsciast_la-operations_tools.Plo@am__quote@
2370@AMDEP_TRUE@@am__include@ @am__quote@src/c/types/$(DEPDIR)/libsciast_la-dtoa.Plo@am__quote@
2358@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/analysis/$(DEPDIR)/libsciast_la-AnalysisVisitor.Plo@am__quote@ 2371@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/analysis/$(DEPDIR)/libsciast_la-AnalysisVisitor.Plo@am__quote@
2359@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/analysis/$(DEPDIR)/libsciast_la-ArgnAnalyzer.Plo@am__quote@ 2372@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/analysis/$(DEPDIR)/libsciast_la-ArgnAnalyzer.Plo@am__quote@
2360@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/analysis/$(DEPDIR)/libsciast_la-Block.Plo@am__quote@ 2373@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/analysis/$(DEPDIR)/libsciast_la-Block.Plo@am__quote@
@@ -2676,6 +2689,13 @@ src/c/operations/libsciast_la-operations_tools.lo: src/c/operations/operations_t
2676@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2689@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
2677@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciast_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/operations/libsciast_la-operations_tools.lo `test -f 'src/c/operations/operations_tools.c' || echo '$(srcdir)/'`src/c/operations/operations_tools.c 2690@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciast_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/operations/libsciast_la-operations_tools.lo `test -f 'src/c/operations/operations_tools.c' || echo '$(srcdir)/'`src/c/operations/operations_tools.c
2678 2691
2692src/c/types/libsciast_la-dtoa.lo: src/c/types/dtoa.c
2693@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciast_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/types/libsciast_la-dtoa.lo -MD -MP -MF src/c/types/$(DEPDIR)/libsciast_la-dtoa.Tpo -c -o src/c/types/libsciast_la-dtoa.lo `test -f 'src/c/types/dtoa.c' || echo '$(srcdir)/'`src/c/types/dtoa.c
2694@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/c/types/$(DEPDIR)/libsciast_la-dtoa.Tpo src/c/types/$(DEPDIR)/libsciast_la-dtoa.Plo
2695@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/c/types/dtoa.c' object='src/c/types/libsciast_la-dtoa.lo' libtool=yes @AMDEPBACKSLASH@
2696@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
2697@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciast_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/types/libsciast_la-dtoa.lo `test -f 'src/c/types/dtoa.c' || echo '$(srcdir)/'`src/c/types/dtoa.c
2698
2679.cpp.o: 2699.cpp.o:
2680@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ 2700@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
2681@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ 2701@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
@@ -4288,6 +4308,7 @@ mostlyclean-libtool:
4288clean-libtool: 4308clean-libtool:
4289 -rm -rf .libs _libs 4309 -rm -rf .libs _libs
4290 -rm -rf src/c/operations/.libs src/c/operations/_libs 4310 -rm -rf src/c/operations/.libs src/c/operations/_libs
4311 -rm -rf src/c/types/.libs src/c/types/_libs
4291 -rm -rf src/cpp/analysis/.libs src/cpp/analysis/_libs 4312 -rm -rf src/cpp/analysis/.libs src/cpp/analysis/_libs
4292 -rm -rf src/cpp/ast/.libs src/cpp/ast/_libs 4313 -rm -rf src/cpp/ast/.libs src/cpp/ast/_libs
4293 -rm -rf src/cpp/operations/.libs src/cpp/operations/_libs 4314 -rm -rf src/cpp/operations/.libs src/cpp/operations/_libs
@@ -4521,6 +4542,8 @@ distclean-generic:
4521 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) 4542 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
4522 -rm -f src/c/operations/$(DEPDIR)/$(am__dirstamp) 4543 -rm -f src/c/operations/$(DEPDIR)/$(am__dirstamp)
4523 -rm -f src/c/operations/$(am__dirstamp) 4544 -rm -f src/c/operations/$(am__dirstamp)
4545 -rm -f src/c/types/$(DEPDIR)/$(am__dirstamp)
4546 -rm -f src/c/types/$(am__dirstamp)
4524 -rm -f src/cpp/analysis/$(DEPDIR)/$(am__dirstamp) 4547 -rm -f src/cpp/analysis/$(DEPDIR)/$(am__dirstamp)
4525 -rm -f src/cpp/analysis/$(am__dirstamp) 4548 -rm -f src/cpp/analysis/$(am__dirstamp)
4526 -rm -f src/cpp/ast/$(DEPDIR)/$(am__dirstamp) 4549 -rm -f src/cpp/ast/$(DEPDIR)/$(am__dirstamp)
@@ -4546,7 +4569,7 @@ clean-am: clean-generic clean-libtool clean-local \
4546 clean-pkglibLTLIBRARIES mostlyclean-am 4569 clean-pkglibLTLIBRARIES mostlyclean-am
4547 4570
4548distclean: distclean-am 4571distclean: distclean-am
4549 -rm -rf src/c/operations/$(DEPDIR) src/cpp/analysis/$(DEPDIR) src/cpp/ast/$(DEPDIR) src/cpp/operations/$(DEPDIR) src/cpp/parse/$(DEPDIR) src/cpp/symbol/$(DEPDIR) src/cpp/system_env/$(DEPDIR) src/cpp/types/$(DEPDIR) 4572 -rm -rf src/c/operations/$(DEPDIR) src/c/types/$(DEPDIR) src/cpp/analysis/$(DEPDIR) src/cpp/ast/$(DEPDIR) src/cpp/operations/$(DEPDIR) src/cpp/parse/$(DEPDIR) src/cpp/symbol/$(DEPDIR) src/cpp/system_env/$(DEPDIR) src/cpp/types/$(DEPDIR)
4550 -rm -f Makefile 4573 -rm -f Makefile
4551distclean-am: clean-am distclean-compile distclean-generic \ 4574distclean-am: clean-am distclean-compile distclean-generic \
4552 distclean-local distclean-tags 4575 distclean-local distclean-tags
@@ -4597,7 +4620,7 @@ install-ps-am:
4597installcheck-am: 4620installcheck-am:
4598 4621
4599maintainer-clean: maintainer-clean-am 4622maintainer-clean: maintainer-clean-am
4600 -rm -rf src/c/operations/$(DEPDIR) src/cpp/analysis/$(DEPDIR) src/cpp/ast/$(DEPDIR) src/cpp/operations/$(DEPDIR) src/cpp/parse/$(DEPDIR) src/cpp/symbol/$(DEPDIR) src/cpp/system_env/$(DEPDIR) src/cpp/types/$(DEPDIR) 4623 -rm -rf src/c/operations/$(DEPDIR) src/c/types/$(DEPDIR) src/cpp/analysis/$(DEPDIR) src/cpp/ast/$(DEPDIR) src/cpp/operations/$(DEPDIR) src/cpp/parse/$(DEPDIR) src/cpp/symbol/$(DEPDIR) src/cpp/system_env/$(DEPDIR) src/cpp/types/$(DEPDIR)
4601 -rm -f Makefile 4624 -rm -f Makefile
4602maintainer-clean-am: distclean-am maintainer-clean-generic 4625maintainer-clean-am: distclean-am maintainer-clean-generic
4603 4626
diff --git a/scilab/modules/ast/ast.vcxproj b/scilab/modules/ast/ast.vcxproj
index a029caf..0357b89 100644
--- a/scilab/modules/ast/ast.vcxproj
+++ b/scilab/modules/ast/ast.vcxproj
@@ -476,6 +476,7 @@ lib /DEF:"$(ProjectDir)functions_manager_import.def" /SUBSYSTEM:WINDOWS /MACHINE
476 <ClInclude Include="includes\types\cpp_gateway_prototype.hxx" /> 476 <ClInclude Include="includes\types\cpp_gateway_prototype.hxx" />
477 <ClInclude Include="includes\types\c_gateway_prototype.h" /> 477 <ClInclude Include="includes\types\c_gateway_prototype.h" />
478 <ClInclude Include="includes\types\double.hxx" /> 478 <ClInclude Include="includes\types\double.hxx" />
479 <ClInclude Include="includes\types\dtoa.h" />
479 <ClInclude Include="includes\types\file.hxx" /> 480 <ClInclude Include="includes\types\file.hxx" />
480 <ClInclude Include="includes\types\function.hxx" /> 481 <ClInclude Include="includes\types\function.hxx" />
481 <ClInclude Include="includes\types\gatewaystruct.hxx" /> 482 <ClInclude Include="includes\types\gatewaystruct.hxx" />
@@ -753,6 +754,7 @@ lib /DEF:"$(ProjectDir)functions_manager_import.def" /SUBSYSTEM:WINDOWS /MACHINE
753 <ClCompile Include="src\c\operations\matrix_power.c" /> 754 <ClCompile Include="src\c\operations\matrix_power.c" />
754 <ClCompile Include="src\c\operations\matrix_transpose.c" /> 755 <ClCompile Include="src\c\operations\matrix_transpose.c" />
755 <ClCompile Include="src\c\operations\operations_tools.c" /> 756 <ClCompile Include="src\c\operations\operations_tools.c" />
757 <ClCompile Include="src\c\types\dtoa.c" />
756 </ItemGroup> 758 </ItemGroup>
757 <ItemGroup> 759 <ItemGroup>
758 <ProjectReference Include="..\localization\src\localization.vcxproj"> 760 <ProjectReference Include="..\localization\src\localization.vcxproj">
diff --git a/scilab/modules/ast/includes/ast/deserializervisitor.hxx b/scilab/modules/ast/includes/ast/deserializervisitor.hxx
index fecc008..f87e457 100644
--- a/scilab/modules/ast/includes/ast/deserializervisitor.hxx
+++ b/scilab/modules/ast/includes/ast/deserializervisitor.hxx
@@ -471,7 +471,7 @@ private :
471 Exp* _start = get_exp(); 471 Exp* _start = get_exp();
472 Exp* _step = get_exp(); 472 Exp* _step = get_exp();
473 Exp* _end = get_exp(); 473 Exp* _end = get_exp();
474 exp = new ListExp(loc, *_start, *_step, *_end); 474 exp = new ListExp(loc, *_start, *_step, *_end, true);
475 break; 475 break;
476 } 476 }
477 case 31: 477 case 31:
diff --git a/scilab/modules/ast/includes/parse/parsescilab.hxx b/scilab/modules/ast/includes/parse/parsescilab.hxx
index e94154d..6071487 100644
--- a/scilab/modules/ast/includes/parse/parsescilab.hxx
+++ b/scilab/modules/ast/includes/parse/parsescilab.hxx
@@ -1,8 +1,8 @@
1/* A Bison parser, made by GNU Bison 3.0.2. */ 1/* A Bison parser, made by GNU Bison 3.0.4. */
2 2
3/* Bison interface for Yacc-like parsers in C 3/* Bison interface for Yacc-like parsers in C
4 4
5 Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc. 5 Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
6 6
7 This program is free software: you can redistribute it and/or modify 7 This program is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by 8 it under the terms of the GNU General Public License as published by
@@ -215,7 +215,7 @@ extern int yydebug;
215 215
216/* Value type. */ 216/* Value type. */
217#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 217#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
218typedef union YYSTYPE YYSTYPE; 218
219union YYSTYPE 219union YYSTYPE
220{ 220{
221 221
@@ -275,6 +275,8 @@ union YYSTYPE
275 275
276 276
277}; 277};
278
279typedef union YYSTYPE YYSTYPE;
278# define YYSTYPE_IS_TRIVIAL 1 280# define YYSTYPE_IS_TRIVIAL 1
279# define YYSTYPE_IS_DECLARED 1 281# define YYSTYPE_IS_DECLARED 1
280#endif 282#endif
diff --git a/scilab/modules/ast/includes/symbol/context.hxx b/scilab/modules/ast/includes/symbol/context.hxx
index 6b9df0e..a9635e5 100644
--- a/scilab/modules/ast/includes/symbol/context.hxx
+++ b/scilab/modules/ast/includes/symbol/context.hxx
@@ -85,8 +85,8 @@ public:
85 int getVarsName(std::list<std::wstring>& lst); 85 int getVarsName(std::list<std::wstring>& lst);
86 int getMacrosName(std::list<std::wstring>& lst); 86 int getMacrosName(std::list<std::wstring>& lst);
87 int getFunctionsName(std::list<std::wstring>& lst); 87 int getFunctionsName(std::list<std::wstring>& lst);
88 int getVarsNameForWho(std::list<std::wstring>& lst, bool sorted); 88 int getVarsInfoForWho(std::list<std::pair<std::wstring,int>>& lst, bool bSorted);
89 int getGlobalNameForWho(std::list<std::wstring>& lst, bool sorted); 89 int getGlobalInfoForWho(std::list<std::pair<std::wstring,int>>& lst, bool bSorted);
90 int getCurrentScope(std::list<std::wstring>& lst, bool sorted); 90 int getCurrentScope(std::list<std::wstring>& lst, bool sorted);
91 int getWhereIs(std::list<std::wstring>& lst, const std::wstring& _str); 91 int getWhereIs(std::list<std::wstring>& lst, const std::wstring& _str);
92 int getLibrariesList(std::list<std::wstring>& lst); 92 int getLibrariesList(std::list<std::wstring>& lst);
diff --git a/scilab/modules/ast/includes/symbol/variables.hxx b/scilab/modules/ast/includes/symbol/variables.hxx
index c96549d..0ac7486 100644
--- a/scilab/modules/ast/includes/symbol/variables.hxx
+++ b/scilab/modules/ast/includes/symbol/variables.hxx
@@ -155,8 +155,8 @@ struct Variables
155 bool remove(const Symbol& _key, int _iLevel); 155 bool remove(const Symbol& _key, int _iLevel);
156 int getMacrosName(std::list<std::wstring>& lst); 156 int getMacrosName(std::list<std::wstring>& lst);
157 int getVarsName(std::list<std::wstring>& lst); 157 int getVarsName(std::list<std::wstring>& lst);
158 bool getVarsNameForWho(std::list<std::wstring>& lstVarName, int* iVarLenMax, bool bSorted = false) const; 158 bool getVarsInfoForWho(std::list<std::pair<std::wstring,int>>& lst, int* iVarLenMax, bool bSorted = false) const;
159 bool getGlobalNameForWho(std::list<std::wstring>& lstVarName, int* iVarLenMax, bool bSorted = false) const; 159 bool getGlobalInfoForWho(std::list<std::pair<std::wstring,int>>& lst, int* iVarLenMax, bool bSorted = false) const;
160 int getProtectedVarsName(std::list<std::wstring>& lstVarName) const; 160 int getProtectedVarsName(std::list<std::wstring>& lstVarName) const;
161 int getFunctionsName(std::list<std::wstring>& lst); 161 int getFunctionsName(std::list<std::wstring>& lst);
162 int getFunctionList(std::list<Symbol>& lst, std::wstring _stModuleName, int _iLevel); 162 int getFunctionList(std::list<Symbol>& lst, std::wstring _stModuleName, int _iLevel);
diff --git a/scilab/modules/ast/includes/types/alltypes.hxx b/scilab/modules/ast/includes/types/alltypes.hxx
index 2290bde..93de298 100644
--- a/scilab/modules/ast/includes/types/alltypes.hxx
+++ b/scilab/modules/ast/includes/types/alltypes.hxx
@@ -53,5 +53,6 @@
53#include "graphichandle.hxx" 53#include "graphichandle.hxx"
54#include "void.hxx" 54#include "void.hxx"
55#include "library.hxx" 55#include "library.hxx"
56#include "user.hxx"
56 57
57#endif /* !ALL_TYPES_HXX */ 58#endif /* !ALL_TYPES_HXX */
diff --git a/scilab/modules/ast/includes/types/arrayof.hxx b/scilab/modules/ast/includes/types/arrayof.hxx
index fe16ef8..84362c2 100644
--- a/scilab/modules/ast/includes/types/arrayof.hxx
+++ b/scilab/modules/ast/includes/types/arrayof.hxx
@@ -500,6 +500,8 @@ public :
500 500
501 void getIndexes(int _iIndex, int* _piIndexes); 501 void getIndexes(int _iIndex, int* _piIndexes);
502 502
503 virtual bool getMemory(int* _piSize, int* _piSizePlusType);
504
503 ArrayOf<T>* getColumnValues(int _iPos) 505 ArrayOf<T>* getColumnValues(int _iPos)
504 { 506 {
505 ArrayOf<T>* pOut = NULL; 507 ArrayOf<T>* pOut = NULL;
diff --git a/scilab/modules/ast/includes/types/cell.hxx b/scilab/modules/ast/includes/types/cell.hxx
index 1f32ace..fd77016 100644
--- a/scilab/modules/ast/includes/types/cell.hxx
+++ b/scilab/modules/ast/includes/types/cell.hxx
@@ -109,6 +109,8 @@ public :
109 109
110 virtual bool transpose(InternalType *& out); 110 virtual bool transpose(InternalType *& out);
111 111
112 bool getMemory(int* _piSize, int* _piSizePlusType);
113
112private : 114private :
113 virtual InternalType* getNullValue(); 115 virtual InternalType* getNullValue();
114 virtual Cell* createEmpty(int _iDims, int* _piDims, bool _bComplex = false); 116 virtual Cell* createEmpty(int _iDims, int* _piDims, bool _bComplex = false);
diff --git a/scilab/modules/ast/includes/types/dtoa.h b/scilab/modules/ast/includes/types/dtoa.h
new file mode 100644
index 0000000..5e300b8
--- /dev/null
+++ b/scilab/modules/ast/includes/types/dtoa.h
@@ -0,0 +1,23 @@
1/*
2* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3* Copyright (C) 2018 - Stéphane Mottelet
4*
5 *
6 * This file is hereby licensed under the terms of the GNU GPL v2.0,
7 * pursuant to article 5.3.4 of the CeCILL v.2.1.
8 * This file was originally licensed under the terms of the CeCILL v2.1,
9 * and continues to be available under such terms.
10 * For more information, see the COPYING file which you should have received
11 * along with this program.
12*
13*/
14
15#ifndef __DTOA_H__
16#define __DTOA_H__
17
18#include "dynlib_ast.h"
19
20EXTERN_AST char *dtoa(double d, int mode, int ndigits, int *decpt, int *sign, char **rve);
21EXTERN_AST void freedtoa(char *s);
22
23#endif // __DTOA_H__
diff --git a/scilab/modules/ast/includes/types/graphichandle.hxx b/scilab/modules/ast/includes/types/graphichandle.hxx
index cda1600..3f142de 100644
--- a/scilab/modules/ast/includes/types/graphichandle.hxx
+++ b/scilab/modules/ast/includes/types/graphichandle.hxx
@@ -82,6 +82,8 @@ public :
82 82
83 virtual bool invoke(typed_list & in, optional_list & opt, int _iRetCount, typed_list & out, const ast::Exp & e) override ; 83 virtual bool invoke(typed_list & in, optional_list & opt, int _iRetCount, typed_list & out, const ast::Exp & e) override ;
84 84
85 bool getMemory(int* _piSize, int* _piSizePlusType);
86
85protected : 87protected :
86 inline ScilabType getType(void) 88 inline ScilabType getType(void)
87 { 89 {
diff --git a/scilab/modules/ast/includes/types/implicitlist.hxx b/scilab/modules/ast/includes/types/implicitlist.hxx
index 9826962..bed1897 100644
--- a/scilab/modules/ast/includes/types/implicitlist.hxx
+++ b/scilab/modules/ast/includes/types/implicitlist.hxx
@@ -158,6 +158,9 @@ public :
158 virtual bool transpose(InternalType *& out); 158 virtual bool transpose(InternalType *& out);
159 virtual bool neg(InternalType *& out); 159 virtual bool neg(InternalType *& out);
160 virtual ast::Exp * getExp(const Location & loc); 160 virtual ast::Exp * getExp(const Location & loc);
161
162 bool getMemory(int* _piSize, int* _piSizePlusType);
163
161}; 164};
162} 165}
163 166
diff --git a/scilab/modules/ast/includes/types/internal.hxx b/scilab/modules/ast/includes/types/internal.hxx
index 3dd10a7..1e2b93e 100644
--- a/scilab/modules/ast/includes/types/internal.hxx
+++ b/scilab/modules/ast/includes/types/internal.hxx
@@ -337,6 +337,14 @@ public :
337 virtual bool hasInvokeOption() const; 337 virtual bool hasInvokeOption() const;
338 virtual int getInvokeNbIn(); 338 virtual int getInvokeNbIn();
339 virtual int getInvokeNbOut(); 339 virtual int getInvokeNbOut();
340
341 virtual bool getMemory(int* _piSize, int* _piSizePlusType)
342 {
343 *_piSize = 0;
344 *_piSizePlusType = 0;
345 return false;
346 }
347
340 /* return type as string ( double, int, cell, list, ... )*/ 348 /* return type as string ( double, int, cell, list, ... )*/
341 virtual std::wstring getTypeStr() const = 0; 349 virtual std::wstring getTypeStr() const = 0;
342 /* return type as short string ( s, i, ce, l, ... )*/ 350 /* return type as short string ( s, i, ce, l, ... )*/
diff --git a/scilab/modules/ast/includes/types/library.hxx b/scilab/modules/ast/includes/types/library.hxx
index ce30705..d8e86d2 100644
--- a/scilab/modules/ast/includes/types/library.hxx
+++ b/scilab/modules/ast/includes/types/library.hxx
@@ -67,6 +67,7 @@ public :
67 MacroFile* get(const std::wstring& _wstName); 67 MacroFile* get(const std::wstring& _wstName);
68 int getMacrosName(std::list<std::wstring>& lst); 68 int getMacrosName(std::list<std::wstring>& lst);
69 std::wstring getPath(); 69 std::wstring getPath();
70 bool getMemory(int* _piSize, int* _piSizePlusType);
70private: 71private:
71 std::wstring m_wstPath; 72 std::wstring m_wstPath;
72 typedef std::unordered_map<std::wstring, MacroFile*> MacroMap; 73 typedef std::unordered_map<std::wstring, MacroFile*> MacroMap;
diff --git a/scilab/modules/ast/includes/types/list.hxx b/scilab/modules/ast/includes/types/list.hxx
index 05d6c4c..066c3a6 100644
--- a/scilab/modules/ast/includes/types/list.hxx
+++ b/scilab/modules/ast/includes/types/list.hxx
@@ -46,7 +46,9 @@ public :
46 { 46 {
47 return IdList; 47 return IdList;
48 } 48 }
49 49
50 bool getMemory(int* _piSize, int* _piSizePlusType);
51
50 /** 52 /**
51 ** append(InternalType *_typedValue) 53 ** append(InternalType *_typedValue)
52 ** Append the given value to the end of the List 54 ** Append the given value to the end of the List
diff --git a/scilab/modules/ast/includes/types/macro.hxx b/scilab/modules/ast/includes/types/macro.hxx
index 1b8d540..56c9b59 100644
--- a/scilab/modules/ast/includes/types/macro.hxx
+++ b/scilab/modules/ast/includes/types/macro.hxx
@@ -66,6 +66,8 @@ public :
66 66
67 ast::SeqExp* getBody(); 67 ast::SeqExp* getBody();
68 68
69 bool getMemory(int* _piSize, int* _piSizePlusType);
70
69 /* return type as string ( double, int, cell, list, ... )*/ 71 /* return type as string ( double, int, cell, list, ... )*/
70 virtual std::wstring getTypeStr() const 72 virtual std::wstring getTypeStr() const
71 { 73 {
diff --git a/scilab/modules/ast/includes/types/macrofile.hxx b/scilab/modules/ast/includes/types/macrofile.hxx
index 3a24844..81d3fe1 100644
--- a/scilab/modules/ast/includes/types/macrofile.hxx
+++ b/scilab/modules/ast/includes/types/macrofile.hxx
@@ -58,6 +58,8 @@ public :
58 58
59 void setLines(int _iFirstLine, int _iLastLine); 59 void setLines(int _iFirstLine, int _iLastLine);
60 60
61 bool getMemory(int* _piSize, int* _piSizePlusType);
62
61 /* return type as string ( double, int, cell, list, ... )*/ 63 /* return type as string ( double, int, cell, list, ... )*/
62 virtual std::wstring getTypeStr() const 64 virtual std::wstring getTypeStr() const
63 { 65 {
diff --git a/scilab/modules/ast/includes/types/mlist.hxx b/scilab/modules/ast/includes/types/mlist.hxx
index 22f68f9..d3821ea 100644
--- a/scilab/modules/ast/includes/types/mlist.hxx
+++ b/scilab/modules/ast/includes/types/mlist.hxx
@@ -49,6 +49,8 @@ public :
49 return false; 49 return false;
50 } 50 }
51 51
52 bool getMemory(int* _piSize, int* _piSizePlusType);
53
52 virtual bool invoke(typed_list & in, optional_list & opt, int _iRetCount, typed_list & out, const ast::Exp & e) override; 54 virtual bool invoke(typed_list & in, optional_list & opt, int _iRetCount, typed_list & out, const ast::Exp & e) override;
53 55
54protected : 56protected :
diff --git a/scilab/modules/ast/includes/types/polynom.hxx b/scilab/modules/ast/includes/types/polynom.hxx
index 522e3b8..8fbd774 100644
--- a/scilab/modules/ast/includes/types/polynom.hxx
+++ b/scilab/modules/ast/includes/types/polynom.hxx
@@ -119,6 +119,8 @@ public :
119 return false; 119 return false;
120 } 120 }
121 121
122 bool getMemory(int* _piSize, int* _piSizePlusType);
123
122 bool transpose(InternalType *& out); 124 bool transpose(InternalType *& out);
123 bool adjoint(InternalType *& out); 125 bool adjoint(InternalType *& out);
124 126
diff --git a/scilab/modules/ast/includes/types/singlestruct.hxx b/scilab/modules/ast/includes/types/singlestruct.hxx
index 7fffc9b..6e6fb1f 100644
--- a/scilab/modules/ast/includes/types/singlestruct.hxx
+++ b/scilab/modules/ast/includes/types/singlestruct.hxx
@@ -85,6 +85,8 @@ public :
85 return L"sst"; 85 return L"sst";
86 } 86 }
87 87
88 bool getMemory(int* _piSize, int* _piSizePlusType);
89
88private : 90private :
89 91
90 std::unordered_map<std::wstring, int> m_wstFields; 92 std::unordered_map<std::wstring, int> m_wstFields;
diff --git a/scilab/modules/ast/includes/types/sparse.hxx b/scilab/modules/ast/includes/types/sparse.hxx
index df7193e..3c19d3e 100644
--- a/scilab/modules/ast/includes/types/sparse.hxx
+++ b/scilab/modules/ast/includes/types/sparse.hxx
@@ -80,6 +80,8 @@ struct EXTERN_AST Sparse : GenericType
80 return true; 80 return true;
81 } 81 }
82 void finalize(); 82 void finalize();
83
84 bool getMemory(int *_piSize, int* _piSizePlusType);
83 85
84 /*data management member function defined for compatibility with the Double API*/ 86 /*data management member function defined for compatibility with the Double API*/
85 Sparse* set(int _iRows, int _iCols, double _dblReal, bool _bFinalize = true); 87 Sparse* set(int _iRows, int _iCols, double _dblReal, bool _bFinalize = true);
@@ -516,6 +518,8 @@ struct EXTERN_AST SparseBool : GenericType
516 } 518 }
517 void finalize(); 519 void finalize();
518 520
521 bool getMemory(int *_piSize, int* _piSizePlusType);
522
519 bool toString(std::wostringstream& ostr); 523 bool toString(std::wostringstream& ostr);
520 524
521 /* Config management and GenericType methods overrides */ 525 /* Config management and GenericType methods overrides */
diff --git a/scilab/modules/ast/includes/types/string.hxx b/scilab/modules/ast/includes/types/string.hxx
index a26a0dd..c6bcaff 100644
--- a/scilab/modules/ast/includes/types/string.hxx
+++ b/scilab/modules/ast/includes/types/string.hxx
@@ -90,6 +90,8 @@ public :
90 return false; 90 return false;
91 } 91 }
92 92
93 bool getMemory(int* _piSize, int* _piSizePlusType);
94
93 virtual bool neg(InternalType *& /*out*/) 95 virtual bool neg(InternalType *& /*out*/)
94 { 96 {
95 return false; 97 return false;
diff --git a/scilab/modules/ast/includes/types/struct.hxx b/scilab/modules/ast/includes/types/struct.hxx
index 964fb64..387e891 100644
--- a/scilab/modules/ast/includes/types/struct.hxx
+++ b/scilab/modules/ast/includes/types/struct.hxx
@@ -133,6 +133,8 @@ public :
133 return -1; 133 return -1;
134 } 134 }
135 135
136 bool getMemory(int* _piSize, int* _piSizePlusType);
137
136private : 138private :
137 virtual SingleStruct* getNullValue(); 139 virtual SingleStruct* getNullValue();
138 virtual Struct* createEmpty(int _iDims, int* _piDims, bool _bComplex = false); 140 virtual Struct* createEmpty(int _iDims, int* _piDims, bool _bComplex = false);
diff --git a/scilab/modules/ast/includes/types/tlist.hxx b/scilab/modules/ast/includes/types/tlist.hxx
index c4940a1..36829cd 100644
--- a/scilab/modules/ast/includes/types/tlist.hxx
+++ b/scilab/modules/ast/includes/types/tlist.hxx
@@ -76,6 +76,8 @@ public :
76 76
77 bool toString(std::wostringstream& ostr); 77 bool toString(std::wostringstream& ostr);
78 78
79 bool getMemory(int* _piSize, int* _piSizePlusType);
80
79private : 81private :
80}; 82};
81} 83}
diff --git a/scilab/modules/ast/includes/types/user.hxx b/scilab/modules/ast/includes/types/user.hxx
index e1c0185..a94cc26 100644
--- a/scilab/modules/ast/includes/types/user.hxx
+++ b/scilab/modules/ast/includes/types/user.hxx
@@ -167,6 +167,13 @@ public :
167 } 167 }
168 168
169 //load must be done by overload %yourtype_load and must returns a pointer on your UserType 169 //load must be done by overload %yourtype_load and must returns a pointer on your UserType
170
171 bool getMemory(int* _piSize, int* _piSizePlusType)
172 {
173 *_piSize = sizeof(UserType);
174 *_piSizePlusType = *_piSize;
175 return true;
176 }
170}; 177};
171} 178}
172 179
diff --git a/scilab/modules/ast/locales/ast.pot b/scilab/modules/ast/locales/ast.pot
index e8e0d70..3dbc155 100644
--- a/scilab/modules/ast/locales/ast.pot
+++ b/scilab/modules/ast/locales/ast.pot
@@ -424,7 +424,7 @@ msgstr ""
424# 424#
425# File: modules/ast/src/cpp/operations/types_power.cpp, line: 66 425# File: modules/ast/src/cpp/operations/types_power.cpp, line: 66
426# File: modules/ast/src/cpp/operations/types_power.cpp, line: 137 426# File: modules/ast/src/cpp/operations/types_power.cpp, line: 137
427msgid "Invalid exponent: expected real exponents.\n" 427msgid "Invalid exponent: expected finite integer exponents.\n"
428msgstr "" 428msgstr ""
429 429
430# 430#
diff --git a/scilab/modules/ast/locales/fr_FR.po b/scilab/modules/ast/locales/fr_FR.po
index ac83ef5..dc10b9f 100644
--- a/scilab/modules/ast/locales/fr_FR.po
+++ b/scilab/modules/ast/locales/fr_FR.po
@@ -206,8 +206,8 @@ msgstr "Attention : division gauche par zéro...\n"
206msgid "Operator \\ : Error %d not yet managed.\n" 206msgid "Operator \\ : Error %d not yet managed.\n"
207msgstr "Erreur de l'opérateur \\ : %d n'est pas implémenté.\n" 207msgstr "Erreur de l'opérateur \\ : %d n'est pas implémenté.\n"
208 208
209msgid "Invalid exponent: expected real exponents.\n" 209msgid "Invalid exponent: expected finite integer exponents.\n"
210msgstr "Exposant invalide : el attendu.\n" 210msgstr "Exposant invalide : entiers finis attendus.\n"
211 211
212msgid "Invalid exponent.\n" 212msgid "Invalid exponent.\n"
213msgstr "Exposant invalide.\n" 213msgstr "Exposant invalide.\n"
diff --git a/scilab/modules/ast/src/c/types/dtoa.c b/scilab/modules/ast/src/c/types/dtoa.c
new file mode 100644
index 0000000..880f9ef
--- /dev/null
+++ b/scilab/modules/ast/src/c/types/dtoa.c
@@ -0,0 +1,6205 @@
1#define IEEE_8087
2
3/****************************************************************
4 *
5 * The author of this software is David M. Gay.
6 *
7 * Copyright (c) 1991, 2000, 2001 by Lucent Technologies.
8 *
9 * Permission to use, copy, modify, and distribute this software for any
10 * purpose without fee is hereby granted, provided that this entire notice
11 * is included in all copies of any software which is or includes a copy
12 * or modification of this software and in all copies of the supporting
13 * documentation for such software.
14 *
15 * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
16 * WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR LUCENT MAKES ANY
17 * REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
18 * OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
19 *
20 ***************************************************************/
21
22/* Please send bug reports to David M. Gay (dmg at acm dot org,
23 * with " at " changed at "@" and " dot " changed to "."). */
24
25/* On a machine with IEEE extended-precision registers, it is
26 * necessary to specify double-precision (53-bit) rounding precision
27 * before invoking strtod or dtoa. If the machine uses (the equivalent
28 * of) Intel 80x87 arithmetic, the call
29 * _control87(PC_53, MCW_PC);
30 * does this with many compilers. Whether this or another call is
31 * appropriate depends on the compiler; for this to work, it may be
32 * necessary to #include "float.h" or another system-dependent header
33 * file.
34 */
35
36/* strtod for IEEE-, VAX-, and IBM-arithmetic machines.
37 * (Note that IEEE arithmetic is disabled by gcc's -ffast-math flag.)
38 *
39 * This strtod returns a nearest machine number to the input decimal
40 * string (or sets errno to ERANGE). With IEEE arithmetic, ties are
41 * broken by the IEEE round-even rule. Otherwise ties are broken by
42 * biased rounding (add half and chop).
43 *
44 * Inspired loosely by William D. Clinger's paper "How to Read Floating
45 * Point Numbers Accurately" [Proc. ACM SIGPLAN '90, pp. 92-101].
46 *
47 * Modifications:
48 *
49 * 1. We only require IEEE, IBM, or VAX double-precision
50 * arithmetic (not IEEE double-extended).
51 * 2. We get by with floating-point arithmetic in a case that
52 * Clinger missed -- when we're computing d * 10^n
53 * for a small integer d and the integer n is not too
54 * much larger than 22 (the maximum integer k for which
55 * we can represent 10^k exactly), we may be able to
56 * compute (d*10^k) * 10^(e-k) with just one roundoff.
57 * 3. Rather than a bit-at-a-time adjustment of the binary
58 * result in the hard case, we use floating-point
59 * arithmetic to determine the adjustment to within
60 * one bit; only in really hard cases do we need to
61 * compute a second residual.
62 * 4. Because of 3., we don't need a large table of powers of 10
63 * for ten-to-e (just some small tables, e.g. of 10^k
64 * for 0 <= k <= 22).
65 */
66
67/*
68 * #define IEEE_8087 for IEEE-arithmetic machines where the least
69 * significant byte has the lowest address.
70 * #define IEEE_MC68k for IEEE-arithmetic machines where the most
71 * significant byte has the lowest address.
72 * #define Long int on machines with 32-bit ints and 64-bit longs.
73 * #define IBM for IBM mainframe-style floating-point arithmetic.
74 * #define VAX for VAX-style floating-point arithmetic (D_floating).
75 * #define No_leftright to omit left-right logic in fast floating-point
76 * computation of dtoa. This will cause dtoa modes 4 and 5 to be
77 * treated the same as modes 2 and 3 for some inputs.
78 * #define Honor_FLT_ROUNDS if FLT_ROUNDS can assume the values 2 or 3
79 * and strtod and dtoa should round accordingly. Unless Trust_FLT_ROUNDS
80 * is also #defined, fegetround() will be queried for the rounding mode.
81 * Note that both FLT_ROUNDS and fegetround() are specified by the C99
82 * standard (and are specified to be consistent, with fesetround()
83 * affecting the value of FLT_ROUNDS), but that some (Linux) systems
84 * do not work correctly in this regard, so using fegetround() is more
85 * portable than using FLT_ROUNDS directly.
86 * #define Check_FLT_ROUNDS if FLT_ROUNDS can assume the values 2 or 3
87 * and Honor_FLT_ROUNDS is not #defined.
88 * #define RND_PRODQUOT to use rnd_prod and rnd_quot (assembly routines
89 * that use extended-precision instructions to compute rounded
90 * products and quotients) with IBM.
91 * #define ROUND_BIASED for IEEE-format with biased rounding and arithmetic
92 * that rounds toward +Infinity.
93 * #define ROUND_BIASED_without_Round_Up for IEEE-format with biased
94 * rounding when the underlying floating-point arithmetic uses
95 * unbiased rounding. This prevent using ordinary floating-point
96 * arithmetic when the result could be computed with one rounding error.
97 * #define Inaccurate_Divide for IEEE-format with correctly rounded
98 * products but inaccurate quotients, e.g., for Intel i860.
99 * #define NO_LONG_LONG on machines that do not have a "long long"
100 * integer type (of >= 64 bits). On such machines, you can
101 * #define Just_16 to store 16 bits per 32-bit Long when doing
102 * high-precision integer arithmetic. Whether this speeds things
103 * up or slows things down depends on the machine and the number
104 * being converted. If long long is available and the name is
105 * something other than "long long", #define Llong to be the name,
106 * and if "unsigned Llong" does not work as an unsigned version of
107 * Llong, #define #ULLong to be the corresponding unsigned type.
108 * #define Bad_float_h if your system lacks a float.h or if it does not
109 * define some or all of DBL_DIG, DBL_MAX_10_EXP, DBL_MAX_EXP,
110 * FLT_RADIX, FLT_ROUNDS, and DBL_MAX.
111 * #define MALLOC your_malloc, where your_malloc(n) acts like malloc(n)
112 * if memory is available and otherwise does something you deem
113 * appropriate. If MALLOC is undefined, malloc will be invoked
114 * directly -- and assumed always to succeed. Similarly, if you
115 * want something other than the system's free() to be called to
116 * recycle memory acquired from MALLOC, #define FREE to be the
117 * name of the alternate routine. (FREE or free is only called in
118 * pathological cases, e.g., in a dtoa call after a dtoa return in
119 * mode 3 with thousands of digits requested.)
120 * #define Omit_Private_Memory to omit logic (added Jan. 1998) for making
121 * memory allocations from a private pool of memory when possible.
122 * When used, the private pool is PRIVATE_MEM bytes long: 2304 bytes,
123 * unless #defined to be a different length. This default length
124 * suffices to get rid of MALLOC calls except for unusual cases,
125 * such as decimal-to-binary conversion of a very long string of
126 * digits. The longest string dtoa can return is about 751 bytes
127 * long. For conversions by strtod of strings of 800 digits and
128 * all dtoa conversions in single-threaded executions with 8-byte
129 * pointers, PRIVATE_MEM >= 7400 appears to suffice; with 4-byte
130 * pointers, PRIVATE_MEM >= 7112 appears adequate.
131 * #define NO_INFNAN_CHECK if you do not wish to have INFNAN_CHECK
132 * #defined automatically on IEEE systems. On such systems,
133 * when INFNAN_CHECK is #defined, strtod checks
134 * for Infinity and NaN (case insensitively). On some systems
135 * (e.g., some HP systems), it may be necessary to #define NAN_WORD0
136 * appropriately -- to the most significant word of a quiet NaN.
137 * (On HP Series 700/800 machines, -DNAN_WORD0=0x7ff40000 works.)
138 * When INFNAN_CHECK is #defined and No_Hex_NaN is not #defined,
139 * strtod also accepts (case insensitively) strings of the form
140 * NaN(x), where x is a string of hexadecimal digits and spaces;
141 * if there is only one string of hexadecimal digits, it is taken
142 * for the 52 fraction bits of the resulting NaN; if there are two
143 * or more strings of hex digits, the first is for the high 20 bits,
144 * the second and subsequent for the low 32 bits, with intervening
145 * white space ignored; but if this results in none of the 52
146 * fraction bits being on (an IEEE Infinity symbol), then NAN_WORD0
147 * and NAN_WORD1 are used instead.
148 * #define MULTIPLE_THREADS if the system offers preemptively scheduled
149 * multiple threads. In this case, you must provide (or suitably
150 * #define) two locks, acquired by ACQUIRE_DTOA_LOCK(n) and freed
151 * by FREE_DTOA_LOCK(n) for n = 0 or 1. (The second lock, accessed
152 * in pow5mult, ensures lazy evaluation of only one copy of high
153 * powers of 5; omitting this lock would introduce a small
154 * probability of wasting memory, but would otherwise be harmless.)
155 * You must also invoke freedtoa(s) to free the value s returned by
156 * dtoa. You may do so whether or not MULTIPLE_THREADS is #defined.
157
158 * When MULTIPLE_THREADS is #defined, this source file provides
159 * void set_max_dtoa_threads(unsigned int n);
160 * and expects
161 * unsigned int dtoa_get_threadno(void);
162 * to be available (possibly provided by
163 * #define dtoa_get_threadno omp_get_thread_num
164 * if OpenMP is in use or by
165 * #define dtoa_get_threadno pthread_self
166 * if Pthreads is in use), to return the current thread number.
167 * If set_max_dtoa_threads(n) was called and the current thread
168 * number is k with k < n, then calls on ACQUIRE_DTOA_LOCK(...) and
169 * FREE_DTOA_LOCK(...) are avoided; instead each thread with thread
170 * number < n has a separate copy of relevant data structures.
171 * After set_max_dtoa_threads(n), a call set_max_dtoa_threads(m)
172 * with m <= n has has no effect, but a call with m > n is honored.
173 * Such a call invokes REALLOC (assumed to be "realloc" if REALLOC
174 * is not #defined) to extend the size of the relevant array.
175
176 * #define NO_IEEE_Scale to disable new (Feb. 1997) logic in strtod that
177 * avoids underflows on inputs whose result does not underflow.
178 * If you #define NO_IEEE_Scale on a machine that uses IEEE-format
179 * floating-point numbers and flushes underflows to zero rather
180 * than implementing gradual underflow, then you must also #define
181 * Sudden_Underflow.
182 * #define USE_LOCALE to use the current locale's decimal_point value.
183 * #define SET_INEXACT if IEEE arithmetic is being used and extra
184 * computation should be done to set the inexact flag when the
185 * result is inexact and avoid setting inexact when the result
186 * is exact. In this case, dtoa.c must be compiled in
187 * an environment, perhaps provided by #include "dtoa.c" in a
188 * suitable wrapper, that defines two functions,
189 * int get_inexact(void);
190 * void clear_inexact(void);
191 * such that get_inexact() returns a nonzero value if the
192 * inexact bit is already set, and clear_inexact() sets the
193 * inexact bit to 0. When SET_INEXACT is #defined, strtod
194 * also does extra computations to set the underflow and overflow
195 * flags when appropriate (i.e., when the result is tiny and
196 * inexact or when it is a numeric value rounded to +-infinity).
197 * #define NO_ERRNO if strtod should not assign errno = ERANGE when
198 * the result overflows to +-Infinity or underflows to 0.
199 * When errno should be assigned, under seemingly rare conditions
200 * it may be necessary to define Set_errno(x) suitably, e.g., in
201 * a local errno.h, such as
202 * #include <errno.h>
203 * #define Set_errno(x) _set_errno(x)
204 * #define NO_HEX_FP to omit recognition of hexadecimal floating-point
205 * values by strtod.
206 * #define NO_STRTOD_BIGCOMP (on IEEE-arithmetic systems only for now)
207 * to disable logic for "fast" testing of very long input strings
208 * to strtod. This testing proceeds by initially truncating the
209 * input string, then if necessary comparing the whole string with
210 * a decimal expansion to decide close cases. This logic is only
211 * used for input more than STRTOD_DIGLIM digits long (default 40).
212 */
213
214#ifndef Long
215#define Long int
216#endif
217#ifndef ULong
218typedef unsigned Long ULong;
219#endif
220
221#ifdef DEBUG
222#include <assert.h>
223#include "stdio.h"
224#define Bug(x) {fprintf(stderr, "%s\n", x); exit(1);}
225#define Debug(x) x
226int dtoa_stats[7]; /* strtod_{64,96,bigcomp},dtoa_{exact,64,96,bigcomp} */
227#else
228#define assert(x) /*nothing*/
229#define Debug(x) /*nothing*/
230#endif
231
232#include "stdlib.h"
233#include "string.h"
234
235#ifdef USE_LOCALE
236#include "locale.h"
237#endif
238
239#ifdef Honor_FLT_ROUNDS
240#ifndef Trust_FLT_ROUNDS
241#include <fenv.h>
242#endif
243#endif
244
245#ifdef __cplusplus
246extern "C" {
247#endif
248#ifdef MALLOC
249extern void *MALLOC(size_t);
250#else
251#define MALLOC malloc
252#endif
253
254#ifdef REALLOC
255extern void *REALLOC(void*,size_t);
256#else
257#define REALLOC realloc
258#endif
259
260#ifndef FREE
261#define FREE free
262#endif
263
264#ifdef __cplusplus
265 }
266#endif
267
268#ifndef Omit_Private_Memory
269#ifndef PRIVATE_MEM
270#define PRIVATE_MEM 2304
271#endif
272#define PRIVATE_mem ((PRIVATE_MEM+sizeof(double)-1)/sizeof(double))
273static double private_mem[PRIVATE_mem], *pmem_next = private_mem;
274#endif
275
276#undef IEEE_Arith
277#undef Avoid_Underflow
278#ifdef IEEE_MC68k
279#define IEEE_Arith
280#endif
281#ifdef IEEE_8087
282#define IEEE_Arith
283#endif
284
285#ifdef IEEE_Arith
286#ifndef NO_INFNAN_CHECK
287#undef INFNAN_CHECK
288#define INFNAN_CHECK
289#endif
290#else
291#undef INFNAN_CHECK
292#define NO_STRTOD_BIGCOMP
293#endif
294
295#include "errno.h"
296
297#ifdef NO_ERRNO /*{*/
298#undef Set_errno
299#define Set_errno(x)
300#else
301#ifndef Set_errno
302#define Set_errno(x) errno = x
303#endif
304#endif /*}*/
305
306#ifdef Bad_float_h
307
308#ifdef IEEE_Arith
309#define DBL_DIG 15
310#define DBL_MAX_10_EXP 308
311#define DBL_MAX_EXP 1024
312#define FLT_RADIX 2
313#endif /*IEEE_Arith*/
314
315#ifdef IBM
316#define DBL_DIG 16
317#define DBL_MAX_10_EXP 75
318#define DBL_MAX_EXP 63
319#define FLT_RADIX 16
320#define DBL_MAX 7.2370055773322621e+75
321#endif
322
323#ifdef VAX
324#define DBL_DIG 16
325#define DBL_MAX_10_EXP 38
326#define DBL_MAX_EXP 127
327#define FLT_RADIX 2
328#define DBL_MAX 1.7014118346046923e+38
329#endif
330
331#ifndef LONG_MAX
332#define LONG_MAX 2147483647
333#endif
334
335#else /* ifndef Bad_float_h */
336#include "float.h"
337#endif /* Bad_float_h */
338
339#ifndef __MATH_H__
340#include "math.h"
341#endif
342
343#ifdef __cplusplus
344extern "C" {
345#endif
346
347#if defined(IEEE_8087) + defined(IEEE_MC68k) + defined(VAX) + defined(IBM) != 1
348Exactly one of IEEE_8087, IEEE_MC68k, VAX, or IBM should be defined.
349#endif
350
351#undef USE_BF96
352
353#ifdef NO_LONG_LONG /*{{*/
354#undef ULLong
355#ifdef Just_16
356#undef Pack_32
357/* When Pack_32 is not defined, we store 16 bits per 32-bit Long.
358 * This makes some inner loops simpler and sometimes saves work
359 * during multiplications, but it often seems to make things slightly
360 * slower. Hence the default is now to store 32 bits per Long.
361 */
362#endif
363#else /*}{ long long available */
364#ifndef Llong
365#define Llong long long
366#endif
367#ifndef ULLong
368#define ULLong unsigned Llong
369#endif
370#ifndef NO_BF96 /*{*/
371#define USE_BF96
372
373#ifdef SET_INEXACT
374#define dtoa_divmax 27
375#else
376int dtoa_divmax = 2; /* Permit experimenting: on some systems, 64-bit integer */
377 /* division is slow enough that we may sometimes want to */
378 /* avoid using it. We assume (but do not check) that */
379 /* dtoa_divmax <= 27.*/
380#endif
381
382typedef struct BF96 { /* Normalized 96-bit software floating point numbers */
383 unsigned int b0,b1,b2; /* b0 = most significant, binary point just to its left */
384 int e; /* number represented = b * 2^e, with .5 <= b < 1 */
385 } BF96;
386
387 static BF96 pten[667] = {
388 { 0xeef453d6, 0x923bd65a, 0x113faa29, -1136 },
389 { 0x9558b466, 0x1b6565f8, 0x4ac7ca59, -1132 },
390 { 0xbaaee17f, 0xa23ebf76, 0x5d79bcf0, -1129 },
391 { 0xe95a99df, 0x8ace6f53, 0xf4d82c2c, -1126 },
392 { 0x91d8a02b, 0xb6c10594, 0x79071b9b, -1122 },
393 { 0xb64ec836, 0xa47146f9, 0x9748e282, -1119 },
394 { 0xe3e27a44, 0x4d8d98b7, 0xfd1b1b23, -1116 },
395 { 0x8e6d8c6a, 0xb0787f72, 0xfe30f0f5, -1112 },
396 { 0xb208ef85, 0x5c969f4f, 0xbdbd2d33, -1109 },
397 { 0xde8b2b66, 0xb3bc4723, 0xad2c7880, -1106 },
398 { 0x8b16fb20, 0x3055ac76, 0x4c3bcb50, -1102 },
399 { 0xaddcb9e8, 0x3c6b1793, 0xdf4abe24, -1099 },
400 { 0xd953e862, 0x4b85dd78, 0xd71d6dad, -1096 },
401 { 0x87d4713d, 0x6f33aa6b, 0x8672648c, -1092 },
402 { 0xa9c98d8c, 0xcb009506, 0x680efdaf, -1089 },
403 { 0xd43bf0ef, 0xfdc0ba48, 0x0212bd1b, -1086 },
404 { 0x84a57695, 0xfe98746d, 0x014bb630, -1082 },
405 { 0xa5ced43b, 0x7e3e9188, 0x419ea3bd, -1079 },
406 { 0xcf42894a, 0x5dce35ea, 0x52064cac, -1076 },
407 { 0x818995ce, 0x7aa0e1b2, 0x7343efeb, -1072 },
408 { 0xa1ebfb42, 0x19491a1f, 0x1014ebe6, -1069 },
409 { 0xca66fa12, 0x9f9b60a6, 0xd41a26e0, -1066 },
410 { 0xfd00b897, 0x478238d0, 0x8920b098, -1063 },
411 { 0x9e20735e, 0x8cb16382, 0x55b46e5f, -1059 },
412 { 0xc5a89036, 0x2fddbc62, 0xeb2189f7, -1056 },
413 { 0xf712b443, 0xbbd52b7b, 0xa5e9ec75, -1053 },
414 { 0x9a6bb0aa, 0x55653b2d, 0x47b233c9, -1049 },
415 { 0xc1069cd4, 0xeabe89f8, 0x999ec0bb, -1046 },
416 { 0xf148440a, 0x256e2c76, 0xc00670ea, -1043 },
417 { 0x96cd2a86, 0x5764dbca, 0x38040692, -1039 },
418 { 0xbc807527, 0xed3e12bc, 0xc6050837, -1036 },
419 { 0xeba09271, 0xe88d976b, 0xf7864a44, -1033 },
420 { 0x93445b87, 0x31587ea3, 0x7ab3ee6a, -1029 },
421 { 0xb8157268, 0xfdae9e4c, 0x5960ea05, -1026 },
422 { 0xe61acf03, 0x3d1a45df, 0x6fb92487, -1023 },
423 { 0x8fd0c162, 0x06306bab, 0xa5d3b6d4, -1019 },
424 { 0xb3c4f1ba, 0x87bc8696, 0x8f48a489, -1016 },
425 { 0xe0b62e29, 0x29aba83c, 0x331acdab, -1013 },
426 { 0x8c71dcd9, 0xba0b4925, 0x9ff0c08b, -1009 },
427 { 0xaf8e5410, 0x288e1b6f, 0x07ecf0ae, -1006 },
428 { 0xdb71e914, 0x32b1a24a, 0xc9e82cd9, -1003 },
429 { 0x892731ac, 0x9faf056e, 0xbe311c08, -999 },
430 { 0xab70fe17, 0xc79ac6ca, 0x6dbd630a, -996 },
431 { 0xd64d3d9d, 0xb981787d, 0x092cbbcc, -993 },
432 { 0x85f04682, 0x93f0eb4e, 0x25bbf560, -989 },
433 { 0xa76c5823, 0x38ed2621, 0xaf2af2b8, -986 },
434 { 0xd1476e2c, 0x07286faa, 0x1af5af66, -983 },
435 { 0x82cca4db, 0x847945ca, 0x50d98d9f, -979 },
436 { 0xa37fce12, 0x6597973c, 0xe50ff107, -976 },
437 { 0xcc5fc196, 0xfefd7d0c, 0x1e53ed49, -973 },
438 { 0xff77b1fc, 0xbebcdc4f, 0x25e8e89c, -970 },
439 { 0x9faacf3d, 0xf73609b1, 0x77b19161, -966 },
440 { 0xc795830d, 0x75038c1d, 0xd59df5b9, -963 },
441 { 0xf97ae3d0, 0xd2446f25, 0x4b057328, -960 },
442 { 0x9becce62, 0x836ac577, 0x4ee367f9, -956 },
443 { 0xc2e801fb, 0x244576d5, 0x229c41f7, -953 },
444 { 0xf3a20279, 0xed56d48a, 0x6b435275, -950 },
445 { 0x9845418c, 0x345644d6, 0x830a1389, -946 },
446 { 0xbe5691ef, 0x416bd60c, 0x23cc986b, -943 },
447 { 0xedec366b, 0x11c6cb8f, 0x2cbfbe86, -940 },
448 { 0x94b3a202, 0xeb1c3f39, 0x7bf7d714, -936 },
449 { 0xb9e08a83, 0xa5e34f07, 0xdaf5ccd9, -933 },
450 { 0xe858ad24, 0x8f5c22c9, 0xd1b3400f, -930 },
451 { 0x91376c36, 0xd99995be, 0x23100809, -926 },
452 { 0xb5854744, 0x8ffffb2d, 0xabd40a0c, -923 },
453 { 0xe2e69915, 0xb3fff9f9, 0x16c90c8f, -920 },
454 { 0x8dd01fad, 0x907ffc3b, 0xae3da7d9, -916 },
455 { 0xb1442798, 0xf49ffb4a, 0x99cd11cf, -913 },
456 { 0xdd95317f, 0x31c7fa1d, 0x40405643, -910 },
457 { 0x8a7d3eef, 0x7f1cfc52, 0x482835ea, -906 },
458 { 0xad1c8eab, 0x5ee43b66, 0xda324365, -903 },
459 { 0xd863b256, 0x369d4a40, 0x90bed43e, -900 },
460 { 0x873e4f75, 0xe2224e68, 0x5a7744a6, -896 },
461 { 0xa90de353, 0x5aaae202, 0x711515d0, -893 },
462 { 0xd3515c28, 0x31559a83, 0x0d5a5b44, -890 },
463 { 0x8412d999, 0x1ed58091, 0xe858790a, -886 },
464 { 0xa5178fff, 0x668ae0b6, 0x626e974d, -883 },
465 { 0xce5d73ff, 0x402d98e3, 0xfb0a3d21, -880 },
466 { 0x80fa687f, 0x881c7f8e, 0x7ce66634, -876 },
467 { 0xa139029f, 0x6a239f72, 0x1c1fffc1, -873 },
468 { 0xc9874347, 0x44ac874e, 0xa327ffb2, -870 },
469 { 0xfbe91419, 0x15d7a922, 0x4bf1ff9f, -867 },
470 { 0x9d71ac8f, 0xada6c9b5, 0x6f773fc3, -863 },
471 { 0xc4ce17b3, 0x99107c22, 0xcb550fb4, -860 },
472 { 0xf6019da0, 0x7f549b2b, 0x7e2a53a1, -857 },
473 { 0x99c10284, 0x4f94e0fb, 0x2eda7444, -853 },
474 { 0xc0314325, 0x637a1939, 0xfa911155, -850 },
475 { 0xf03d93ee, 0xbc589f88, 0x793555ab, -847 },
476 { 0x96267c75, 0x35b763b5, 0x4bc1558b, -843 },
477 { 0xbbb01b92, 0x83253ca2, 0x9eb1aaed, -840 },
478 { 0xea9c2277, 0x23ee8bcb, 0x465e15a9, -837 },
479 { 0x92a1958a, 0x7675175f, 0x0bfacd89, -833 },
480 { 0xb749faed, 0x14125d36, 0xcef980ec, -830 },
481 { 0xe51c79a8, 0x5916f484, 0x82b7e127, -827 },
482 { 0x8f31cc09, 0x37ae58d2, 0xd1b2ecb8, -823 },
483 { 0xb2fe3f0b, 0x8599ef07, 0x861fa7e6, -820 },
484 { 0xdfbdcece, 0x67006ac9, 0x67a791e0, -817 },
485 { 0x8bd6a141, 0x006042bd, 0xe0c8bb2c, -813 },
486 { 0xaecc4991, 0x4078536d, 0x58fae9f7, -810 },
487 { 0xda7f5bf5, 0x90966848, 0xaf39a475, -807 },
488 { 0x888f9979, 0x7a5e012d, 0x6d8406c9, -803 },
489 { 0xaab37fd7, 0xd8f58178, 0xc8e5087b, -800 },
490 { 0xd5605fcd, 0xcf32e1d6, 0xfb1e4a9a, -797 },
491 { 0x855c3be0, 0xa17fcd26, 0x5cf2eea0, -793 },
492 { 0xa6b34ad8, 0xc9dfc06f, 0xf42faa48, -790 },
493 { 0xd0601d8e, 0xfc57b08b, 0xf13b94da, -787 },
494 { 0x823c1279, 0x5db6ce57, 0x76c53d08, -783 },
495 { 0xa2cb1717, 0xb52481ed, 0x54768c4b, -780 },
496 { 0xcb7ddcdd, 0xa26da268, 0xa9942f5d, -777 },
497 { 0xfe5d5415, 0x0b090b02, 0xd3f93b35, -774 },
498 { 0x9efa548d, 0x26e5a6e1, 0xc47bc501, -770 },
499 { 0xc6b8e9b0, 0x709f109a, 0x359ab641, -767 },
500 { 0xf867241c, 0x8cc6d4c0, 0xc30163d2, -764 },
501 { 0x9b407691, 0xd7fc44f8, 0x79e0de63, -760 },
502 { 0xc2109436, 0x4dfb5636, 0x985915fc, -757 },
503 { 0xf294b943, 0xe17a2bc4, 0x3e6f5b7b, -754 },
504 { 0x979cf3ca, 0x6cec5b5a, 0xa705992c, -750 },
505 { 0xbd8430bd, 0x08277231, 0x50c6ff78, -747 },
506 { 0xece53cec, 0x4a314ebd, 0xa4f8bf56, -744 },
507 { 0x940f4613, 0xae5ed136, 0x871b7795, -740 },
508 { 0xb9131798, 0x99f68584, 0x28e2557b, -737 },
509 { 0xe757dd7e, 0xc07426e5, 0x331aeada, -734 },
510 { 0x9096ea6f, 0x3848984f, 0x3ff0d2c8, -730 },
511 { 0xb4bca50b, 0x065abe63, 0x0fed077a, -727 },
512 { 0xe1ebce4d, 0xc7f16dfb, 0xd3e84959, -724 },
513 { 0x8d3360f0, 0x9cf6e4bd, 0x64712dd7, -720 },
514 { 0xb080392c, 0xc4349dec, 0xbd8d794d, -717 },
515 { 0xdca04777, 0xf541c567, 0xecf0d7a0, -714 },
516 { 0x89e42caa, 0xf9491b60, 0xf41686c4, -710 },
517 { 0xac5d37d5, 0xb79b6239, 0x311c2875, -707 },
518 { 0xd77485cb, 0x25823ac7, 0x7d633293, -704 },
519 { 0x86a8d39e, 0xf77164bc, 0xae5dff9c, -700 },
520 { 0xa8530886, 0xb54dbdeb, 0xd9f57f83, -697 },
521 { 0xd267caa8, 0x62a12d66, 0xd072df63, -694 },
522 { 0x8380dea9, 0x3da4bc60, 0x4247cb9e, -690 },
523 { 0xa4611653, 0x8d0deb78, 0x52d9be85, -687 },
524 { 0xcd795be8, 0x70516656, 0x67902e27, -684 },
525 { 0x806bd971, 0x4632dff6, 0x00ba1cd8, -680 },
526 { 0xa086cfcd, 0x97bf97f3, 0x80e8a40e, -677 },
527 { 0xc8a883c0, 0xfdaf7df0, 0x6122cd12, -674 },
528 { 0xfad2a4b1, 0x3d1b5d6c, 0x796b8057, -671 },
529 { 0x9cc3a6ee, 0xc6311a63, 0xcbe33036, -667 },
530 { 0xc3f490aa, 0x77bd60fc, 0xbedbfc44, -664 },
531 { 0xf4f1b4d5, 0x15acb93b, 0xee92fb55, -661 },
532 { 0x99171105, 0x2d8bf3c5, 0x751bdd15, -657 },
533 { 0xbf5cd546, 0x78eef0b6, 0xd262d45a, -654 },
534 { 0xef340a98, 0x172aace4, 0x86fb8971, -651 },
535 { 0x9580869f, 0x0e7aac0e, 0xd45d35e6, -647 },
536 { 0xbae0a846, 0xd2195712, 0x89748360, -644 },
537 { 0xe998d258, 0x869facd7, 0x2bd1a438, -641 },
538 { 0x91ff8377, 0x5423cc06, 0x7b6306a3, -637 },
539 { 0xb67f6455, 0x292cbf08, 0x1a3bc84c, -634 },
540 { 0xe41f3d6a, 0x7377eeca, 0x20caba5f, -631 },
541 { 0x8e938662, 0x882af53e, 0x547eb47b, -627 },
542 { 0xb23867fb, 0x2a35b28d, 0xe99e619a, -624 },
543 { 0xdec681f9, 0xf4c31f31, 0x6405fa00, -621 },
544 { 0x8b3c113c, 0x38f9f37e, 0xde83bc40, -617 },
545 { 0xae0b158b, 0x4738705e, 0x9624ab50, -614 },
546 { 0xd98ddaee, 0x19068c76, 0x3badd624, -611 },
547 { 0x87f8a8d4, 0xcfa417c9, 0xe54ca5d7, -607 },
548 { 0xa9f6d30a, 0x038d1dbc, 0x5e9fcf4c, -604 },
549 { 0xd47487cc, 0x8470652b, 0x7647c320, -601 },
550 { 0x84c8d4df, 0xd2c63f3b, 0x29ecd9f4, -597 },
551 { 0xa5fb0a17, 0xc777cf09, 0xf4681071, -594 },
552 { 0xcf79cc9d, 0xb955c2cc, 0x7182148d, -591 },
553 { 0x81ac1fe2, 0x93d599bf, 0xc6f14cd8, -587 },
554 { 0xa21727db, 0x38cb002f, 0xb8ada00e, -584 },
555 { 0xca9cf1d2, 0x06fdc03b, 0xa6d90811, -581 },
556 { 0xfd442e46, 0x88bd304a, 0x908f4a16, -578 },
557 { 0x9e4a9cec, 0x15763e2e, 0x9a598e4e, -574 },
558 { 0xc5dd4427, 0x1ad3cdba, 0x40eff1e1, -571 },
559 { 0xf7549530, 0xe188c128, 0xd12bee59, -568 },
560 { 0x9a94dd3e, 0x8cf578b9, 0x82bb74f8, -564 },
561 { 0xc13a148e, 0x3032d6e7, 0xe36a5236, -561 },
562 { 0xf18899b1, 0xbc3f8ca1, 0xdc44e6c3, -558 },
563 { 0x96f5600f, 0x15a7b7e5, 0x29ab103a, -554 },
564 { 0xbcb2b812, 0xdb11a5de, 0x7415d448, -551 },
565 { 0xebdf6617, 0x91d60f56, 0x111b495b, -548 },
566 { 0x936b9fce, 0xbb25c995, 0xcab10dd9, -544 },
567 { 0xb84687c2, 0x69ef3bfb, 0x3d5d514f, -541 },
568 { 0xe65829b3, 0x046b0afa, 0x0cb4a5a3, -538 },
569 { 0x8ff71a0f, 0xe2c2e6dc, 0x47f0e785, -534 },
570 { 0xb3f4e093, 0xdb73a093, 0x59ed2167, -531 },
571 { 0xe0f218b8, 0xd25088b8, 0x306869c1, -528 },
572 { 0x8c974f73, 0x83725573, 0x1e414218, -524 },
573 { 0xafbd2350, 0x644eeacf, 0xe5d1929e, -521 },
574 { 0xdbac6c24, 0x7d62a583, 0xdf45f746, -518 },
575 { 0x894bc396, 0xce5da772, 0x6b8bba8c, -514 },
576 { 0xab9eb47c, 0x81f5114f, 0x066ea92f, -511 },
577 { 0xd686619b, 0xa27255a2, 0xc80a537b, -508 },
578 { 0x8613fd01, 0x45877585, 0xbd06742c, -504 },
579 { 0xa798fc41, 0x96e952e7, 0x2c481138, -501 },
580 { 0xd17f3b51, 0xfca3a7a0, 0xf75a1586, -498 },
581 { 0x82ef8513, 0x3de648c4, 0x9a984d73, -494 },
582 { 0xa3ab6658, 0x0d5fdaf5, 0xc13e60d0, -491 },
583 { 0xcc963fee, 0x10b7d1b3, 0x318df905, -488 },
584 { 0xffbbcfe9, 0x94e5c61f, 0xfdf17746, -485 },
585 { 0x9fd561f1, 0xfd0f9bd3, 0xfeb6ea8b, -481 },
586 { 0xc7caba6e, 0x7c5382c8, 0xfe64a52e, -478 },
587 { 0xf9bd690a, 0x1b68637b, 0x3dfdce7a, -475 },
588 { 0x9c1661a6, 0x51213e2d, 0x06bea10c, -471 },
589 { 0xc31bfa0f, 0xe5698db8, 0x486e494f, -468 },
590 { 0xf3e2f893, 0xdec3f126, 0x5a89dba3, -465 },
591 { 0x986ddb5c, 0x6b3a76b7, 0xf8962946, -461 },
592 { 0xbe895233, 0x86091465, 0xf6bbb397, -458 },
593 { 0xee2ba6c0, 0x678b597f, 0x746aa07d, -455 },
594 { 0x94db4838, 0x40b717ef, 0xa8c2a44e, -451 },
595 { 0xba121a46, 0x50e4ddeb, 0x92f34d62, -448 },
596 { 0xe896a0d7, 0xe51e1566, 0x77b020ba, -445 },
597 { 0x915e2486, 0xef32cd60, 0x0ace1474, -441 },
598 { 0xb5b5ada8, 0xaaff80b8, 0x0d819992, -438 },
599 { 0xe3231912, 0xd5bf60e6, 0x10e1fff6, -435 },
600 { 0x8df5efab, 0xc5979c8f, 0xca8d3ffa, -431 },
601 { 0xb1736b96, 0xb6fd83b3, 0xbd308ff8, -428 },
602 { 0xddd0467c, 0x64bce4a0, 0xac7cb3f6, -425 },
603 { 0x8aa22c0d, 0xbef60ee4, 0x6bcdf07a, -421 },
604 { 0xad4ab711, 0x2eb3929d, 0x86c16c98, -418 },
605 { 0xd89d64d5, 0x7a607744, 0xe871c7bf, -415 },
606 { 0x87625f05, 0x6c7c4a8b, 0x11471cd7, -411 },
607 { 0xa93af6c6, 0xc79b5d2d, 0xd598e40d, -408 },
608 { 0xd389b478, 0x79823479, 0x4aff1d10, -405 },
609 { 0x843610cb, 0x4bf160cb, 0xcedf722a, -401 },
610 { 0xa54394fe, 0x1eedb8fe, 0xc2974eb4, -398 },
611 { 0xce947a3d, 0xa6a9273e, 0x733d2262, -395 },
612 { 0x811ccc66, 0x8829b887, 0x0806357d, -391 },
613 { 0xa163ff80, 0x2a3426a8, 0xca07c2dc, -388 },
614 { 0xc9bcff60, 0x34c13052, 0xfc89b393, -385 },
615 { 0xfc2c3f38, 0x41f17c67, 0xbbac2078, -382 },
616 { 0x9d9ba783, 0x2936edc0, 0xd54b944b, -378 },
617 { 0xc5029163, 0xf384a931, 0x0a9e795e, -375 },
618 { 0xf64335bc, 0xf065d37d, 0x4d4617b5, -372 },
619 { 0x99ea0196, 0x163fa42e, 0x504bced1, -368 },
620 { 0xc06481fb, 0x9bcf8d39, 0xe45ec286, -365 },
621 { 0xf07da27a, 0x82c37088, 0x5d767327, -362 },
622 { 0x964e858c, 0x91ba2655, 0x3a6a07f8, -358 },
623 { 0xbbe226ef, 0xb628afea, 0x890489f7, -355 },
624 { 0xeadab0ab, 0xa3b2dbe5, 0x2b45ac74, -352 },
625 { 0x92c8ae6b, 0x464fc96f, 0x3b0b8bc9, -348 },
626 { 0xb77ada06, 0x17e3bbcb, 0x09ce6ebb, -345 },
627 { 0xe5599087, 0x9ddcaabd, 0xcc420a6a, -342 },
628 { 0x8f57fa54, 0xc2a9eab6, 0x9fa94682, -338 },
629 { 0xb32df8e9, 0xf3546564, 0x47939822, -335 },
630 { 0xdff97724, 0x70297ebd, 0x59787e2b, -332 },
631 { 0x8bfbea76, 0xc619ef36, 0x57eb4edb, -328 },
632 { 0xaefae514, 0x77a06b03, 0xede62292, -325 },
633 { 0xdab99e59, 0x958885c4, 0xe95fab36, -322 },
634 { 0x88b402f7, 0xfd75539b, 0x11dbcb02, -318 },
635 { 0xaae103b5, 0xfcd2a881, 0xd652bdc2, -315 },
636 { 0xd59944a3, 0x7c0752a2, 0x4be76d33, -312 },
637 { 0x857fcae6, 0x2d8493a5, 0x6f70a440, -308 },
638 { 0xa6dfbd9f, 0xb8e5b88e, 0xcb4ccd50, -305 },
639 { 0xd097ad07, 0xa71f26b2, 0x7e2000a4, -302 },
640 { 0x825ecc24, 0xc873782f, 0x8ed40066, -298 },
641 { 0xa2f67f2d, 0xfa90563b, 0x72890080, -295 },
642 { 0xcbb41ef9, 0x79346bca, 0x4f2b40a0, -292 },
643 { 0xfea126b7, 0xd78186bc, 0xe2f610c8, -289 },
644 { 0x9f24b832, 0xe6b0f436, 0x0dd9ca7d, -285 },
645 { 0xc6ede63f, 0xa05d3143, 0x91503d1c, -282 },
646 { 0xf8a95fcf, 0x88747d94, 0x75a44c63, -279 },
647 { 0x9b69dbe1, 0xb548ce7c, 0xc986afbe, -275 },
648 { 0xc24452da, 0x229b021b, 0xfbe85bad, -272 },
649 { 0xf2d56790, 0xab41c2a2, 0xfae27299, -269 },
650 { 0x97c560ba, 0x6b0919a5, 0xdccd879f, -265 },
651 { 0xbdb6b8e9, 0x05cb600f, 0x5400e987, -262 },
652 { 0xed246723, 0x473e3813, 0x290123e9, -259 },
653 { 0x9436c076, 0x0c86e30b, 0xf9a0b672, -255 },
654 { 0xb9447093, 0x8fa89bce, 0xf808e40e, -252 },
655 { 0xe7958cb8, 0x7392c2c2, 0xb60b1d12, -249 },
656 { 0x90bd77f3, 0x483bb9b9, 0xb1c6f22b, -245 },
657 { 0xb4ecd5f0, 0x1a4aa828, 0x1e38aeb6, -242 },
658 { 0xe2280b6c, 0x20dd5232, 0x25c6da63, -239 },
659 { 0x8d590723, 0x948a535f, 0x579c487e, -235 },
660 { 0xb0af48ec, 0x79ace837, 0x2d835a9d, -232 },
661 { 0xdcdb1b27, 0x98182244, 0xf8e43145, -229 },
662 { 0x8a08f0f8, 0xbf0f156b, 0x1b8e9ecb, -225 },
663 { 0xac8b2d36, 0xeed2dac5, 0xe272467e, -222 },
664 { 0xd7adf884, 0xaa879177, 0x5b0ed81d, -219 },
665 { 0x86ccbb52, 0xea94baea, 0x98e94712, -215 },
666 { 0xa87fea27, 0xa539e9a5, 0x3f2398d7, -212 },
667 { 0xd29fe4b1, 0x8e88640e, 0x8eec7f0d, -209 },
668 { 0x83a3eeee, 0xf9153e89, 0x1953cf68, -205 },
669 { 0xa48ceaaa, 0xb75a8e2b, 0x5fa8c342, -202 },
670 { 0xcdb02555, 0x653131b6, 0x3792f412, -199 },
671 { 0x808e1755, 0x5f3ebf11, 0xe2bbd88b, -195 },
672 { 0xa0b19d2a, 0xb70e6ed6, 0x5b6aceae, -192 },
673 { 0xc8de0475, 0x64d20a8b, 0xf245825a, -189 },
674 { 0xfb158592, 0xbe068d2e, 0xeed6e2f0, -186 },
675 { 0x9ced737b, 0xb6c4183d, 0x55464dd6, -182 },
676 { 0xc428d05a, 0xa4751e4c, 0xaa97e14c, -179 },
677 { 0xf5330471, 0x4d9265df, 0xd53dd99f, -176 },
678 { 0x993fe2c6, 0xd07b7fab, 0xe546a803, -172 },
679 { 0xbf8fdb78, 0x849a5f96, 0xde985204, -169 },
680 { 0xef73d256, 0xa5c0f77c, 0x963e6685, -166 },
681 { 0x95a86376, 0x27989aad, 0xdde70013, -162 },
682 { 0xbb127c53, 0xb17ec159, 0x5560c018, -159 },
683 { 0xe9d71b68, 0x9dde71af, 0xaab8f01e, -156 },
684 { 0x92267121, 0x62ab070d, 0xcab39613, -152 },
685 { 0xb6b00d69, 0xbb55c8d1, 0x3d607b97, -149 },
686 { 0xe45c10c4, 0x2a2b3b05, 0x8cb89a7d, -146 },
687 { 0x8eb98a7a, 0x9a5b04e3, 0x77f3608e, -142 },
688 { 0xb267ed19, 0x40f1c61c, 0x55f038b2, -139 },
689 { 0xdf01e85f, 0x912e37a3, 0x6b6c46de, -136 },
690 { 0x8b61313b, 0xbabce2c6, 0x2323ac4b, -132 },
691 { 0xae397d8a, 0xa96c1b77, 0xabec975e, -129 },
692 { 0xd9c7dced, 0x53c72255, 0x96e7bd35, -126 },
693 { 0x881cea14, 0x545c7575, 0x7e50d641, -122 },
694 { 0xaa242499, 0x697392d2, 0xdde50bd1, -119 },
695 { 0xd4ad2dbf, 0xc3d07787, 0x955e4ec6, -116 },
696 { 0x84ec3c97, 0xda624ab4, 0xbd5af13b, -112 },
697 { 0xa6274bbd, 0xd0fadd61, 0xecb1ad8a, -109 },
698 { 0xcfb11ead, 0x453994ba, 0x67de18ed, -106 },
699 { 0x81ceb32c, 0x4b43fcf4, 0x80eacf94, -102 },
700 { 0xa2425ff7, 0x5e14fc31, 0xa1258379, -99 },
701 { 0xcad2f7f5, 0x359a3b3e, 0x096ee458, -96 },
702 { 0xfd87b5f2, 0x8300ca0d, 0x8bca9d6e, -93 },
703 { 0x9e74d1b7, 0x91e07e48, 0x775ea264, -89 },
704 { 0xc6120625, 0x76589dda, 0x95364afe, -86 },
705 { 0xf79687ae, 0xd3eec551, 0x3a83ddbd, -83 },
706 { 0x9abe14cd, 0x44753b52, 0xc4926a96, -79 },
707 { 0xc16d9a00, 0x95928a27, 0x75b7053c, -76 },
708 { 0xf1c90080, 0xbaf72cb1, 0x5324c68b, -73 },
709 { 0x971da050, 0x74da7bee, 0xd3f6fc16, -69 },
710 { 0xbce50864, 0x92111aea, 0x88f4bb1c, -66 },
711 { 0xec1e4a7d, 0xb69561a5, 0x2b31e9e3, -63 },
712 { 0x9392ee8e, 0x921d5d07, 0x3aff322e, -59 },
713 { 0xb877aa32, 0x36a4b449, 0x09befeb9, -56 },
714 { 0xe69594be, 0xc44de15b, 0x4c2ebe68, -53 },
715 { 0x901d7cf7, 0x3ab0acd9, 0x0f9d3701, -49 },
716 { 0xb424dc35, 0x095cd80f, 0x538484c1, -46 },
717 { 0xe12e1342, 0x4bb40e13, 0x2865a5f2, -43 },
718 { 0x8cbccc09, 0x6f5088cb, 0xf93f87b7, -39 },
719 { 0xafebff0b, 0xcb24aafe, 0xf78f69a5, -36 },
720 { 0xdbe6fece, 0xbdedd5be, 0xb573440e, -33 },
721 { 0x89705f41, 0x36b4a597, 0x31680a88, -29 },
722 { 0xabcc7711, 0x8461cefc, 0xfdc20d2b, -26 },
723 { 0xd6bf94d5, 0xe57a42bc, 0x3d329076, -23 },
724 { 0x8637bd05, 0xaf6c69b5, 0xa63f9a49, -19 },
725 { 0xa7c5ac47, 0x1b478423, 0x0fcf80dc, -16 },
726 { 0xd1b71758, 0xe219652b, 0xd3c36113, -13 },
727 { 0x83126e97, 0x8d4fdf3b, 0x645a1cac, -9 },
728 { 0xa3d70a3d, 0x70a3d70a, 0x3d70a3d7, -6 },
729 { 0xcccccccc, 0xcccccccc, 0xcccccccc, -3 },
730 { 0x80000000, 0x00000000, 0x00000000, 1 },
731 { 0xa0000000, 0x00000000, 0x00000000, 4 },
732 { 0xc8000000, 0x00000000, 0x00000000, 7 },
733 { 0xfa000000, 0x00000000, 0x00000000, 10 },
734 { 0x9c400000, 0x00000000, 0x00000000, 14 },
735 { 0xc3500000, 0x00000000, 0x00000000, 17 },
736 { 0xf4240000, 0x00000000, 0x00000000, 20 },
737 { 0x98968000, 0x00000000, 0x00000000, 24 },
738 { 0xbebc2000, 0x00000000, 0x00000000, 27 },
739 { 0xee6b2800, 0x00000000, 0x00000000, 30 },
740 { 0x9502f900, 0x00000000, 0x00000000, 34 },
741 { 0xba43b740, 0x00000000, 0x00000000, 37 },
742 { 0xe8d4a510, 0x00000000, 0x00000000, 40 },
743 { 0x9184e72a, 0x00000000, 0x00000000, 44 },
744 { 0xb5e620f4, 0x80000000, 0x00000000, 47 },
745 { 0xe35fa931, 0xa0000000, 0x00000000, 50 },
746 { 0x8e1bc9bf, 0x04000000, 0x00000000, 54 },
747 { 0xb1a2bc2e, 0xc5000000, 0x00000000, 57 },
748 { 0xde0b6b3a, 0x76400000, 0x00000000, 60 },
749 { 0x8ac72304, 0x89e80000, 0x00000000, 64 },
750 { 0xad78ebc5, 0xac620000, 0x00000000, 67 },
751 { 0xd8d726b7, 0x177a8000, 0x00000000, 70 },
752 { 0x87867832, 0x6eac9000, 0x00000000, 74 },
753 { 0xa968163f, 0x0a57b400, 0x00000000, 77 },
754 { 0xd3c21bce, 0xcceda100, 0x00000000, 80 },
755 { 0x84595161, 0x401484a0, 0x00000000, 84 },
756 { 0xa56fa5b9, 0x9019a5c8, 0x00000000, 87 },
757 { 0xcecb8f27, 0xf4200f3a, 0x00000000, 90 },
758 { 0x813f3978, 0xf8940984, 0x40000000, 94 },
759 { 0xa18f07d7, 0x36b90be5, 0x50000000, 97 },
760 { 0xc9f2c9cd, 0x04674ede, 0xa4000000, 100 },
761 { 0xfc6f7c40, 0x45812296, 0x4d000000, 103 },
762 { 0x9dc5ada8, 0x2b70b59d, 0xf0200000, 107 },
763 { 0xc5371912, 0x364ce305, 0x6c280000, 110 },
764 { 0xf684df56, 0xc3e01bc6, 0xc7320000, 113 },
765 { 0x9a130b96, 0x3a6c115c, 0x3c7f4000, 117 },
766 { 0xc097ce7b, 0xc90715b3, 0x4b9f1000, 120 },
767 { 0xf0bdc21a, 0xbb48db20, 0x1e86d400, 123 },
768 { 0x96769950, 0xb50d88f4, 0x13144480, 127 },
769 { 0xbc143fa4, 0xe250eb31, 0x17d955a0, 130 },
770 { 0xeb194f8e, 0x1ae525fd, 0x5dcfab08, 133 },
771 { 0x92efd1b8, 0xd0cf37be, 0x5aa1cae5, 137 },
772 { 0xb7abc627, 0x050305ad, 0xf14a3d9e, 140 },
773 { 0xe596b7b0, 0xc643c719, 0x6d9ccd05, 143 },
774 { 0x8f7e32ce, 0x7bea5c6f, 0xe4820023, 147 },
775 { 0xb35dbf82, 0x1ae4f38b, 0xdda2802c, 150 },
776 { 0xe0352f62, 0xa19e306e, 0xd50b2037, 153 },
777 { 0x8c213d9d, 0xa502de45, 0x4526f422, 157 },
778 { 0xaf298d05, 0x0e4395d6, 0x9670b12b, 160 },
779 { 0xdaf3f046, 0x51d47b4c, 0x3c0cdd76, 163 },
780 { 0x88d8762b, 0xf324cd0f, 0xa5880a69, 167 },
781 { 0xab0e93b6, 0xefee0053, 0x8eea0d04, 170 },
782 { 0xd5d238a4, 0xabe98068, 0x72a49045, 173 },
783 { 0x85a36366, 0xeb71f041, 0x47a6da2b, 177 },
784 { 0xa70c3c40, 0xa64e6c51, 0x999090b6, 180 },
785 { 0xd0cf4b50, 0xcfe20765, 0xfff4b4e3, 183 },
786 { 0x82818f12, 0x81ed449f, 0xbff8f10e, 187 },
787 { 0xa321f2d7, 0x226895c7, 0xaff72d52, 190 },
788 { 0xcbea6f8c, 0xeb02bb39, 0x9bf4f8a6, 193 },
789 { 0xfee50b70, 0x25c36a08, 0x02f236d0, 196 },
790 { 0x9f4f2726, 0x179a2245, 0x01d76242, 200 },
791 { 0xc722f0ef, 0x9d80aad6, 0x424d3ad2, 203 },
792 { 0xf8ebad2b, 0x84e0d58b, 0xd2e08987, 206 },
793 { 0x9b934c3b, 0x330c8577, 0x63cc55f4, 210 },
794 { 0xc2781f49, 0xffcfa6d5, 0x3cbf6b71, 213 },
795 { 0xf316271c, 0x7fc3908a, 0x8bef464e, 216 },
796 { 0x97edd871, 0xcfda3a56, 0x97758bf0, 220 },
797 { 0xbde94e8e, 0x43d0c8ec, 0x3d52eeed, 223 },
798 { 0xed63a231, 0xd4c4fb27, 0x4ca7aaa8, 226 },
799 { 0x945e455f, 0x24fb1cf8, 0x8fe8caa9, 230 },
800 { 0xb975d6b6, 0xee39e436, 0xb3e2fd53, 233 },
801 { 0xe7d34c64, 0xa9c85d44, 0x60dbbca8, 236 },
802 { 0x90e40fbe, 0xea1d3a4a, 0xbc8955e9, 240 },
803 { 0xb51d13ae, 0xa4a488dd, 0x6babab63, 243 },
804 { 0xe264589a, 0x4dcdab14, 0xc696963c, 246 },
805 { 0x8d7eb760, 0x70a08aec, 0xfc1e1de5, 250 },
806 { 0xb0de6538, 0x8cc8ada8, 0x3b25a55f, 253 },
807 { 0xdd15fe86, 0xaffad912, 0x49ef0eb7, 256 },
808 { 0x8a2dbf14, 0x2dfcc7ab, 0x6e356932, 260 },
809 { 0xacb92ed9, 0x397bf996, 0x49c2c37f, 263 },
810 { 0xd7e77a8f, 0x87daf7fb, 0xdc33745e, 266 },
811 { 0x86f0ac99, 0xb4e8dafd, 0x69a028bb, 270 },
812 { 0xa8acd7c0, 0x222311bc, 0xc40832ea, 273 },
813 { 0xd2d80db0, 0x2aabd62b, 0xf50a3fa4, 276 },
814 { 0x83c7088e, 0x1aab65db, 0x792667c6, 280 },
815 { 0xa4b8cab1, 0xa1563f52, 0x577001b8, 283 },
816 { 0xcde6fd5e, 0x09abcf26, 0xed4c0226, 286 },
817 { 0x80b05e5a, 0xc60b6178, 0x544f8158, 290 },
818 { 0xa0dc75f1, 0x778e39d6, 0x696361ae, 293 },
819 { 0xc913936d, 0xd571c84c, 0x03bc3a19, 296 },
820 { 0xfb587849, 0x4ace3a5f, 0x04ab48a0, 299 },
821 { 0x9d174b2d, 0xcec0e47b, 0x62eb0d64, 303 },
822 { 0xc45d1df9, 0x42711d9a, 0x3ba5d0bd, 306 },
823 { 0xf5746577, 0x930d6500, 0xca8f44ec, 309 },
824 { 0x9968bf6a, 0xbbe85f20, 0x7e998b13, 313 },
825 { 0xbfc2ef45, 0x6ae276e8, 0x9e3fedd8, 316 },
826 { 0xefb3ab16, 0xc59b14a2, 0xc5cfe94e, 319 },
827 { 0x95d04aee, 0x3b80ece5, 0xbba1f1d1, 323 },
828 { 0xbb445da9, 0xca61281f, 0x2a8a6e45, 326 },
829 { 0xea157514, 0x3cf97226, 0xf52d09d7, 329 },
830 { 0x924d692c, 0xa61be758, 0x593c2626, 333 },
831 { 0xb6e0c377, 0xcfa2e12e, 0x6f8b2fb0, 336 },
832 { 0xe498f455, 0xc38b997a, 0x0b6dfb9c, 339 },
833 { 0x8edf98b5, 0x9a373fec, 0x4724bd41, 343 },
834 { 0xb2977ee3, 0x00c50fe7, 0x58edec91, 346 },
835 { 0xdf3d5e9b, 0xc0f653e1, 0x2f2967b6, 349 },
836 { 0x8b865b21, 0x5899f46c, 0xbd79e0d2, 353 },
837 { 0xae67f1e9, 0xaec07187, 0xecd85906, 356 },
838 { 0xda01ee64, 0x1a708de9, 0xe80e6f48, 359 },
839 { 0x884134fe, 0x908658b2, 0x3109058d, 363 },
840 { 0xaa51823e, 0x34a7eede, 0xbd4b46f0, 366 },
841 { 0xd4e5e2cd, 0xc1d1ea96, 0x6c9e18ac, 369 },
842 { 0x850fadc0, 0x9923329e, 0x03e2cf6b, 373 },
843 { 0xa6539930, 0xbf6bff45, 0x84db8346, 376 },
844 { 0xcfe87f7c, 0xef46ff16, 0xe6126418, 379 },
845 { 0x81f14fae, 0x158c5f6e, 0x4fcb7e8f, 383 },
846 { 0xa26da399, 0x9aef7749, 0xe3be5e33, 386 },
847 { 0xcb090c80, 0x01ab551c, 0x5cadf5bf, 389 },
848 { 0xfdcb4fa0, 0x02162a63, 0x73d9732f, 392 },
849 { 0x9e9f11c4, 0x014dda7e, 0x2867e7fd, 396 },
850 { 0xc646d635, 0x01a1511d, 0xb281e1fd, 399 },
851 { 0xf7d88bc2, 0x4209a565, 0x1f225a7c, 402 },
852 { 0x9ae75759, 0x6946075f, 0x3375788d, 406 },
853 { 0xc1a12d2f, 0xc3978937, 0x0052d6b1, 409 },
854 { 0xf209787b, 0xb47d6b84, 0xc0678c5d, 412 },
855 { 0x9745eb4d, 0x50ce6332, 0xf840b7ba, 416 },
856 { 0xbd176620, 0xa501fbff, 0xb650e5a9, 419 },
857 { 0xec5d3fa8, 0xce427aff, 0xa3e51f13, 422 },
858 { 0x93ba47c9, 0x80e98cdf, 0xc66f336c, 426 },
859 { 0xb8a8d9bb, 0xe123f017, 0xb80b0047, 429 },
860 { 0xe6d3102a, 0xd96cec1d, 0xa60dc059, 432 },
861 { 0x9043ea1a, 0xc7e41392, 0x87c89837, 436 },
862 { 0xb454e4a1, 0x79dd1877, 0x29babe45, 439 },
863 { 0xe16a1dc9, 0xd8545e94, 0xf4296dd6, 442 },
864 { 0x8ce2529e, 0x2734bb1d, 0x1899e4a6, 446 },
865 { 0xb01ae745, 0xb101e9e4, 0x5ec05dcf, 449 },
866 { 0xdc21a117, 0x1d42645d, 0x76707543, 452 },
867 { 0x899504ae, 0x72497eba, 0x6a06494a, 456 },
868 { 0xabfa45da, 0x0edbde69, 0x0487db9d, 459 },
869 { 0xd6f8d750, 0x9292d603, 0x45a9d284, 462 },
870 { 0x865b8692, 0x5b9bc5c2, 0x0b8a2392, 466 },
871 { 0xa7f26836, 0xf282b732, 0x8e6cac77, 469 },
872 { 0xd1ef0244, 0xaf2364ff, 0x3207d795, 472 },
873 { 0x8335616a, 0xed761f1f, 0x7f44e6bd, 476 },
874 { 0xa402b9c5, 0xa8d3a6e7, 0x5f16206c, 479 },
875 { 0xcd036837, 0x130890a1, 0x36dba887, 482 },
876 { 0x80222122, 0x6be55a64, 0xc2494954, 486 },
877 { 0xa02aa96b, 0x06deb0fd, 0xf2db9baa, 489 },
878 { 0xc83553c5, 0xc8965d3d, 0x6f928294, 492 },
879 { 0xfa42a8b7, 0x3abbf48c, 0xcb772339, 495 },
880 { 0x9c69a972, 0x84b578d7, 0xff2a7604, 499 },
881 { 0xc38413cf, 0x25e2d70d, 0xfef51385, 502 },
882 { 0xf46518c2, 0xef5b8cd1, 0x7eb25866, 505 },
883 { 0x98bf2f79, 0xd5993802, 0xef2f773f, 509 },
884 { 0xbeeefb58, 0x4aff8603, 0xaafb550f, 512 },
885 { 0xeeaaba2e, 0x5dbf6784, 0x95ba2a53, 515 },
886 { 0x952ab45c, 0xfa97a0b2, 0xdd945a74, 519 },
887 { 0xba756174, 0x393d88df, 0x94f97111, 522 },
888 { 0xe912b9d1, 0x478ceb17, 0x7a37cd56, 525 },
889 { 0x91abb422, 0xccb812ee, 0xac62e055, 529 },
890 { 0xb616a12b, 0x7fe617aa, 0x577b986b, 532 },
891 { 0xe39c4976, 0x5fdf9d94, 0xed5a7e85, 535 },
892 { 0x8e41ade9, 0xfbebc27d, 0x14588f13, 539 },
893 { 0xb1d21964, 0x7ae6b31c, 0x596eb2d8, 542 },
894 { 0xde469fbd, 0x99a05fe3, 0x6fca5f8e, 545 },
895 { 0x8aec23d6, 0x80043bee, 0x25de7bb9, 549 },
896 { 0xada72ccc, 0x20054ae9, 0xaf561aa7, 552 },
897 { 0xd910f7ff, 0x28069da4, 0x1b2ba151, 555 },
898 { 0x87aa9aff, 0x79042286, 0x90fb44d2, 559 },
899 { 0xa99541bf, 0x57452b28, 0x353a1607, 562 },
900 { 0xd3fa922f, 0x2d1675f2, 0x42889b89, 565 },
901 { 0x847c9b5d, 0x7c2e09b7, 0x69956135, 569 },
902 { 0xa59bc234, 0xdb398c25, 0x43fab983, 572 },
903 { 0xcf02b2c2, 0x1207ef2e, 0x94f967e4, 575 },
904 { 0x8161afb9, 0x4b44f57d, 0x1d1be0ee, 579 },
905 { 0xa1ba1ba7, 0x9e1632dc, 0x6462d92a, 582 },
906 { 0xca28a291, 0x859bbf93, 0x7d7b8f75, 585 },
907 { 0xfcb2cb35, 0xe702af78, 0x5cda7352, 588 },
908 { 0x9defbf01, 0xb061adab, 0x3a088813, 592 },
909 { 0xc56baec2, 0x1c7a1916, 0x088aaa18, 595 },
910 { 0xf6c69a72, 0xa3989f5b, 0x8aad549e, 598 },
911 { 0x9a3c2087, 0xa63f6399, 0x36ac54e2, 602 },
912 { 0xc0cb28a9, 0x8fcf3c7f, 0x84576a1b, 605 },
913 { 0xf0fdf2d3, 0xf3c30b9f, 0x656d44a2, 608 },
914 { 0x969eb7c4, 0x7859e743, 0x9f644ae5, 612 },
915 { 0xbc4665b5, 0x96706114, 0x873d5d9f, 615 },
916 { 0xeb57ff22, 0xfc0c7959, 0xa90cb506, 618 },
917 { 0x9316ff75, 0xdd87cbd8, 0x09a7f124, 622 },
918 { 0xb7dcbf53, 0x54e9bece, 0x0c11ed6d, 625 },
919 { 0xe5d3ef28, 0x2a242e81, 0x8f1668c8, 628 },
920 { 0x8fa47579, 0x1a569d10, 0xf96e017d, 632 },
921 { 0xb38d92d7, 0x60ec4455, 0x37c981dc, 635 },
922 { 0xe070f78d, 0x3927556a, 0x85bbe253, 638 },
923 { 0x8c469ab8, 0x43b89562, 0x93956d74, 642 },
924 { 0xaf584166, 0x54a6babb, 0x387ac8d1, 645 },
925 { 0xdb2e51bf, 0xe9d0696a, 0x06997b05, 648 },
926 { 0x88fcf317, 0xf22241e2, 0x441fece3, 652 },
927 { 0xab3c2fdd, 0xeeaad25a, 0xd527e81c, 655 },
928 { 0xd60b3bd5, 0x6a5586f1, 0x8a71e223, 658 },
929 { 0x85c70565, 0x62757456, 0xf6872d56, 662 },
930 { 0xa738c6be, 0xbb12d16c, 0xb428f8ac, 665 },
931 { 0xd106f86e, 0x69d785c7, 0xe13336d7, 668 },
932 { 0x82a45b45, 0x0226b39c, 0xecc00246, 672 },
933 { 0xa34d7216, 0x42b06084, 0x27f002d7, 675 },
934 { 0xcc20ce9b, 0xd35c78a5, 0x31ec038d, 678 },
935 { 0xff290242, 0xc83396ce, 0x7e670471, 681 },
936 { 0x9f79a169, 0xbd203e41, 0x0f0062c6, 685 },
937 { 0xc75809c4, 0x2c684dd1, 0x52c07b78, 688 },
938 { 0xf92e0c35, 0x37826145, 0xa7709a56, 691 },
939 { 0x9bbcc7a1, 0x42b17ccb, 0x88a66076, 695 },
940 { 0xc2abf989, 0x935ddbfe, 0x6acff893, 698 },
941 { 0xf356f7eb, 0xf83552fe, 0x0583f6b8, 701 },
942 { 0x98165af3, 0x7b2153de, 0xc3727a33, 705 },
943 { 0xbe1bf1b0, 0x59e9a8d6, 0x744f18c0, 708 },
944 { 0xeda2ee1c, 0x7064130c, 0x1162def0, 711 },
945 { 0x9485d4d1, 0xc63e8be7, 0x8addcb56, 715 },
946 { 0xb9a74a06, 0x37ce2ee1, 0x6d953e2b, 718 },
947 { 0xe8111c87, 0xc5c1ba99, 0xc8fa8db6, 721 },
948 { 0x910ab1d4, 0xdb9914a0, 0x1d9c9892, 725 },
949 { 0xb54d5e4a, 0x127f59c8, 0x2503beb6, 728 },
950 { 0xe2a0b5dc, 0x971f303a, 0x2e44ae64, 731 },
951 { 0x8da471a9, 0xde737e24, 0x5ceaecfe, 735 },
952 { 0xb10d8e14, 0x56105dad, 0x7425a83e, 738 },
953 { 0xdd50f199, 0x6b947518, 0xd12f124e, 741 },
954 { 0x8a5296ff, 0xe33cc92f, 0x82bd6b70, 745 },
955 { 0xace73cbf, 0xdc0bfb7b, 0x636cc64d, 748 },
956 { 0xd8210bef, 0xd30efa5a, 0x3c47f7e0, 751 },
957 { 0x8714a775, 0xe3e95c78, 0x65acfaec, 755 },
958 { 0xa8d9d153, 0x5ce3b396, 0x7f1839a7, 758 },
959 { 0xd31045a8, 0x341ca07c, 0x1ede4811, 761 },
960 { 0x83ea2b89, 0x2091e44d, 0x934aed0a, 765 },
961 { 0xa4e4b66b, 0x68b65d60, 0xf81da84d, 768 },
962 { 0xce1de406, 0x42e3f4b9, 0x36251260, 771 },
963 { 0x80d2ae83, 0xe9ce78f3, 0xc1d72b7c, 775 },
964 { 0xa1075a24, 0xe4421730, 0xb24cf65b, 778 },
965 { 0xc94930ae, 0x1d529cfc, 0xdee033f2, 781 },
966 { 0xfb9b7cd9, 0xa4a7443c, 0x169840ef, 784 },
967 { 0x9d412e08, 0x06e88aa5, 0x8e1f2895, 788 },
968 { 0xc491798a, 0x08a2ad4e, 0xf1a6f2ba, 791 },
969 { 0xf5b5d7ec, 0x8acb58a2, 0xae10af69, 794 },
970 { 0x9991a6f3, 0xd6bf1765, 0xacca6da1, 798 },
971 { 0xbff610b0, 0xcc6edd3f, 0x17fd090a, 801 },
972 { 0xeff394dc, 0xff8a948e, 0xddfc4b4c, 804 },
973 { 0x95f83d0a, 0x1fb69cd9, 0x4abdaf10, 808 },
974 { 0xbb764c4c, 0xa7a4440f, 0x9d6d1ad4, 811 },
975 { 0xea53df5f, 0xd18d5513, 0x84c86189, 814 },
976 { 0x92746b9b, 0xe2f8552c, 0x32fd3cf5, 818 },
977 { 0xb7118682, 0xdbb66a77, 0x3fbc8c33, 821 },
978 { 0xe4d5e823, 0x92a40515, 0x0fabaf3f, 824 },
979 { 0x8f05b116, 0x3ba6832d, 0x29cb4d87, 828 },
980 { 0xb2c71d5b, 0xca9023f8, 0x743e20e9, 831 },
981 { 0xdf78e4b2, 0xbd342cf6, 0x914da924, 834 },
982 { 0x8bab8eef, 0xb6409c1a, 0x1ad089b6, 838 },
983 { 0xae9672ab, 0xa3d0c320, 0xa184ac24, 841 },
984 { 0xda3c0f56, 0x8cc4f3e8, 0xc9e5d72d, 844 },
985 { 0x88658996, 0x17fb1871, 0x7e2fa67c, 848 },
986 { 0xaa7eebfb, 0x9df9de8d, 0xddbb901b, 851 },
987 { 0xd51ea6fa, 0x85785631, 0x552a7422, 854 },
988 { 0x8533285c, 0x936b35de, 0xd53a8895, 858 },
989 { 0xa67ff273, 0xb8460356, 0x8a892aba, 861 },
990 { 0xd01fef10, 0xa657842c, 0x2d2b7569, 864 },
991 { 0x8213f56a, 0x67f6b29b, 0x9c3b2962, 868 },
992 { 0xa298f2c5, 0x01f45f42, 0x8349f3ba, 871 },
993 { 0xcb3f2f76, 0x42717713, 0x241c70a9, 874 },
994 { 0xfe0efb53, 0xd30dd4d7, 0xed238cd3, 877 },
995 { 0x9ec95d14, 0x63e8a506, 0xf4363804, 881 },
996 { 0xc67bb459, 0x7ce2ce48, 0xb143c605, 884 },
997 { 0xf81aa16f, 0xdc1b81da, 0xdd94b786, 887 },
998 { 0x9b10a4e5, 0xe9913128, 0xca7cf2b4, 891 },
999 { 0xc1d4ce1f, 0x63f57d72, 0xfd1c2f61, 894 },
1000 { 0xf24a01a7, 0x3cf2dccf, 0xbc633b39, 897 },
1001 { 0x976e4108, 0x8617ca01, 0xd5be0503, 901 },
1002 { 0xbd49d14a, 0xa79dbc82, 0x4b2d8644, 904 },
1003 { 0xec9c459d, 0x51852ba2, 0xddf8e7d6, 907 },
1004 { 0x93e1ab82, 0x52f33b45, 0xcabb90e5, 911 },
1005 { 0xb8da1662, 0xe7b00a17, 0x3d6a751f, 914 },
1006 { 0xe7109bfb, 0xa19c0c9d, 0x0cc51267, 917 },
1007 { 0x906a617d, 0x450187e2, 0x27fb2b80, 921 },
1008 { 0xb484f9dc, 0x9641e9da, 0xb1f9f660, 924 },
1009 { 0xe1a63853, 0xbbd26451, 0x5e7873f8, 927 },
1010 { 0x8d07e334, 0x55637eb2, 0xdb0b487b, 931 },
1011 { 0xb049dc01, 0x6abc5e5f, 0x91ce1a9a, 934 },
1012 { 0xdc5c5301, 0xc56b75f7, 0x7641a140, 937 },
1013 { 0x89b9b3e1, 0x1b6329ba, 0xa9e904c8, 941 },
1014 { 0xac2820d9, 0x623bf429, 0x546345fa, 944 },
1015 { 0xd732290f, 0xbacaf133, 0xa97c1779, 947 },
1016 { 0x867f59a9, 0xd4bed6c0, 0x49ed8eab, 951 },
1017 { 0xa81f3014, 0x49ee8c70, 0x5c68f256, 954 },
1018 { 0xd226fc19, 0x5c6a2f8c, 0x73832eec, 957 },
1019 { 0x83585d8f, 0xd9c25db7, 0xc831fd53, 961 },
1020 { 0xa42e74f3, 0xd032f525, 0xba3e7ca8, 964 },
1021 { 0xcd3a1230, 0xc43fb26f, 0x28ce1bd2, 967 },
1022 { 0x80444b5e, 0x7aa7cf85, 0x7980d163, 971 },
1023 { 0xa0555e36, 0x1951c366, 0xd7e105bc, 974 },
1024 { 0xc86ab5c3, 0x9fa63440, 0x8dd9472b, 977 },
1025 { 0xfa856334, 0x878fc150, 0xb14f98f6, 980 },
1026 { 0x9c935e00, 0xd4b9d8d2, 0x6ed1bf9a, 984 },
1027 { 0xc3b83581, 0x09e84f07, 0x0a862f80, 987 },
1028 { 0xf4a642e1, 0x4c6262c8, 0xcd27bb61, 990 },
1029 { 0x98e7e9cc, 0xcfbd7dbd, 0x8038d51c, 994 },
1030 { 0xbf21e440, 0x03acdd2c, 0xe0470a63, 997 },
1031 { 0xeeea5d50, 0x04981478, 0x1858ccfc, 1000 },
1032 { 0x95527a52, 0x02df0ccb, 0x0f37801e, 1004 },
1033 { 0xbaa718e6, 0x8396cffd, 0xd3056025, 1007 },
1034 { 0xe950df20, 0x247c83fd, 0x47c6b82e, 1010 },
1035 { 0x91d28b74, 0x16cdd27e, 0x4cdc331d, 1014 },
1036 { 0xb6472e51, 0x1c81471d, 0xe0133fe4, 1017 },
1037 { 0xe3d8f9e5, 0x63a198e5, 0x58180fdd, 1020 },
1038 { 0x8e679c2f, 0x5e44ff8f, 0x570f09ea, 1024 },
1039 { 0xb201833b, 0x35d63f73, 0x2cd2cc65, 1027 },
1040 { 0xde81e40a, 0x034bcf4f, 0xf8077f7e, 1030 },
1041 { 0x8b112e86, 0x420f6191, 0xfb04afaf, 1034 },
1042 { 0xadd57a27, 0xd29339f6, 0x79c5db9a, 1037 },
1043 { 0xd94ad8b1, 0xc7380874, 0x18375281, 1040 },
1044 { 0x87cec76f, 0x1c830548, 0x8f229391, 1044 },
1045 { 0xa9c2794a, 0xe3a3c69a, 0xb2eb3875, 1047 },
1046 { 0xd433179d, 0x9c8cb841, 0x5fa60692, 1050 },
1047 { 0x849feec2, 0x81d7f328, 0xdbc7c41b, 1054 },
1048 { 0xa5c7ea73, 0x224deff3, 0x12b9b522, 1057 },
1049 { 0xcf39e50f, 0xeae16bef, 0xd768226b, 1060 },
1050 { 0x81842f29, 0xf2cce375, 0xe6a11583, 1064 },
1051 { 0xa1e53af4, 0x6f801c53, 0x60495ae3, 1067 },
1052 { 0xca5e89b1, 0x8b602368, 0x385bb19c, 1070 },
1053 { 0xfcf62c1d, 0xee382c42, 0x46729e03, 1073 },
1054 { 0x9e19db92, 0xb4e31ba9, 0x6c07a2c2, 1077 }
1055 };
1056 static short int Lhint[2098] = {
1057 /*18,*/19, 19, 19, 19, 20, 20, 20, 21, 21,
1058 21, 22, 22, 22, 23, 23, 23, 23, 24, 24,
1059 24, 25, 25, 25, 26, 26, 26, 26, 27, 27,
1060 27, 28, 28, 28, 29, 29, 29, 29, 30, 30,
1061 30, 31, 31, 31, 32, 32, 32, 32, 33, 33,
1062 33, 34, 34, 34, 35, 35, 35, 35, 36, 36,
1063 36, 37, 37, 37, 38, 38, 38, 38, 39, 39,
1064 39, 40, 40, 40, 41, 41, 41, 41, 42, 42,
1065 42, 43, 43, 43, 44, 44, 44, 44, 45, 45,
1066 45, 46, 46, 46, 47, 47, 47, 47, 48, 48,
1067 48, 49, 49, 49, 50, 50, 50, 51, 51, 51,
1068 51, 52, 52, 52, 53, 53, 53, 54, 54, 54,
1069 54, 55, 55, 55, 56, 56, 56, 57, 57, 57,
1070 57, 58, 58, 58, 59, 59, 59, 60, 60, 60,
1071 60, 61, 61, 61, 62, 62, 62, 63, 63, 63,
1072 63, 64, 64, 64, 65, 65, 65, 66, 66, 66,
1073 66, 67, 67, 67, 68, 68, 68, 69, 69, 69,
1074 69, 70, 70, 70, 71, 71, 71, 72, 72, 72,
1075 72, 73, 73, 73, 74, 74, 74, 75, 75, 75,
1076 75, 76, 76, 76, 77, 77, 77, 78, 78, 78,
1077 78, 79, 79, 79, 80, 80, 80, 81, 81, 81,
1078 82, 82, 82, 82, 83, 83, 83, 84, 84, 84,
1079 85, 85, 85, 85, 86, 86, 86, 87, 87, 87,
1080 88, 88, 88, 88, 89, 89, 89, 90, 90, 90,
1081 91, 91, 91, 91, 92, 92, 92, 93, 93, 93,
1082 94, 94, 94, 94, 95, 95, 95, 96, 96, 96,
1083 97, 97, 97, 97, 98, 98, 98, 99, 99, 99,
1084 100, 100, 100, 100, 101, 101, 101, 102, 102, 102,
1085 103, 103, 103, 103, 104, 104, 104, 105, 105, 105,
1086 106, 106, 106, 106, 107, 107, 107, 108, 108, 108,
1087 109, 109, 109, 110, 110, 110, 110, 111, 111, 111,
1088 112, 112, 112, 113, 113, 113, 113, 114, 114, 114,
1089 115, 115, 115, 116, 116, 116, 116, 117, 117, 117,
1090 118, 118, 118, 119, 119, 119, 119, 120, 120, 120,
1091 121, 121, 121, 122, 122, 122, 122, 123, 123, 123,
1092 124, 124, 124, 125, 125, 125, 125, 126, 126, 126,
1093 127, 127, 127, 128, 128, 128, 128, 129, 129, 129,
1094 130, 130, 130, 131, 131, 131, 131, 132, 132, 132,
1095 133, 133, 133, 134, 134, 134, 134, 135, 135, 135,
1096 136, 136, 136, 137, 137, 137, 137, 138, 138, 138,
1097 139, 139, 139, 140, 140, 140, 141, 141, 141, 141,
1098 142, 142, 142, 143, 143, 143, 144, 144, 144, 144,
1099 145, 145, 145, 146, 146, 146, 147, 147, 147, 147,
1100 148, 148, 148, 149, 149, 149, 150, 150, 150, 150,
1101 151, 151, 151, 152, 152, 152, 153, 153, 153, 153,
1102 154, 154, 154, 155, 155, 155, 156, 156, 156, 156,
1103 157, 157, 157, 158, 158, 158, 159, 159, 159, 159,
1104 160, 160, 160, 161, 161, 161, 162, 162, 162, 162,
1105 163, 163, 163, 164, 164, 164, 165, 165, 165, 165,
1106 166, 166, 166, 167, 167, 167, 168, 168, 168, 169,
1107 169, 169, 169, 170, 170, 170, 171, 171, 171, 172,
1108 172, 172, 172, 173, 173, 173, 174, 174, 174, 175,
1109 175, 175, 175, 176, 176, 176, 177, 177, 177, 178,
1110 178, 178, 178, 179, 179, 179, 180, 180, 180, 181,
1111 181, 181, 181, 182, 182, 182, 183, 183, 183, 184,
1112 184, 184, 184, 185, 185, 185, 186, 186, 186, 187,
1113 187, 187, 187, 188, 188, 188, 189, 189, 189, 190,
1114 190, 190, 190, 191, 191, 191, 192, 192, 192, 193,
1115 193, 193, 193, 194, 194, 194, 195, 195, 195, 196,
1116 196, 196, 197, 197, 197, 197, 198, 198, 198, 199,
1117 199, 199, 200, 200, 200, 200, 201, 201, 201, 202,
1118 202, 202, 203, 203, 203, 203, 204, 204, 204, 205,
1119 205, 205, 206, 206, 206, 206, 207, 207, 207, 208,
1120 208, 208, 209, 209, 209, 209, 210, 210, 210, 211,
1121 211, 211, 212, 212, 212, 212, 213, 213, 213, 214,
1122 214, 214, 215, 215, 215, 215, 216, 216, 216, 217,
1123 217, 217, 218, 218, 218, 218, 219, 219, 219, 220,
1124 220, 220, 221, 221, 221, 221, 222, 222, 222, 223,
1125 223, 223, 224, 224, 224, 224, 225, 225, 225, 226,
1126 226, 226, 227, 227, 227, 228, 228, 228, 228, 229,
1127 229, 229, 230, 230, 230, 231, 231, 231, 231, 232,
1128 232, 232, 233, 233, 233, 234, 234, 234, 234, 235,
1129 235, 235, 236, 236, 236, 237, 237, 237, 237, 238,
1130 238, 238, 239, 239, 239, 240, 240, 240, 240, 241,
1131 241, 241, 242, 242, 242, 243, 243, 243, 243, 244,
1132 244, 244, 245, 245, 245, 246, 246, 246, 246, 247,
1133 247, 247, 248, 248, 248, 249, 249, 249, 249, 250,
1134 250, 250, 251, 251, 251, 252, 252, 252, 252, 253,
1135 253, 253, 254, 254, 254, 255, 255, 255, 256, 256,
1136 256, 256, 257, 257, 257, 258, 258, 258, 259, 259,
1137 259, 259, 260, 260, 260, 261, 261, 261, 262, 262,
1138 262, 262, 263, 263, 263, 264, 264, 264, 265, 265,
1139 265, 265, 266, 266, 266, 267, 267, 267, 268, 268,
1140 268, 268, 269, 269, 269, 270, 270, 270, 271, 271,
1141 271, 271, 272, 272, 272, 273, 273, 273, 274, 274,
1142 274, 274, 275, 275, 275, 276, 276, 276, 277, 277,
1143 277, 277, 278, 278, 278, 279, 279, 279, 280, 280,
1144 280, 280, 281, 281, 281, 282, 282, 282, 283, 283,
1145 283, 283, 284, 284, 284, 285, 285, 285, 286, 286,
1146 286, 287, 287, 287, 287, 288, 288, 288, 289, 289,
1147 289, 290, 290, 290, 290, 291, 291, 291, 292, 292,
1148 292, 293, 293, 293, 293, 294, 294, 294, 295, 295,
1149 295, 296, 296, 296, 296, 297, 297, 297, 298, 298,
1150 298, 299, 299, 299, 299, 300, 300, 300, 301, 301,
1151 301, 302, 302, 302, 302, 303, 303, 303, 304, 304,
1152 304, 305, 305, 305, 305, 306, 306, 306, 307, 307,
1153 307, 308, 308, 308, 308, 309, 309, 309, 310, 310,
1154 310, 311, 311, 311, 311, 312, 312, 312, 313, 313,
1155 313, 314, 314, 314, 315, 315, 315, 315, 316, 316,
1156 316, 317, 317, 317, 318, 318, 318, 318, 319, 319,
1157 319, 320, 320, 320, 321, 321, 321, 321, 322, 322,
1158 322, 323, 323, 323, 324, 324, 324, 324, 325, 325,
1159 325, 326, 326, 326, 327, 327, 327, 327, 328, 328,
1160 328, 329, 329, 329, 330, 330, 330, 330, 331, 331,
1161 331, 332, 332, 332, 333, 333, 333, 333, 334, 334,
1162 334, 335, 335, 335, 336, 336, 336, 336, 337, 337,
1163 337, 338, 338, 338, 339, 339, 339, 339, 340, 340,
1164 340, 341, 341, 341, 342, 342, 342, 342, 343, 343,
1165 343, 344, 344, 344, 345, 345, 345, 346, 346, 346,
1166 346, 347, 347, 347, 348, 348, 348, 349, 349, 349,
1167 349, 350, 350, 350, 351, 351, 351, 352, 352, 352,
1168 352, 353, 353, 353, 354, 354, 354, 355, 355, 355,
1169 355, 356, 356, 356, 357, 357, 357, 358, 358, 358,
1170 358, 359, 359, 359, 360, 360, 360, 361, 361, 361,
1171 361, 362, 362, 362, 363, 363, 363, 364, 364, 364,
1172 364, 365, 365, 365, 366, 366, 366, 367, 367, 367,
1173 367, 368, 368, 368, 369, 369, 369, 370, 370, 370,
1174 370, 371, 371, 371, 372, 372, 372, 373, 373, 373,
1175 374, 374, 374, 374, 375, 375, 375, 376, 376, 376,
1176 377, 377, 377, 377, 378, 378, 378, 379, 379, 379,
1177 380, 380, 380, 380, 381, 381, 381, 382, 382, 382,
1178 383, 383, 383, 383, 384, 384, 384, 385, 385, 385,
1179 386, 386, 386, 386, 387, 387, 387, 388, 388, 388,
1180 389, 389, 389, 389, 390, 390, 390, 391, 391, 391,
1181 392, 392, 392, 392, 393, 393, 393, 394, 394, 394,
1182 395, 395, 395, 395, 396, 396, 396, 397, 397, 397,
1183 398, 398, 398, 398, 399, 399, 399, 400, 400, 400,
1184 401, 401, 401, 402, 402, 402, 402, 403, 403, 403,
1185 404, 404, 404, 405, 405, 405, 405, 406, 406, 406,
1186 407, 407, 407, 408, 408, 408, 408, 409, 409, 409,
1187 410, 410, 410, 411, 411, 411, 411, 412, 412, 412,
1188 413, 413, 413, 414, 414, 414, 414, 415, 415, 415,
1189 416, 416, 416, 417, 417, 417, 417, 418, 418, 418,
1190 419, 419, 419, 420, 420, 420, 420, 421, 421, 421,
1191 422, 422, 422, 423, 423, 423, 423, 424, 424, 424,
1192 425, 425, 425, 426, 426, 426, 426, 427, 427, 427,
1193 428, 428, 428, 429, 429, 429, 429, 430, 430, 430,
1194 431, 431, 431, 432, 432, 432, 433, 433, 433, 433,
1195 434, 434, 434, 435, 435, 435, 436, 436, 436, 436,
1196 437, 437, 437, 438, 438, 438, 439, 439, 439, 439,
1197 440, 440, 440, 441, 441, 441, 442, 442, 442, 442,
1198 443, 443, 443, 444, 444, 444, 445, 445, 445, 445,
1199 446, 446, 446, 447, 447, 447, 448, 448, 448, 448,
1200 449, 449, 449, 450, 450, 450, 451, 451, 451, 451,
1201 452, 452, 452, 453, 453, 453, 454, 454, 454, 454,
1202 455, 455, 455, 456, 456, 456, 457, 457, 457, 457,
1203 458, 458, 458, 459, 459, 459, 460, 460, 460, 461,
1204 461, 461, 461, 462, 462, 462, 463, 463, 463, 464,
1205 464, 464, 464, 465, 465, 465, 466, 466, 466, 467,
1206 467, 467, 467, 468, 468, 468, 469, 469, 469, 470,
1207 470, 470, 470, 471, 471, 471, 472, 472, 472, 473,
1208 473, 473, 473, 474, 474, 474, 475, 475, 475, 476,
1209 476, 476, 476, 477, 477, 477, 478, 478, 478, 479,
1210 479, 479, 479, 480, 480, 480, 481, 481, 481, 482,
1211 482, 482, 482, 483, 483, 483, 484, 484, 484, 485,
1212 485, 485, 485, 486, 486, 486, 487, 487, 487, 488,
1213 488, 488, 488, 489, 489, 489, 490, 490, 490, 491,
1214 491, 491, 492, 492, 492, 492, 493, 493, 493, 494,
1215 494, 494, 495, 495, 495, 495, 496, 496, 496, 497,
1216 497, 497, 498, 498, 498, 498, 499, 499, 499, 500,
1217 500, 500, 501, 501, 501, 501, 502, 502, 502, 503,
1218 503, 503, 504, 504, 504, 504, 505, 505, 505, 506,
1219 506, 506, 507, 507, 507, 507, 508, 508, 508, 509,
1220 509, 509, 510, 510, 510, 510, 511, 511, 511, 512,
1221 512, 512, 513, 513, 513, 513, 514, 514, 514, 515,
1222 515, 515, 516, 516, 516, 516, 517, 517, 517, 518,
1223 518, 518, 519, 519, 519, 520, 520, 520, 520, 521,
1224 521, 521, 522, 522, 522, 523, 523, 523, 523, 524,
1225 524, 524, 525, 525, 525, 526, 526, 526, 526, 527,
1226 527, 527, 528, 528, 528, 529, 529, 529, 529, 530,
1227 530, 530, 531, 531, 531, 532, 532, 532, 532, 533,
1228 533, 533, 534, 534, 534, 535, 535, 535, 535, 536,
1229 536, 536, 537, 537, 537, 538, 538, 538, 538, 539,
1230 539, 539, 540, 540, 540, 541, 541, 541, 541, 542,
1231 542, 542, 543, 543, 543, 544, 544, 544, 544, 545,
1232 545, 545, 546, 546, 546, 547, 547, 547, 548, 548,
1233 548, 548, 549, 549, 549, 550, 550, 550, 551, 551,
1234 551, 551, 552, 552, 552, 553, 553, 553, 554, 554,
1235 554, 554, 555, 555, 555, 556, 556, 556, 557, 557,
1236 557, 557, 558, 558, 558, 559, 559, 559, 560, 560,
1237 560, 560, 561, 561, 561, 562, 562, 562, 563, 563,
1238 563, 563, 564, 564, 564, 565, 565, 565, 566, 566,
1239 566, 566, 567, 567, 567, 568, 568, 568, 569, 569,
1240 569, 569, 570, 570, 570, 571, 571, 571, 572, 572,
1241 572, 572, 573, 573, 573, 574, 574, 574, 575, 575,
1242 575, 575, 576, 576, 576, 577, 577, 577, 578, 578,
1243 578, 579, 579, 579, 579, 580, 580, 580, 581, 581,
1244 581, 582, 582, 582, 582, 583, 583, 583, 584, 584,
1245 584, 585, 585, 585, 585, 586, 586, 586, 587, 587,
1246 587, 588, 588, 588, 588, 589, 589, 589, 590, 590,
1247 590, 591, 591, 591, 591, 592, 592, 592, 593, 593,
1248 593, 594, 594, 594, 594, 595, 595, 595, 596, 596,
1249 596, 597, 597, 597, 597, 598, 598, 598, 599, 599,
1250 599, 600, 600, 600, 600, 601, 601, 601, 602, 602,
1251 602, 603, 603, 603, 603, 604, 604, 604, 605, 605,
1252 605, 606, 606, 606, 607, 607, 607, 607, 608, 608,
1253 608, 609, 609, 609, 610, 610, 610, 610, 611, 611,
1254 611, 612, 612, 612, 613, 613, 613, 613, 614, 614,
1255 614, 615, 615, 615, 616, 616, 616, 616, 617, 617,
1256 617, 618, 618, 618, 619, 619, 619, 619, 620, 620,
1257 620, 621, 621, 621, 622, 622, 622, 622, 623, 623,
1258 623, 624, 624, 624, 625, 625, 625, 625, 626, 626,
1259 626, 627, 627, 627, 628, 628, 628, 628, 629, 629,
1260 629, 630, 630, 630, 631, 631, 631, 631, 632, 632,
1261 632, 633, 633, 633, 634, 634, 634, 634, 635, 635,
1262 635, 636, 636, 636, 637, 637, 637, 638, 638, 638,
1263 638, 639, 639, 639, 640, 640, 640, 641, 641, 641,
1264 641, 642, 642, 642, 643, 643, 643, 644, 644, 644,
1265 644, 645, 645, 645, 646, 646, 646, 647, 647, 647,
1266 647, 648, 648, 648, 649, 649, 649, 650, 650 };
1267 static ULLong pfive[27] = {
1268 5ll,
1269 25ll,
1270 125ll,
1271 625ll,
1272 3125ll,
1273 15625ll,
1274 78125ll,
1275 390625ll,
1276 1953125ll,
1277 9765625ll,
1278 48828125ll,
1279 244140625ll,
1280 1220703125ll,
1281 6103515625ll,
1282 30517578125ll,
1283 152587890625ll,
1284 762939453125ll,
1285 3814697265625ll,
1286 19073486328125ll,
1287 95367431640625ll,
1288 476837158203125ll,
1289 2384185791015625ll,
1290 11920928955078125ll,
1291 59604644775390625ll,
1292 298023223876953125ll,
1293 1490116119384765625ll,
1294 7450580596923828125ll
1295 };
1296
1297 static int pfivebits[25] = {3, 5, 7, 10, 12, 14, 17, 19, 21, 24, 26, 28, 31,
1298 33, 35, 38, 40, 42, 45, 47, 49, 52, 54, 56, 59};
1299#endif /*}*/
1300#endif /*}} NO_LONG_LONG */
1301
1302typedef union { double d; ULong L[2];
1303#ifdef USE_BF96
1304 ULLong LL;
1305#endif
1306 } U;
1307
1308#ifdef IEEE_8087
1309#define word0(x) (x)->L[1]
1310#define word1(x) (x)->L[0]
1311#else
1312#define word0(x) (x)->L[0]
1313#define word1(x) (x)->L[1]
1314#endif
1315#define dval(x) (x)->d
1316#define LLval(x) (x)->LL
1317
1318#ifndef STRTOD_DIGLIM
1319#define STRTOD_DIGLIM 40
1320#endif
1321
1322#ifdef DIGLIM_DEBUG
1323extern int strtod_diglim;
1324#else
1325#define strtod_diglim STRTOD_DIGLIM
1326#endif
1327
1328/* The following definition of Storeinc is appropriate for MIPS processors.
1329 * An alternative that might be better on some machines is
1330 * #define Storeinc(a,b,c) (*a++ = b << 16 | c & 0xffff)
1331 */
1332#if defined(IEEE_8087) + defined(VAX)
1333#define Storeinc(a,b,c) (((unsigned short *)a)[1] = (unsigned short)b, \
1334((unsigned short *)a)[0] = (unsigned short)c, a++)
1335#else
1336#define Storeinc(a,b,c) (((unsigned short *)a)[0] = (unsigned short)b, \
1337((unsigned short *)a)[1] = (unsigned short)c, a++)
1338#endif
1339
1340/* #define P DBL_MANT_DIG */
1341/* Ten_pmax = floor(P*log(2)/log(5)) */
1342/* Bletch = (highest power of 2 < DBL_MAX_10_EXP) / 16 */
1343/* Quick_max = floor((P-1)*log(FLT_RADIX)/log(10) - 1) */
1344/* Int_max = floor(P*log(FLT_RADIX)/log(10) - 1) */
1345
1346#ifdef IEEE_Arith
1347#define Exp_shift 20
1348#define Exp_shift1 20
1349#define Exp_msk1 0x100000
1350#define Exp_msk11 0x100000
1351#define Exp_mask 0x7ff00000
1352#define P 53
1353#define Nbits 53
1354#define Bias 1023
1355#define Emax 1023
1356#define Emin (-1022)
1357#define Exp_1 0x3ff00000
1358#define Exp_11 0x3ff00000
1359#define Ebits 11
1360#define Frac_mask 0xfffff
1361#define Frac_mask1 0xfffff
1362#define Ten_pmax 22
1363#define Bletch 0x10
1364#define Bndry_mask 0xfffff
1365#define Bndry_mask1 0xfffff
1366#define LSB 1
1367#define Sign_bit 0x80000000
1368#define Log2P 1
1369#define Tiny0 0
1370#define Tiny1 1
1371#define Quick_max 14
1372#define Int_max 14
1373#ifndef NO_IEEE_Scale
1374#define Avoid_Underflow
1375#ifdef Flush_Denorm /* debugging option */
1376#undef Sudden_Underflow
1377#endif
1378#endif
1379
1380#ifndef Flt_Rounds
1381#ifdef FLT_ROUNDS
1382#define Flt_Rounds FLT_ROUNDS
1383#else
1384#define Flt_Rounds 1
1385#endif
1386#endif /*Flt_Rounds*/
1387
1388#ifdef Honor_FLT_ROUNDS
1389#undef Check_FLT_ROUNDS
1390#define Check_FLT_ROUNDS
1391#else
1392#define Rounding Flt_Rounds
1393#endif
1394
1395#else /* ifndef IEEE_Arith */
1396#undef Check_FLT_ROUNDS
1397#undef Honor_FLT_ROUNDS
1398#undef SET_INEXACT
1399#undef Sudden_Underflow
1400#define Sudden_Underflow
1401#ifdef IBM
1402#undef Flt_Rounds
1403#define Flt_Rounds 0
1404#define Exp_shift 24
1405#define Exp_shift1 24
1406#define Exp_msk1 0x1000000
1407#define Exp_msk11 0x1000000
1408#define Exp_mask 0x7f000000
1409#define P 14
1410#define Nbits 56
1411#define Bias 65
1412#define Emax 248
1413#define Emin (-260)
1414#define Exp_1 0x41000000
1415#define Exp_11 0x41000000
1416#define Ebits 8 /* exponent has 7 bits, but 8 is the right value in b2d */
1417#define Frac_mask 0xffffff
1418#define Frac_mask1 0xffffff
1419#define Bletch 4
1420#define Ten_pmax 22
1421#define Bndry_mask 0xefffff
1422#define Bndry_mask1 0xffffff
1423#define LSB 1
1424#define Sign_bit 0x80000000
1425#define Log2P 4
1426#define Tiny0 0x100000
1427#define Tiny1 0
1428#define Quick_max 14
1429#define Int_max 15
1430#else /* VAX */
1431#undef Flt_Rounds
1432#define Flt_Rounds 1
1433#define Exp_shift 23
1434#define Exp_shift1 7
1435#define Exp_msk1 0x80
1436#define Exp_msk11 0x800000
1437#define Exp_mask 0x7f80
1438#define P 56
1439#define Nbits 56
1440#define Bias 129
1441#define Emax 126
1442#define Emin (-129)
1443#define Exp_1 0x40800000
1444#define Exp_11 0x4080
1445#define Ebits 8
1446#define Frac_mask 0x7fffff
1447#define Frac_mask1 0xffff007f
1448#define Ten_pmax 24
1449#define Bletch 2
1450#define Bndry_mask 0xffff007f
1451#define Bndry_mask1 0xffff007f
1452#define LSB 0x10000
1453#define Sign_bit 0x8000
1454#define Log2P 1
1455#define Tiny0 0x80
1456#define Tiny1 0
1457#define Quick_max 15
1458#define Int_max 15
1459#endif /* IBM, VAX */
1460#endif /* IEEE_Arith */
1461
1462#ifndef IEEE_Arith
1463#define ROUND_BIASED
1464#else
1465#ifdef ROUND_BIASED_without_Round_Up
1466#undef ROUND_BIASED
1467#define ROUND_BIASED
1468#endif
1469#endif
1470
1471#ifdef RND_PRODQUOT
1472#define rounded_product(a,b) a = rnd_prod(a, b)
1473#define rounded_quotient(a,b) a = rnd_quot(a, b)
1474extern double rnd_prod(double, double), rnd_quot(double, double);
1475#else
1476#define rounded_product(a,b) a *= b
1477#define rounded_quotient(a,b) a /= b
1478#endif
1479
1480#define Big0 (Frac_mask1 | Exp_msk1*(DBL_MAX_EXP+Bias-1))
1481#define Big1 0xffffffff
1482
1483#ifndef Pack_32
1484#define Pack_32
1485#endif
1486
1487typedef struct BCinfo BCinfo;
1488 struct
1489BCinfo { int dp0, dp1, dplen, dsign, e0, inexact, nd, nd0, rounding, scale, uflchk; };
1490
1491#define FFFFFFFF 0xffffffffUL
1492
1493#ifdef MULTIPLE_THREADS
1494#define MTa , PTI
1495#define MTb , &TI
1496#define MTd , ThInfo **PTI
1497static unsigned int maxthreads = 0;
1498#else
1499#define MTa /*nothing*/
1500#define MTb /*nothing*/
1501#define MTd /*nothing*/
1502#endif
1503
1504#define Kmax 7
1505
1506#ifdef __cplusplus
1507extern "C" double strtod(const char *s00, char **se);
1508extern "C" char *dtoa(double d, int mode, int ndigits,
1509 int *decpt, int *sign, char **rve);
1510#endif
1511
1512 struct
1513Bigint {
1514 struct Bigint *next;
1515 int k, maxwds, sign, wds;
1516 ULong x[1];
1517 };
1518
1519 typedef struct Bigint Bigint;
1520 typedef struct
1521ThInfo {
1522 Bigint *Freelist[Kmax+1];
1523 Bigint *P5s;
1524 } ThInfo;
1525
1526 static ThInfo TI0;
1527
1528#ifdef MULTIPLE_THREADS
1529 static ThInfo *TI1;
1530 static int TI0_used;
1531
1532 void
1533set_max_dtoa_threads(unsigned int n)
1534{
1535 size_t L;
1536
1537 if (n > maxthreads) {
1538 L = n*sizeof(ThInfo);
1539 if (TI1) {
1540 TI1 = (ThInfo*)REALLOC(TI1, L);
1541 memset(TI1 + maxthreads, 0, (n-maxthreads)*sizeof(ThInfo));
1542 }
1543 else {
1544 TI1 = (ThInfo*)MALLOC(L);
1545 if (TI0_used) {
1546 memcpy(TI1, &TI0, sizeof(ThInfo));
1547 if (n > 1)
1548 memset(TI1 + 1, 0, L - sizeof(ThInfo));
1549 memset(&TI0, 0, sizeof(ThInfo));
1550 }
1551 else
1552 memset(TI1, 0, L);
1553 }
1554 maxthreads = n;
1555 }
1556 }
1557
1558 static ThInfo*
1559get_TI(void)
1560{
1561 unsigned int thno = dtoa_get_threadno();
1562 if (thno < maxthreads)
1563 return TI1 + thno;
1564 if (thno == 0)
1565 TI0_used = 1;
1566 return &TI0;
1567 }
1568#define freelist TI->Freelist
1569#define p5s TI->P5s
1570#else
1571#define freelist TI0.Freelist
1572#define p5s TI0.P5s
1573#endif
1574
1575 static Bigint *
1576Balloc(int k MTd)
1577{
1578 int x;
1579 Bigint *rv;
1580#ifndef Omit_Private_Memory
1581 unsigned int len;
1582#endif
1583#ifdef MULTIPLE_THREADS
1584 ThInfo *TI;
1585
1586 if (!(TI = *PTI))
1587 *PTI = TI = get_TI();
1588 if (TI == &TI0)
1589 ACQUIRE_DTOA_LOCK(0);
1590#endif
1591 /* The k > Kmax case does not need ACQUIRE_DTOA_LOCK(0), */
1592 /* but this case seems very unlikely. */
1593 if (k <= Kmax && (rv = freelist[k]))
1594 freelist[k] = rv->next;
1595 else {
1596 x = 1 << k;
1597#ifdef Omit_Private_Memory
1598 rv = (Bigint *)MALLOC(sizeof(Bigint) + (x-1)*sizeof(ULong));
1599#else
1600 len = (sizeof(Bigint) + (x-1)*sizeof(ULong) + sizeof(double) - 1)
1601 /sizeof(double);
1602 if (k <= Kmax && pmem_next - private_mem + len <= PRIVATE_mem
1603#ifdef MULTIPLE_THREADS
1604 && TI == TI1
1605#endif
1606 ) {
1607 rv = (Bigint*)pmem_next;
1608 pmem_next += len;
1609 }
1610 else
1611 rv = (Bigint*)MALLOC(len*sizeof(double));
1612#endif
1613 rv->k = k;
1614 rv->maxwds = x;
1615 }
1616#ifdef MULTIPLE_THREADS
1617 if (TI == &TI0)
1618 FREE_DTOA_LOCK(0);
1619#endif
1620 rv->sign = rv->wds = 0;
1621 return rv;
1622 }
1623
1624 static void
1625Bfree(Bigint *v MTd)
1626{
1627#ifdef MULTIPLE_THREADS
1628 ThInfo *TI;
1629#endif
1630 if (v) {
1631 if (v->k > Kmax)
1632 FREE((void*)v);
1633 else {
1634#ifdef MULTIPLE_THREADS
1635 if (!(TI = *PTI))
1636 *PTI = TI = get_TI();
1637 if (TI == &TI0)
1638 ACQUIRE_DTOA_LOCK(0);
1639#endif
1640 v->next = freelist[v->k];
1641 freelist[v->k] = v;
1642#ifdef MULTIPLE_THREADS
1643 if (TI == &TI0)
1644 FREE_DTOA_LOCK(0);
1645#endif
1646 }
1647 }
1648 }
1649
1650#define Bcopy(x,y) memcpy((char *)&x->sign, (char *)&y->sign, \
1651y->wds*sizeof(Long) + 2*sizeof(int))
1652
1653 static Bigint *
1654multadd(Bigint *b, int m, int a MTd) /* multiply by m and add a */
1655{
1656 int i, wds;
1657#ifdef ULLong
1658 ULong *x;
1659 ULLong carry, y;
1660#else
1661 ULong carry, *x, y;
1662#ifdef Pack_32
1663 ULong xi, z;
1664#endif
1665#endif
1666 Bigint *b1;
1667
1668 wds = b->wds;
1669 x = b->x;
1670 i = 0;
1671 carry = a;
1672 do {
1673#ifdef ULLong
1674 y = *x * (ULLong)m + carry;
1675 carry = y >> 32;
1676 *x++ = y & FFFFFFFF;
1677#else
1678#ifdef Pack_32
1679 xi = *x;
1680 y = (xi & 0xffff) * m + carry;
1681 z = (xi >> 16) * m + (y >> 16);
1682 carry = z >> 16;
1683 *x++ = (z << 16) + (y & 0xffff);
1684#else
1685 y = *x * m + carry;
1686 carry = y >> 16;
1687 *x++ = y & 0xffff;
1688#endif