annotate FEMTEC2013/examples/dld.cc @ 8:50abddcc3409 default tip

Presentation delivered by cdf at OctConf 2013.
author Carlo de Falco <cdf@users.sourceforge.net>
date Mon, 22 Jul 2013 21:54:27 +0200
parents 60233b0075a9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4
0a1567794b40 [mq]: folder_reorganization
Carlo de Falco <cdf@users.sourceforge.net>
parents:
diff changeset
1 #include <octave/oct.h>
0a1567794b40 [mq]: folder_reorganization
Carlo de Falco <cdf@users.sourceforge.net>
parents:
diff changeset
2
0a1567794b40 [mq]: folder_reorganization
Carlo de Falco <cdf@users.sourceforge.net>
parents:
diff changeset
3 DEFUN_DLD(dld,args,nargout,"dld (array) \nreturn the elements of the array in reverse order\n")
0a1567794b40 [mq]: folder_reorganization
Carlo de Falco <cdf@users.sourceforge.net>
parents:
diff changeset
4 {
0a1567794b40 [mq]: folder_reorganization
Carlo de Falco <cdf@users.sourceforge.net>
parents:
diff changeset
5 octave_value_list retval;
0a1567794b40 [mq]: folder_reorganization
Carlo de Falco <cdf@users.sourceforge.net>
parents:
diff changeset
6 int nargin = args.length ();
0a1567794b40 [mq]: folder_reorganization
Carlo de Falco <cdf@users.sourceforge.net>
parents:
diff changeset
7
0a1567794b40 [mq]: folder_reorganization
Carlo de Falco <cdf@users.sourceforge.net>
parents:
diff changeset
8 if (nargin != 1)
0a1567794b40 [mq]: folder_reorganization
Carlo de Falco <cdf@users.sourceforge.net>
parents:
diff changeset
9 print_usage ();
0a1567794b40 [mq]: folder_reorganization
Carlo de Falco <cdf@users.sourceforge.net>
parents:
diff changeset
10 else
0a1567794b40 [mq]: folder_reorganization
Carlo de Falco <cdf@users.sourceforge.net>
parents:
diff changeset
11 {
0a1567794b40 [mq]: folder_reorganization
Carlo de Falco <cdf@users.sourceforge.net>
parents:
diff changeset
12 Array<double> a = args(0).array_value ();
0a1567794b40 [mq]: folder_reorganization
Carlo de Falco <cdf@users.sourceforge.net>
parents:
diff changeset
13 if (! error_state)
0a1567794b40 [mq]: folder_reorganization
Carlo de Falco <cdf@users.sourceforge.net>
parents:
diff changeset
14 {
0a1567794b40 [mq]: folder_reorganization
Carlo de Falco <cdf@users.sourceforge.net>
parents:
diff changeset
15 Array<double> b (a);
0a1567794b40 [mq]: folder_reorganization
Carlo de Falco <cdf@users.sourceforge.net>
parents:
diff changeset
16 double* ap = a.fortran_vec ();
0a1567794b40 [mq]: folder_reorganization
Carlo de Falco <cdf@users.sourceforge.net>
parents:
diff changeset
17 double* bp = b.fortran_vec ();
0a1567794b40 [mq]: folder_reorganization
Carlo de Falco <cdf@users.sourceforge.net>
parents:
diff changeset
18 for (octave_idx_type i = a.numel () - 1, j = 0; i >= 0; i--, j++)
0a1567794b40 [mq]: folder_reorganization
Carlo de Falco <cdf@users.sourceforge.net>
parents:
diff changeset
19 bp[i] = ap[j];
0a1567794b40 [mq]: folder_reorganization
Carlo de Falco <cdf@users.sourceforge.net>
parents:
diff changeset
20 retval = octave_value (b);
0a1567794b40 [mq]: folder_reorganization
Carlo de Falco <cdf@users.sourceforge.net>
parents:
diff changeset
21 }
0a1567794b40 [mq]: folder_reorganization
Carlo de Falco <cdf@users.sourceforge.net>
parents:
diff changeset
22 }
0a1567794b40 [mq]: folder_reorganization
Carlo de Falco <cdf@users.sourceforge.net>
parents:
diff changeset
23 return retval;
0a1567794b40 [mq]: folder_reorganization
Carlo de Falco <cdf@users.sourceforge.net>
parents:
diff changeset
24 }