File Coverage

pp-plw3d.c
Criterion Covered Total %
statement 49 50 98.0
branch 50 96 52.0
condition n/a
subroutine n/a
pod n/a
total 99 146 67.8


line stmt bran cond sub pod time code
1              
2             #line 453 "lib/PDL/PP.pm"
3             /*
4             * THIS FILE WAS GENERATED BY PDL::PP from plplot.pd! Do not modify!
5             */
6              
7             #define PDL_FREE_CODE(trans, destroy, comp_free_code, ntpriv_free_code) \
8             if (destroy) { \
9             comp_free_code \
10             } \
11             if ((trans)->dims_redone) { \
12             ntpriv_free_code \
13             }
14              
15             #include "EXTERN.h"
16             #include "perl.h"
17             #include "XSUB.h"
18             #include "pdl.h"
19             #include "pdlcore.h"
20             #define PDL PDL_Graphics_PLplot
21             extern Core* PDL; /* Structure hold core C functions */
22             #line 23 "pp-plw3d.c"
23             #include
24             #include
25             #include
26             #include
27              
28             #ifndef PDL /* this is needed for PDL pre-2.058 */
29             #define PDL PDL_Graphics_PLplot
30             Core* PDL = NULL; PDL_COMMENT("Structure hold core C functions")
31             #endif
32              
33             #define PLPTR_DEFINE(t) typedef t *t ## Ptr; typedef t *t ## Ptr__OUT;
34             PLPTR_DEFINE(PLcGrid)
35             PLPTR_DEFINE(PLcGrid2)
36             #define PLPTR_RECEIVE_IN(t, v, v_in) t *v = (t *)v_in;
37             #define PLPTR_RECEIVE_SV(v) ((PLPointer) (SvROK(v) ? SvIV((SV*)SvRV(v)) : (IV)NULL))
38              
39             #line 1857 "lib/PDL/PP.pm"
40             pdl_error pdl_plw3d_readdata(pdl_trans *__privtrans) {
41             pdl_error PDL_err = {0, NULL, 0};
42             #line 43 "pp-plw3d.c"
43 38 50         if (!__privtrans->broadcast.incs) return PDL->make_error(PDL_EUSERERROR, "Error in plw3d:" "broadcast.incs NULL");
44             /* broadcastloop declarations */
45             int __brcloopval;
46             register PDL_Indx __tind0,__tind1; /* counters along dim */
47 38           register PDL_Indx __tnpdls = __privtrans->broadcast.npdls;
48             /* dims here are how many steps along those dims */
49 38           register PDL_Indx __tinc0_basex = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,0,0);
50 38           register PDL_Indx __tinc0_basey = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,1,0);
51 38           register PDL_Indx __tinc0_height = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,2,0);
52 38           register PDL_Indx __tinc0_xminzero = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,3,0);
53 38           register PDL_Indx __tinc0_xmaxzero = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,4,0);
54 38           register PDL_Indx __tinc0_yminzero = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,5,0);
55 38           register PDL_Indx __tinc0_ymaxzero = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,6,0);
56 38           register PDL_Indx __tinc0_zminzero = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,7,0);
57 38           register PDL_Indx __tinc0_zmaxzero = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,8,0);
58 38           register PDL_Indx __tinc0_alt = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,9,0);
59 38           register PDL_Indx __tinc0_az = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,10,0);
60 38           register PDL_Indx __tinc1_basex = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,0,1);
61 38           register PDL_Indx __tinc1_basey = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,1,1);
62 38           register PDL_Indx __tinc1_height = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,2,1);
63 38           register PDL_Indx __tinc1_xminzero = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,3,1);
64 38           register PDL_Indx __tinc1_xmaxzero = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,4,1);
65 38           register PDL_Indx __tinc1_yminzero = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,5,1);
66 38           register PDL_Indx __tinc1_ymaxzero = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,6,1);
67 38           register PDL_Indx __tinc1_zminzero = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,7,1);
68 38           register PDL_Indx __tinc1_zmaxzero = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,8,1);
69 38           register PDL_Indx __tinc1_alt = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,9,1);
70 38           register PDL_Indx __tinc1_az = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,10,1);
71             #define PDL_BROADCASTLOOP_START_plw3d_readdata PDL_BROADCASTLOOP_START( \
72             readdata, \
73             __privtrans->broadcast, \
74             __privtrans->vtable, \
75             basex_datap += __offsp[0]; \
76             basey_datap += __offsp[1]; \
77             height_datap += __offsp[2]; \
78             xminzero_datap += __offsp[3]; \
79             xmaxzero_datap += __offsp[4]; \
80             yminzero_datap += __offsp[5]; \
81             ymaxzero_datap += __offsp[6]; \
82             zminzero_datap += __offsp[7]; \
83             zmaxzero_datap += __offsp[8]; \
84             alt_datap += __offsp[9]; \
85             az_datap += __offsp[10]; \
86             , \
87             ( ,basex_datap += __tinc1_basex - __tinc0_basex * __tdims0 \
88             ,basey_datap += __tinc1_basey - __tinc0_basey * __tdims0 \
89             ,height_datap += __tinc1_height - __tinc0_height * __tdims0 \
90             ,xminzero_datap += __tinc1_xminzero - __tinc0_xminzero * __tdims0 \
91             ,xmaxzero_datap += __tinc1_xmaxzero - __tinc0_xmaxzero * __tdims0 \
92             ,yminzero_datap += __tinc1_yminzero - __tinc0_yminzero * __tdims0 \
93             ,ymaxzero_datap += __tinc1_ymaxzero - __tinc0_ymaxzero * __tdims0 \
94             ,zminzero_datap += __tinc1_zminzero - __tinc0_zminzero * __tdims0 \
95             ,zmaxzero_datap += __tinc1_zmaxzero - __tinc0_zmaxzero * __tdims0 \
96             ,alt_datap += __tinc1_alt - __tinc0_alt * __tdims0 \
97             ,az_datap += __tinc1_az - __tinc0_az * __tdims0 \
98             ), \
99             ( ,basex_datap += __tinc0_basex \
100             ,basey_datap += __tinc0_basey \
101             ,height_datap += __tinc0_height \
102             ,xminzero_datap += __tinc0_xminzero \
103             ,xmaxzero_datap += __tinc0_xmaxzero \
104             ,yminzero_datap += __tinc0_yminzero \
105             ,ymaxzero_datap += __tinc0_ymaxzero \
106             ,zminzero_datap += __tinc0_zminzero \
107             ,zmaxzero_datap += __tinc0_zmaxzero \
108             ,alt_datap += __tinc0_alt \
109             ,az_datap += __tinc0_az \
110             ) \
111             )
112             #define PDL_BROADCASTLOOP_END_plw3d_readdata PDL_BROADCASTLOOP_END( \
113             __privtrans->broadcast, \
114             basex_datap -= __tinc1_basex * __tdims1 + __offsp[0]; \
115             basey_datap -= __tinc1_basey * __tdims1 + __offsp[1]; \
116             height_datap -= __tinc1_height * __tdims1 + __offsp[2]; \
117             xminzero_datap -= __tinc1_xminzero * __tdims1 + __offsp[3]; \
118             xmaxzero_datap -= __tinc1_xmaxzero * __tdims1 + __offsp[4]; \
119             yminzero_datap -= __tinc1_yminzero * __tdims1 + __offsp[5]; \
120             ymaxzero_datap -= __tinc1_ymaxzero * __tdims1 + __offsp[6]; \
121             zminzero_datap -= __tinc1_zminzero * __tdims1 + __offsp[7]; \
122             zmaxzero_datap -= __tinc1_zmaxzero * __tdims1 + __offsp[8]; \
123             alt_datap -= __tinc1_alt * __tdims1 + __offsp[9]; \
124             az_datap -= __tinc1_az * __tdims1 + __offsp[10]; \
125             )
126             #ifndef PDL_DECLARE_PARAMS_plw3d_1
127             #define PDL_DECLARE_PARAMS_plw3d_1(PDL_TYPE_OP,PDL_PPSYM_OP,PDL_TYPE_PARAM_basex,PDL_PPSYM_PARAM_basex,PDL_TYPE_PARAM_basey,PDL_PPSYM_PARAM_basey,PDL_TYPE_PARAM_height,PDL_PPSYM_PARAM_height,PDL_TYPE_PARAM_xminzero,PDL_PPSYM_PARAM_xminzero,PDL_TYPE_PARAM_xmaxzero,PDL_PPSYM_PARAM_xmaxzero,PDL_TYPE_PARAM_yminzero,PDL_PPSYM_PARAM_yminzero,PDL_TYPE_PARAM_ymaxzero,PDL_PPSYM_PARAM_ymaxzero,PDL_TYPE_PARAM_zminzero,PDL_PPSYM_PARAM_zminzero,PDL_TYPE_PARAM_zmaxzero,PDL_PPSYM_PARAM_zmaxzero,PDL_TYPE_PARAM_alt,PDL_PPSYM_PARAM_alt,PDL_TYPE_PARAM_az,PDL_PPSYM_PARAM_az) \
128             PDL_DECLARE_PARAMETER(PDL_TYPE_PARAM_basex, basex, (__privtrans->pdls[0]), 1, PDL_PPSYM_PARAM_basex) \
129             PDL_DECLARE_PARAMETER(PDL_TYPE_PARAM_basey, basey, (__privtrans->pdls[1]), 1, PDL_PPSYM_PARAM_basey) \
130             PDL_DECLARE_PARAMETER(PDL_TYPE_PARAM_height, height, (__privtrans->pdls[2]), 1, PDL_PPSYM_PARAM_height) \
131             PDL_DECLARE_PARAMETER(PDL_TYPE_PARAM_xminzero, xminzero, (__privtrans->pdls[3]), 1, PDL_PPSYM_PARAM_xminzero) \
132             PDL_DECLARE_PARAMETER(PDL_TYPE_PARAM_xmaxzero, xmaxzero, (__privtrans->pdls[4]), 1, PDL_PPSYM_PARAM_xmaxzero) \
133             PDL_DECLARE_PARAMETER(PDL_TYPE_PARAM_yminzero, yminzero, (__privtrans->pdls[5]), 1, PDL_PPSYM_PARAM_yminzero) \
134             PDL_DECLARE_PARAMETER(PDL_TYPE_PARAM_ymaxzero, ymaxzero, (__privtrans->pdls[6]), 1, PDL_PPSYM_PARAM_ymaxzero) \
135             PDL_DECLARE_PARAMETER(PDL_TYPE_PARAM_zminzero, zminzero, (__privtrans->pdls[7]), 1, PDL_PPSYM_PARAM_zminzero) \
136             PDL_DECLARE_PARAMETER(PDL_TYPE_PARAM_zmaxzero, zmaxzero, (__privtrans->pdls[8]), 1, PDL_PPSYM_PARAM_zmaxzero) \
137             PDL_DECLARE_PARAMETER(PDL_TYPE_PARAM_alt, alt, (__privtrans->pdls[9]), 1, PDL_PPSYM_PARAM_alt) \
138             PDL_DECLARE_PARAMETER(PDL_TYPE_PARAM_az, az, (__privtrans->pdls[10]), 1, PDL_PPSYM_PARAM_az)
139             #endif
140             #define PDL_IF_BAD(t,f) f
141 38 50         switch (__privtrans->__datatype) { /* Start generic switch */
142 38           case PDL_D: {
143 38 50         PDL_DECLARE_PARAMS_plw3d_1(PDL_Double,D,PDL_Double,D,PDL_Double,D,PDL_Double,D,PDL_Double,D,PDL_Double,D,PDL_Double,D,PDL_Double,D,PDL_Double,D,PDL_Double,D,PDL_Double,D,PDL_Double,D)
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
144 152 50         PDL_BROADCASTLOOP_START_plw3d_readdata {c_plw3d((basex_datap)[0],(basey_datap)[0],(height_datap)[0],(xminzero_datap)[0],(xmaxzero_datap)[0],(yminzero_datap)[0],(ymaxzero_datap)[0],(zminzero_datap)[0],(zmaxzero_datap)[0],(alt_datap)[0],(az_datap)[0]);}PDL_BROADCASTLOOP_END_plw3d_readdata
    50          
    50          
    50          
    50          
    100          
    100          
    50          
    50          
145 38           } break;
146 0           default: return PDL->make_error(PDL_EUSERERROR, "PP INTERNAL ERROR in plw3d: unhandled datatype(%d), only handles (D)! PLEASE MAKE A BUG REPORT\n", __privtrans->__datatype);
147             }
148             #undef PDL_IF_BAD
149 38           return PDL_err;
150             }
151              
152             static pdl_datatypes pdl_plw3d_vtable_gentypes[] = { PDL_D, -1 };
153             static PDL_Indx pdl_plw3d_vtable_realdims[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
154             static char *pdl_plw3d_vtable_parnames[] = { "basex","basey","height","xminzero","xmaxzero","yminzero","ymaxzero","zminzero","zmaxzero","alt","az" };
155             static short pdl_plw3d_vtable_parflags[] = {
156             PDL_PARAM_ISTYPED,
157             PDL_PARAM_ISTYPED,
158             PDL_PARAM_ISTYPED,
159             PDL_PARAM_ISTYPED,
160             PDL_PARAM_ISTYPED,
161             PDL_PARAM_ISTYPED,
162             PDL_PARAM_ISTYPED,
163             PDL_PARAM_ISTYPED,
164             PDL_PARAM_ISTYPED,
165             PDL_PARAM_ISTYPED,
166             PDL_PARAM_ISTYPED
167             };
168             static pdl_datatypes pdl_plw3d_vtable_partypes[] = { PDL_D, PDL_D, PDL_D, PDL_D, PDL_D, PDL_D, PDL_D, PDL_D, PDL_D, PDL_D, PDL_D };
169             static PDL_Indx pdl_plw3d_vtable_realdims_starts[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
170             static PDL_Indx pdl_plw3d_vtable_realdims_ind_ids[] = { 0 };
171             static char *pdl_plw3d_vtable_indnames[] = { "" };
172             pdl_transvtable pdl_plw3d_vtable = {
173             PDL_TRANS_DO_BROADCAST|PDL_TRANS_NO_PARALLEL, 0, pdl_plw3d_vtable_gentypes, 11, 11, NULL /*CORE21*/,
174             pdl_plw3d_vtable_realdims, pdl_plw3d_vtable_parnames,
175             pdl_plw3d_vtable_parflags, pdl_plw3d_vtable_partypes,
176             pdl_plw3d_vtable_realdims_starts, pdl_plw3d_vtable_realdims_ind_ids, 0,
177             0, pdl_plw3d_vtable_indnames,
178             NULL, pdl_plw3d_readdata, NULL,
179             NULL,
180             0,"PDL::Graphics::PLplot::plw3d"
181             };
182              
183              
184 38           pdl_error pdl_run_plw3d(pdl *basex,pdl *basey,pdl *height,pdl *xminzero,pdl *xmaxzero,pdl *yminzero,pdl *ymaxzero,pdl *zminzero,pdl *zmaxzero,pdl *alt,pdl *az) {
185 38           pdl_error PDL_err = {0, NULL, 0};
186 38 50         if (!PDL) return (pdl_error){PDL_EFATAL, "PDL core struct is NULL, can't continue",0};
187 38           pdl_trans *__privtrans = PDL->create_trans(&pdl_plw3d_vtable);
188 38 50         if (!__privtrans) return PDL->make_error_simple(PDL_EFATAL, "Couldn't create trans");
189 38           __privtrans->pdls[0] = basex;
190 38           __privtrans->pdls[1] = basey;
191 38           __privtrans->pdls[2] = height;
192 38           __privtrans->pdls[3] = xminzero;
193 38           __privtrans->pdls[4] = xmaxzero;
194 38           __privtrans->pdls[5] = yminzero;
195 38           __privtrans->pdls[6] = ymaxzero;
196 38           __privtrans->pdls[7] = zminzero;
197 38           __privtrans->pdls[8] = zmaxzero;
198 38           __privtrans->pdls[9] = alt;
199 38           __privtrans->pdls[10] = az;
200 38 50         PDL_RETERROR(PDL_err, PDL->type_coerce(__privtrans));
201 38 50         PDL_RETERROR(PDL_err, PDL->make_trans_mutual(__privtrans));
202 38           return PDL_err;
203             }