[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Getfem-commits] (no subject)
From: |
Yves Renard |
Subject: |
[Getfem-commits] (no subject) |
Date: |
Sat, 18 Apr 2020 08:52:29 -0400 (EDT) |
branch: devel-yves-octave
commit 0693d2546a5fb76e164d2769137758554c0149a2
Author: Yves Renard <address@hidden>
AuthorDate: Sat Apr 18 14:50:23 2020 +0200
Octave mex do not support object : transform object to struct before the
call
---
bin/extract_doc | 38 ++++++++++++++++++++++----------------
1 file changed, 22 insertions(+), 16 deletions(-)
diff --git a/bin/extract_doc b/bin/extract_doc
index f8d9506..81e42e5 100755
--- a/bin/extract_doc
+++ b/bin/extract_doc
@@ -684,7 +684,7 @@ elif (option == 'matlab-com'):
mfile.write(' if (isa(a,this_class)),\n')
mfile.write(' m=a;\n')
mfile.write(' else\n')
- mfile.write(' if (isstruct(a) & isfield(a,\'id\') &
isfield(a,\'cid\'))\n')
+ mfile.write(' if (isstruct(a) && isfield(a,\'id\') &&
isfield(a,\'cid\'))\n')
mfile.write(' cname = gf_workspace(\'class name\',a);\n')
mfile.write(' if (strcmp(cname, this_class))\n')
mfile.write(' m = a;\n')
@@ -790,7 +790,7 @@ elif (option == 'matlab-com'):
mfile.write(' FSET(obj,index(2).subs{:});\n')
mfile.write(' if (exist(\'ans\', \'var\') == 1)\n')
mfile.write(' h=ans;\n')
- mfile.write(' if (isstruct(h) & isfield(h,\'id\') &
isfield(h,\'cid\')), h = gfObject(h); end;\n');
+ mfile.write(' if (isstruct(h) && isfield(h,\'id\') &&
isfield(h,\'cid\')), h = gfObject(h); end;\n');
mfile.write(' varargout{1}=h;\n')
mfile.write(' end;\n')
mfile.write(' end;\n')
@@ -800,13 +800,13 @@ elif (option == 'matlab-com'):
mfile.write(' case \'get\'\n')
mfile.write(' if (nargout) \n')
mfile.write(' h = FGET(obj, index(2).subs{:});\n')
- mfile.write(' if (isstruct(h) & isfield(h,\'id\') &
isfield(h,\'cid\')), h = gfObject(h); end;\n');
+ mfile.write(' if (isstruct(h) && isfield(h,\'id\') &&
isfield(h,\'cid\')), h = gfObject(h); end;\n');
mfile.write(' [varargout{1:nargout}] = h;\n')
mfile.write(' else\n')
mfile.write(' FGET(obj,index(2).subs{:});\n')
mfile.write(' if (exist(\'ans\', \'var\') == 1)\n')
mfile.write(' h=ans;\n')
- mfile.write(' if (isstruct(h) & isfield(h,\'id\') &
isfield(h,\'cid\')), h = gfObject(h); end;\n');
+ mfile.write(' if (isstruct(h) && isfield(h,\'id\') &&
isfield(h,\'cid\')), h = gfObject(h); end;\n');
mfile.write(' varargout{1}=h;\n')
mfile.write(' end;\n')
mfile.write(' end;\n')
@@ -814,12 +814,12 @@ elif (option == 'matlab-com'):
mfile.write(' otherwise\n')
mfile.write(' if ((numel(index) > 1) && (strcmp(index(2).type,
\'()\')))\n')
mfile.write(' h = FGET(obj,index(1).subs, index(2).subs{:});\n')
- mfile.write(' if (isstruct(h) & isfield(h,\'id\') &
isfield(h,\'cid\')), h = gfObject(h); end;\n');
+ mfile.write(' if (isstruct(h) && isfield(h,\'id\') &&
isfield(h,\'cid\')), h = gfObject(h); end;\n');
mfile.write(' [varargout{1:nargout}] = h;\n')
mfile.write(' cnt = cnt + 1;\n')
mfile.write(' else\n')
mfile.write(' h = FGET(obj, index(1).subs);\n')
- mfile.write(' if (isstruct(h) & isfield(h,\'id\') &
isfield(h,\'cid\')), h = gfObject(h); end;\n');
+ mfile.write(' if (isstruct(h) && isfield(h,\'id\') &&
isfield(h,\'cid\')), h = gfObject(h); end;\n');
mfile.write(' [varargout{1:nargout}] = h;\n')
mfile.write(' end\n')
mfile.write(' end\n')
@@ -930,6 +930,11 @@ elif (option == 'octave-com'):
mfile.write('function [varargout]=gf_'+o+ext+'(varargin)\n')
if (matlabext != ''):
mfile.write('\n' + matlabext + '\n');
+ mfile.write(' for i = 1:nargin \n');
+ mfile.write(' if (isobject(varargin{i})) \n');
+ mfile.write(' varargin{i} = struct(varargin{i}); \n');
+ mfile.write(' endif \n');
+ mfile.write(' endfor \n');
mfile.write(' if (nargout),\n')
mfile.write(' [varargout{1:nargout}]=gf_octave(\'' + o + ext + '\',
varargin{:});\n')
mfile.write(' else\n')
@@ -981,7 +986,7 @@ elif (option == 'octave-com'):
mfile.write(' if (isa(a,this_class)),\n')
mfile.write(' m=a;\n')
mfile.write(' else\n')
- mfile.write(' if (isstruct(a) & isfield(a,\'id\') &
isfield(a,\'cid\'))\n')
+ mfile.write(' if (isstruct(a) && isfield(a,\'id\') &&
isfield(a,\'cid\'))\n')
mfile.write(' cname = gf_workspace(\'class name\',a);\n')
mfile.write(' if (strcmp(cname, this_class))\n')
mfile.write(' m = a;\n')
@@ -1005,7 +1010,7 @@ elif (option == 'octave-com'):
mfile.write('function display(cs)\n')
mfile.write('% ' + oname + '/display displays a short summary for a ' +
oname + ' object \n')
mfile.write(' for i=1:numel(cs),\n')
- mfile.write(' gf_' + o + '_get(cs(i), \'display\');\n')
+ mfile.write(' gf_' + o + '_get(struct(cs(i)), \'display\');\n')
mfile.write(' end;\n')
mfile.write('% autogenerated mfile;\n')
mfile.close()
@@ -1014,7 +1019,7 @@ elif (option == 'octave-com'):
mfile = open(path+'/char.m', 'w')
mfile.write('function s=char(m)\n')
mfile.write('% ' + oname + '/char output a textual representation of the
object\n')
- mfile.write(' s=gf_' + o + '_get(m,\'char\');\n')
+ mfile.write(' s=gf_' + o + '_get(struct(m),\'char\');\n')
mfile.write('% autogenerated mfile;\n')
mfile.close()
@@ -1042,6 +1047,7 @@ elif (option == 'octave-com'):
mfile = open(path+'/subsref.m', 'w')
mfile.write('function [varargout]=subsref(obj, index)\n')
mfile.write('% ' + oname + '/subsref\n')
+ mfile.write(' obj=struct(obj);\n')
mfile.write(' nout = max(nargout, 1); cnt=1;\n')
mfile.write(' FGET = @gf_'+o+'_get;\n')
mfile.write(' FSET = @gf_'+o+'_set;\n')
@@ -1087,7 +1093,7 @@ elif (option == 'octave-com'):
mfile.write(' FSET(obj,index(2).subs{:});\n')
mfile.write(' if (exist(\'ans\', \'var\') == 1)\n')
mfile.write(' h=ans;\n')
- mfile.write(' if (isstruct(h) & isfield(h,\'id\') &
isfield(h,\'cid\')), h = gfObject(h); end;\n');
+ mfile.write(' if (isstruct(h) && isfield(h,\'id\') &&
isfield(h,\'cid\')), h = gfObject(h); end;\n');
mfile.write(' varargout{1}=h;\n')
mfile.write(' end;\n')
mfile.write(' end;\n')
@@ -1097,13 +1103,13 @@ elif (option == 'octave-com'):
mfile.write(' case \'get\'\n')
mfile.write(' if (nargout) \n')
mfile.write(' h = FGET(obj, index(2).subs{:});\n')
- mfile.write(' if (isstruct(h) & isfield(h,\'id\') &
isfield(h,\'cid\')), h = gfObject(h); end;\n');
+ mfile.write(' if (isstruct(h) && isfield(h,\'id\') &&
isfield(h,\'cid\')), h = gfObject(h); end;\n');
mfile.write(' [varargout{1:nargout}] = h;\n')
mfile.write(' else\n')
mfile.write(' FGET(obj,index(2).subs{:});\n')
mfile.write(' if (exist(\'ans\', \'var\') == 1)\n')
mfile.write(' h=ans;\n')
- mfile.write(' if (isstruct(h) & isfield(h,\'id\') &
isfield(h,\'cid\')), h = gfObject(h); end;\n');
+ mfile.write(' if (isstruct(h) && isfield(h,\'id\') &&
isfield(h,\'cid\')), h = gfObject(h); end;\n');
mfile.write(' varargout{1}=h;\n')
mfile.write(' end;\n')
mfile.write(' end;\n')
@@ -1111,12 +1117,12 @@ elif (option == 'octave-com'):
mfile.write(' otherwise\n')
mfile.write(' if ((numel(index) > 1) && (strcmp(index(2).type,
\'()\')))\n')
mfile.write(' h = FGET(obj,index(1).subs, index(2).subs{:});\n')
- mfile.write(' if (isstruct(h) & isfield(h,\'id\') &
isfield(h,\'cid\')), h = gfObject(h); end;\n');
+ mfile.write(' if (isstruct(h) && isfield(h,\'id\') &&
isfield(h,\'cid\')), h = gfObject(h); end;\n');
mfile.write(' [varargout{1:nargout}] = h;\n')
mfile.write(' cnt = cnt + 1;\n')
mfile.write(' else\n')
mfile.write(' h = FGET(obj, index(1).subs);\n')
- mfile.write(' if (isstruct(h) & isfield(h,\'id\') &
isfield(h,\'cid\')), h = gfObject(h); end;\n');
+ mfile.write(' if (isstruct(h) && isfield(h,\'id\') &&
isfield(h,\'cid\')), h = gfObject(h); end;\n');
mfile.write(' [varargout{1:nargout}] = h;\n')
mfile.write(' end\n')
mfile.write(' end\n')
@@ -1142,9 +1148,9 @@ elif (option == 'octave-com'):
mfile.write('% ' + oname + '/' + ext + '.m\n')
mfile.write('% see gf_' + o + '_' + ext + ' for more help.\n')
mfile.write('if (nargout), \n')
- mfile.write(' [varargout{1:nargout}] = gf_'+o+'_'+ext+'(obj,
varargin{:});\n')
+ mfile.write(' [varargout{1:nargout}] = gf_'+o+'_'+ext+'(struct(obj),
varargin{:});\n')
mfile.write('else\n')
- mfile.write(' gf_'+o+'_'+ext+'(obj,varargin{:});\n')
+ mfile.write(' gf_'+o+'_'+ext+'(struct(obj),varargin{:});\n')
mfile.write(' if (exist(\'ans\',\'var\') == 1), varargout{1}=ans;\n')
mfile.write(' end;\n')
mfile.write('end;\n')
- [Getfem-commits] [getfem-commits] devel-yves-octave updated (28fe545 -> 0693d25), Yves Renard, 2020/04/18
- [Getfem-commits] (no subject), Yves Renard, 2020/04/18
- [Getfem-commits] (no subject), Yves Renard, 2020/04/18
- [Getfem-commits] (no subject),
Yves Renard <=
- [Getfem-commits] (no subject), Yves Renard, 2020/04/18
- [Getfem-commits] (no subject), Yves Renard, 2020/04/18
- [Getfem-commits] (no subject), Yves Renard, 2020/04/18
- [Getfem-commits] (no subject), Yves Renard, 2020/04/18
- [Getfem-commits] (no subject), Yves Renard, 2020/04/18