From octave-sources-request at bevo dot che dot wisc dot edu Thu May 17 05:51:49 2001 Subject: Re: Cell array support From: "Jianming" To: "Paul Kienzle" , "octave-sources" Cc: "John W. Eaton" Date: Thu, 17 May 2001 18:46:57 +0800 This is a multi-part message in MIME format. ------=_NextPart_000_0009_01C0DF01.C009C140 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit Hi, Attached are the new patches for cell array support with octave (2.1.34). After experimenting with various implementations, I've taken most of your advices regarding the following: 1. Using () to access cell elements should not narrow down to the base type automatically. This will reduce confusion. I.E, narrowing conversion is removed. 2. Using ASSIGNANYOP in op-cell.cc Attached also is a sample session with the patch. Some comments on the (incomplete) patch: 1. Some features with Paul mentioned in the previous email are missing: a) {} producing multi-valued output b) {} receive multi-valued output, c) splice cell arrays into an argument list à la Matlab: 2. As shown in the sample session, assigning cell elements to an undefined indexed variable will give an error. To overcome this, cell(0,0) must be used first to "declare" the variable as a cell. There is no problem assigning cell elements to an undefined variable in it's entirety though. 3. Increasing the size of a cell array will not give unassigned elements as empty matrices as Matlab does. Instead, the undefined elements will have undefined type until assigned a value. 4. Removing elements from a cell is done using {} instead of []. This is simpler to implement. In fact, there is no need for any code for this. If we want to use [], I believe we have to delibrately check the type of the left hand side first. I don't really like this hack. Any comments, improvements are welcomed. Thanks Paul for your comments in the previous emails. I hope this gets into 2.1.35 together with some of your patches for cell functions. Regards, Jianming ------=_NextPart_000_0009_01C0DF01.C009C140 Content-Type: application/x-gzip; name="arrayassign.patch.gz" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="arrayassign.patch.gz" H4sICCkIoToAA2FycmF5YXNzaWduLnBhdGNoANVUTY/aMBA9w6+YXlBg4yxx2LKEZateq/bS5Vgp Co6zWDLOyjEfW8R/X3+FQksL1WorNYeRPZ55Hs+8vIKVJSDyBAjRDeHLgqJSVouJ30Ql47QGJPW5 oGtktlARla8owlEcJUlU8eKas5lzXn+UMn9GrNhE8+O40zHtXq93KV7rYSngUy4AhhDfpjdJmmDA /X7cRghdclnrIVfwJZcACWCc9odpMnIAveMP8rpmjwICm3z3eXrfAT6vQyCVqBU471ftteXHo/ch 7mMwmW2A1tYYACYULPJNpq+GiUk3q0h7IOjCFcRjH1ZC0ITd2zBORbf9zpyB2UeS1uw73UeFUKtc MZKRvFamNgj63a5F22nTBv8ZYOngYDIBjWna1BSr1+ifFLtvYZq6rmaaQzyjnC6oUMFllRdvwdJz DL2Una9i5i+sjPspjk+z8mk544yktio8wCEeDB3pzC3WcZM0g7XN1APIVpSoSkLvkSo7tmBVsaLr mbwFSdVSChM5BjuEK5MnOBPU8wymHTg1OYtjw7fWwj4eyqrSLJoGerbuxN+i/c6z09ZWaEA08Z5n NCs0sKINfA3Bj+o7wCxNbIojlKb9KudL6t8zfhuK4EuUDP+NlOFXaxk+LWa3aTw4TRuXdWf+wD92 2j5gMErCwWi0FzMnDbpjmZB6pua3ltX6QAC0+8ORO/XuMXz7CYB4AFLxQwDiARq3ByAOQBsrL4fi 4soJPepvBNFdv3MghnN+tZ6b0esQ2+rmvY0e/hfvPa+p5x//AlF8htz5BwAAZQ== ------=_NextPart_000_0009_01C0DF01.C009C140 Content-Type: application/x-gzip; name="base-mat.patch.gz" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="base-mat.patch.gz" H4sICGhPpDoAA2Jhc2UtbWF0LnBhdGNoAO1YUW+jOBB+bn/FdE9XJb04G0hSUtJdadXNSnfark53 lW7fEAWncY9AZUiaVdX/fmMbSEiAEJLsvbQqCtgz4xn8+fuwXTYeA3GegBC6cLyZS8mYB9MP8UN7 zDwaAuHY79NnIh4hcCJ7Tone1trdbjvw3Pchd94Hc3Jvh5RM7ajtOFmjHIPTi4uLSpFO/p758Ift AxigDcx+1+z2Qe90tFNCyNZhpPcXeg+6cDI1/L9S3hfZvziSJXwt9OVscX1799E03cBivksXVvAE DSfwZeJGvzXogPCTWeCjpuv4jgg5BfzjNJpxX/zMbW+ITa94nf4Gv7AxnLl0zHzqQuPm+3fr2+gf 68tfv4++fbbuRrd/fv10N7I+j26+NtE6otMnz44oXDueHYaA6WArXUQUY88D5gK2sgcfGrd35y3A 3MIIjc6bQzEU9V02xpvCQCIC/hTVncRWYWMrLGdGLY+F0Tkwd7EyKPBJKJJ+wQuA+RF41IcPwqqN dw/RBBoyMdkfPrPIwRbsacoGiB0BHEwEdDN+Uu0nGMWaUycKODAVFBqdZltNTNyhwq+aPiamWq6p sFYVt0MaqVmGBlNhNjseU6fly1FWLVn8ME35Nb2759T+N606Lk6rXVxZxvslhqC0Z160zIxyLoZ9 x3ycc4SaP5veUw7BGOfWZQ6SQuNXtwljkbRIAwGtxoxBOaV+9K4lkpLhxEQPN0dPkhIXLpE8oKJ1 EHj4UwRUFloRn1FoCEA3FSJP3aPw2mQL30wqstokh9S6VUltssppHc3s62a/n89pT7N7jzmmzOrS aBn6krLEYy9hLElaq0sc1lmvkAKaQ0VtkGWkXVhjqCZfsQYPnsPMVMJLQqcx8pVFcyhJVTk5gTeb +lv8UqPY9cAYQZCWa9/SYAtKloZ1tG/NO8GJbnY6ZueyXPvQN15aphnxH5ZvIws8M//Bwlc6p1xp 3wDFrqeQVCx2ZCexI7my9olz+4d+LdL6mApcphGxQxKpI2JQKWokt6BK0ETfkxNJWcpMRLiVAWKF I8jZpEzhZBprCkdisicZhSOpCJDqIkCqK5zMpEAvcjseU6ciIUlSfk3vYiqPq14qXM3iyjLeL7FU 4RKDAykcySjcxuhJUuLa1LJVfMosLDu0Qsf2bJ7Uvqpq8nWK781Ba9BV5H0cEisSurS/IoXVErqs c4bAtMF2oTP0lnGV0NOmsl3kEVvIAj9+1UPFXjX0bJ0rhmrKAVbhn4F8rlytWMcgTwRLAgsHAfzk WYFOQRzxUSQcJWDwnRhHAIyzKNW8tLscLqlZDb3L+mbA0i0ASzyLToAfmzgZhYKn0GSg2nUTOMXT cDBpu1E5bKhb2r5F4NZr2FHjUpmLx3tTujelO4zS7fb5B3XWiBsg6VO5RCBZIoK6Bd0ZrYF+PLor UMektxLZ1VHGjOuS6rQrs9OroIuG+GjYTxfP6uhiDrkMkxR23zSuR0nmu1+8ma1cGvM9hOtBKnyR AXNPLTLW6UlbQ8ZTZZ0BLBV//1d00DXAy494ebUDXr7H8S7PO9zFRaD1zG754W7Z3lbiQZ2UXLY0 TfuJG9yEyYoJruwbYCftz4HIm9C/Cf3htrQ1drO43gztCGrNSw9teaUjW17/wJbnHNciS+l9s1dR rXv/xy72p+1gEU677GCXRx7/ARCIg+W0HAAAbG9n ------=_NextPart_000_0009_01C0DF01.C009C140 Content-Type: application/x-gzip; name="cell.patch.gz" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="cell.patch.gz" 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 m2h/kv39N7hPgjePWAAAAAA= ------=_NextPart_000_0009_01C0DF01.C009C140 Content-Type: application/octet-stream; name="base-mat.log" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="base-mat.log" 2001-03-06 Cai Jianming =0A= * ov-base-mat.cc (octave_base_matrix::assign): included template assign = function=0A= * ov-base-mat.h (octave_base_matrix::assign): included declaration for = assign function=0A= * ov-bool-mat.cc (octave_bool_matrix::assign): remove assign function=0A= * ov-bool-mat.h (octave_bool_matrix:assign): remove declaration for = assign function=0A= * ov-cx-mat.cc (octave_complex_matrix::assign): remove assign function = (ComplexMatrix)=0A= * ov-cx-mat.h (octave_complex_matrix:assign): change declaration for = assign function (ComplexMatrix) to inline function calling = octave_base_matrix::assign. =0A= * ov-re-mat.cc (octave_bool_matrix::assign): remove assign function=0A= * ov-re-mat.h (octave_bool_matrix:assign): remove declaration for = assign function=0A= =00 ------=_NextPart_000_0009_01C0DF01.C009C140 Content-Type: application/octet-stream; name="cell.log" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="cell.log" 2001-03-06 Cai Jianming =0A= * liboctave/Array-Cell.cc: file created to instaniate = Array=0A= * liboctave/Makefile: to include Array-Cell.cc=0A= * liboctave/Makefile.in: to include Array-Cell.cc=0A= * src/Cell.cc: remove allocator and index functions. Can use similar = functions from Array2 instead=0A= * src/Cell.h: Cell becomes a class of Array2. Most = functions removed since we can use those from Array2 instead=0A= * src/Makefile: include op-cell.cc=0A= * src/Makefile.in: include op-cell.cc=0A= * src/OPERATORS/op-cell.cc: install assignments for matrix and scalar = (complex and complex matrix easily added)=0A= * src/ops.cc (install_ops): install cell ops=0A= * src/ov-cell.cc: removed do_index_op, assign, print, print_raw and = print_name_tag.=0A= * src/ov-cell.h: octave_cell now a class octave_base_matrix.=0A= * src/ov.cc (install_types): install octave_cell type.=0A= * src/parse.y (cell): return a cell type instead of Matrix type=0A= * src/parse.y (finish_cell): finish a cell (based on finish_matrix)=0A= * src/parse.y (postfix_expr): mark cell index=0A= * src/pt-idx.h (mark_cell_index): new function and variable=0A= * src/pt-idx.cc (constructor): initialise is_cell_index variable=0A= * src/pt-idx.cc (rvalue): return a cell content if is cell index=0A= * src/pr-output.cc (octave_print_internal): able to print Cell internal = type=0A= * src/pr-output.h (octave_print_internal): declare printing of Cell = internal type=00=00=00 ------=_NextPart_000_0009_01C0DF01.C009C140 Content-Type: application/octet-stream; name="arrayassign.log" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="arrayassign.log" 2001-03-06 Cai Jianming =0A= * Array-idx.h (assign): change static cast to Array::assign_fill_element=0A= * Array.h (assign_fill_element): static function create for filling = elements=0A= * Array2-idx.h (MAYBE_RESIZE_LHS): change static cast to = Array::assign_fill_element=0A= ------=_NextPart_000_0009_01C0DF01.C009C140 Content-Type: text/plain; name="cellscript.txt" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="cellscript.txt" octave:1> A(1,1) =3D {[1 4 3; 0 5 8; 7 2 9]}; error: operator =3D: no conversion for assignment of `cell' to indexed = `' error: evaluating assignment expression near line 1, column 8 octave:1> A{1,1} =3D [1 4 3; 0 5 8; 7 2 9]; error: A(I, J) =3D X: X must be a scalar or the number of elements in I = must error: match the number of rows in X and the number of elements in J = must error: match the number of columns in X error: evaluating assignment expression near line 1, column 8 octave:1> A=3Dcell(0,0); octave:2> A(1,1) =3D {[1 4 3; 0 5 8; 7 2 9]}; octave:3> A{1,2} =3D 'Anne Smith' A =3D {[1,1] =3D 1 4 3 0 5 8 7 2 9 [1,2] =3D Anne Smith } octave:4> A{2,2} =3D -pi:pi/10:pi A =3D {[1,1] =3D 1 4 3 0 5 8 7 2 9 [2,1] =3D error: octave_base_value::print (): wrong type argument `' [1,2] =3D Anne Smith [2,2] =3D Columns 1 through 8: -3.1416 -2.8274 -2.5133 -2.1991 -1.8850 -1.5708 -1.2566 -0.9425 Columns 9 through 16: -0.6283 -0.3142 0.0000 0.3142 0.6283 0.9425 1.2566 1.5708 Columns 17 through 21: 1.8850 2.1991 2.5133 2.8274 3.1416 } octave:5> C =3D {[1 2], [3 4]; [5 6], [7 8]} C =3D {[1,1] =3D 1 2 [2,1] =3D 5 6 [1,2] =3D 3 4 [2,2] =3D 7 8 } octave:6> C=3DA{1,1} C =3D 1 4 3 0 5 8 7 2 9 octave:7> d=3DA{1,1}(2,2) d =3D 5 octave:8> A(1,:) ans =3D {[1,1] =3D 1 4 3 0 5 8 7 2 9 [1,2] =3D Anne Smith } octave:9> A(2,:)=3D[] A =3D {[1,1] =3D 1 4 3 0 5 8 7 2 9 [2,1] =3D [](0x0) [1,2] =3D Anne Smith [2,2] =3D [](0x0) } octave:10> A(2,:)=3D{} A =3D {[1,1] =3D 1 4 3 0 5 8 7 2 9 [1,2] =3D Anne Smith } ------=_NextPart_000_0009_01C0DF01.C009C140-- _________________________________________________________ Do You Yahoo!? Get your free at yahoo dot com address at http://mail.yahoo.com ------------------------------------------------------------- Octave is freely available under the terms of the GNU GPL. Octave's home on the web: http://www.octave.org How to fund new projects: http://www.octave.org/funding.html Subscription information: http://www.octave.org/archive.html -------------------------------------------------------------