File Coverage

pp-plptex3.c
Criterion Covered Total %
statement 52 53 98.1
branch 48 92 52.1
condition n/a
subroutine n/a
pod n/a
total 100 145 68.9


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-plptex3.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 1846 "lib/PDL/PP.pm"
40             typedef struct pdl_params_plptex3 {
41             #line 42 "pp-plptex3.c"
42             char *text;
43             } pdl_params_plptex3;
44              
45              
46             #line 1857 "lib/PDL/PP.pm"
47             pdl_error pdl_plptex3_readdata(pdl_trans *__privtrans) {
48             pdl_error PDL_err = {0, NULL, 0};
49             #line 50 "pp-plptex3.c"
50 68           pdl_params_plptex3 *__params = __privtrans->params; (void)__params;
51 68 50         if (!__privtrans->broadcast.incs) return PDL->make_error(PDL_EUSERERROR, "Error in plptex3:" "broadcast.incs NULL");
52             /* broadcastloop declarations */
53             int __brcloopval;
54             register PDL_Indx __tind0,__tind1; /* counters along dim */
55 68           register PDL_Indx __tnpdls = __privtrans->broadcast.npdls;
56             /* dims here are how many steps along those dims */
57 68           register PDL_Indx __tinc0_x = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,0,0);
58 68           register PDL_Indx __tinc0_y = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,1,0);
59 68           register PDL_Indx __tinc0_z = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,2,0);
60 68           register PDL_Indx __tinc0_dx = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,3,0);
61 68           register PDL_Indx __tinc0_dy = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,4,0);
62 68           register PDL_Indx __tinc0_dz = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,5,0);
63 68           register PDL_Indx __tinc0_sx = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,6,0);
64 68           register PDL_Indx __tinc0_sy = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,7,0);
65 68           register PDL_Indx __tinc0_sz = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,8,0);
66 68           register PDL_Indx __tinc0_just = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,9,0);
67 68           register PDL_Indx __tinc1_x = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,0,1);
68 68           register PDL_Indx __tinc1_y = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,1,1);
69 68           register PDL_Indx __tinc1_z = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,2,1);
70 68           register PDL_Indx __tinc1_dx = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,3,1);
71 68           register PDL_Indx __tinc1_dy = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,4,1);
72 68           register PDL_Indx __tinc1_dz = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,5,1);
73 68           register PDL_Indx __tinc1_sx = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,6,1);
74 68           register PDL_Indx __tinc1_sy = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,7,1);
75 68           register PDL_Indx __tinc1_sz = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,8,1);
76 68           register PDL_Indx __tinc1_just = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,9,1);
77             #define PDL_BROADCASTLOOP_START_plptex3_readdata PDL_BROADCASTLOOP_START( \
78             readdata, \
79             __privtrans->broadcast, \
80             __privtrans->vtable, \
81             x_datap += __offsp[0]; \
82             y_datap += __offsp[1]; \
83             z_datap += __offsp[2]; \
84             dx_datap += __offsp[3]; \
85             dy_datap += __offsp[4]; \
86             dz_datap += __offsp[5]; \
87             sx_datap += __offsp[6]; \
88             sy_datap += __offsp[7]; \
89             sz_datap += __offsp[8]; \
90             just_datap += __offsp[9]; \
91             , \
92             ( ,x_datap += __tinc1_x - __tinc0_x * __tdims0 \
93             ,y_datap += __tinc1_y - __tinc0_y * __tdims0 \
94             ,z_datap += __tinc1_z - __tinc0_z * __tdims0 \
95             ,dx_datap += __tinc1_dx - __tinc0_dx * __tdims0 \
96             ,dy_datap += __tinc1_dy - __tinc0_dy * __tdims0 \
97             ,dz_datap += __tinc1_dz - __tinc0_dz * __tdims0 \
98             ,sx_datap += __tinc1_sx - __tinc0_sx * __tdims0 \
99             ,sy_datap += __tinc1_sy - __tinc0_sy * __tdims0 \
100             ,sz_datap += __tinc1_sz - __tinc0_sz * __tdims0 \
101             ,just_datap += __tinc1_just - __tinc0_just * __tdims0 \
102             ), \
103             ( ,x_datap += __tinc0_x \
104             ,y_datap += __tinc0_y \
105             ,z_datap += __tinc0_z \
106             ,dx_datap += __tinc0_dx \
107             ,dy_datap += __tinc0_dy \
108             ,dz_datap += __tinc0_dz \
109             ,sx_datap += __tinc0_sx \
110             ,sy_datap += __tinc0_sy \
111             ,sz_datap += __tinc0_sz \
112             ,just_datap += __tinc0_just \
113             ) \
114             )
115             #define PDL_BROADCASTLOOP_END_plptex3_readdata PDL_BROADCASTLOOP_END( \
116             __privtrans->broadcast, \
117             x_datap -= __tinc1_x * __tdims1 + __offsp[0]; \
118             y_datap -= __tinc1_y * __tdims1 + __offsp[1]; \
119             z_datap -= __tinc1_z * __tdims1 + __offsp[2]; \
120             dx_datap -= __tinc1_dx * __tdims1 + __offsp[3]; \
121             dy_datap -= __tinc1_dy * __tdims1 + __offsp[4]; \
122             dz_datap -= __tinc1_dz * __tdims1 + __offsp[5]; \
123             sx_datap -= __tinc1_sx * __tdims1 + __offsp[6]; \
124             sy_datap -= __tinc1_sy * __tdims1 + __offsp[7]; \
125             sz_datap -= __tinc1_sz * __tdims1 + __offsp[8]; \
126             just_datap -= __tinc1_just * __tdims1 + __offsp[9]; \
127             )
128             #ifndef PDL_DECLARE_PARAMS_plptex3_1
129             #define PDL_DECLARE_PARAMS_plptex3_1(PDL_TYPE_OP,PDL_PPSYM_OP,PDL_TYPE_PARAM_x,PDL_PPSYM_PARAM_x,PDL_TYPE_PARAM_y,PDL_PPSYM_PARAM_y,PDL_TYPE_PARAM_z,PDL_PPSYM_PARAM_z,PDL_TYPE_PARAM_dx,PDL_PPSYM_PARAM_dx,PDL_TYPE_PARAM_dy,PDL_PPSYM_PARAM_dy,PDL_TYPE_PARAM_dz,PDL_PPSYM_PARAM_dz,PDL_TYPE_PARAM_sx,PDL_PPSYM_PARAM_sx,PDL_TYPE_PARAM_sy,PDL_PPSYM_PARAM_sy,PDL_TYPE_PARAM_sz,PDL_PPSYM_PARAM_sz,PDL_TYPE_PARAM_just,PDL_PPSYM_PARAM_just) \
130             PDL_DECLARE_PARAMETER(PDL_TYPE_PARAM_x, x, (__privtrans->pdls[0]), 1, PDL_PPSYM_PARAM_x) \
131             PDL_DECLARE_PARAMETER(PDL_TYPE_PARAM_y, y, (__privtrans->pdls[1]), 1, PDL_PPSYM_PARAM_y) \
132             PDL_DECLARE_PARAMETER(PDL_TYPE_PARAM_z, z, (__privtrans->pdls[2]), 1, PDL_PPSYM_PARAM_z) \
133             PDL_DECLARE_PARAMETER(PDL_TYPE_PARAM_dx, dx, (__privtrans->pdls[3]), 1, PDL_PPSYM_PARAM_dx) \
134             PDL_DECLARE_PARAMETER(PDL_TYPE_PARAM_dy, dy, (__privtrans->pdls[4]), 1, PDL_PPSYM_PARAM_dy) \
135             PDL_DECLARE_PARAMETER(PDL_TYPE_PARAM_dz, dz, (__privtrans->pdls[5]), 1, PDL_PPSYM_PARAM_dz) \
136             PDL_DECLARE_PARAMETER(PDL_TYPE_PARAM_sx, sx, (__privtrans->pdls[6]), 1, PDL_PPSYM_PARAM_sx) \
137             PDL_DECLARE_PARAMETER(PDL_TYPE_PARAM_sy, sy, (__privtrans->pdls[7]), 1, PDL_PPSYM_PARAM_sy) \
138             PDL_DECLARE_PARAMETER(PDL_TYPE_PARAM_sz, sz, (__privtrans->pdls[8]), 1, PDL_PPSYM_PARAM_sz) \
139             PDL_DECLARE_PARAMETER(PDL_TYPE_PARAM_just, just, (__privtrans->pdls[9]), 1, PDL_PPSYM_PARAM_just)
140             #endif
141             #define PDL_IF_BAD(t,f) f
142 68 50         switch (__privtrans->__datatype) { /* Start generic switch */
143 68           case PDL_D: {
144 68 50         PDL_DECLARE_PARAMS_plptex3_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)
    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          
145 359 50         PDL_BROADCASTLOOP_START_plptex3_readdata {c_plptex3((x_datap)[0],(y_datap)[0],(z_datap)[0],(dx_datap)[0],(dy_datap)[0],(dz_datap)[0],(sx_datap)[0],(sy_datap)[0],(sz_datap)[0],(just_datap)[0],__params->text);}PDL_BROADCASTLOOP_END_plptex3_readdata
    50          
    50          
    50          
    50          
    100          
    100          
    50          
    50          
146 68           } break;
147 0           default: return PDL->make_error(PDL_EUSERERROR, "PP INTERNAL ERROR in plptex3: unhandled datatype(%d), only handles (D)! PLEASE MAKE A BUG REPORT\n", __privtrans->__datatype);
148             }
149             #undef PDL_IF_BAD
150 68           return PDL_err;
151             }
152              
153              
154             #line 1857 "lib/PDL/PP.pm"
155             pdl_error pdl_plptex3_free(pdl_trans *__privtrans, char destroy) {
156             pdl_error PDL_err = {0, NULL, 0};
157             #line 158 "pp-plptex3.c"
158 68           pdl_params_plptex3 *__params = __privtrans->params; (void)__params;
159 68 50         PDL_FREE_CODE(__privtrans, destroy, free(__params->text); /* CType.get_free */
160 68           , ) return PDL_err;
161             }
162              
163             static pdl_datatypes pdl_plptex3_vtable_gentypes[] = { PDL_D, -1 };
164             static PDL_Indx pdl_plptex3_vtable_realdims[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
165             static char *pdl_plptex3_vtable_parnames[] = { "x","y","z","dx","dy","dz","sx","sy","sz","just" };
166             static short pdl_plptex3_vtable_parflags[] = {
167             PDL_PARAM_ISTYPED,
168             PDL_PARAM_ISTYPED,
169             PDL_PARAM_ISTYPED,
170             PDL_PARAM_ISTYPED,
171             PDL_PARAM_ISTYPED,
172             PDL_PARAM_ISTYPED,
173             PDL_PARAM_ISTYPED,
174             PDL_PARAM_ISTYPED,
175             PDL_PARAM_ISTYPED,
176             PDL_PARAM_ISTYPED
177             };
178             static pdl_datatypes pdl_plptex3_vtable_partypes[] = { PDL_D, PDL_D, PDL_D, PDL_D, PDL_D, PDL_D, PDL_D, PDL_D, PDL_D, PDL_D };
179             static PDL_Indx pdl_plptex3_vtable_realdims_starts[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
180             static PDL_Indx pdl_plptex3_vtable_realdims_ind_ids[] = { 0 };
181             static char *pdl_plptex3_vtable_indnames[] = { "" };
182             pdl_transvtable pdl_plptex3_vtable = {
183             PDL_TRANS_DO_BROADCAST|PDL_TRANS_NO_PARALLEL, 0, pdl_plptex3_vtable_gentypes, 10, 10, NULL /*CORE21*/,
184             pdl_plptex3_vtable_realdims, pdl_plptex3_vtable_parnames,
185             pdl_plptex3_vtable_parflags, pdl_plptex3_vtable_partypes,
186             pdl_plptex3_vtable_realdims_starts, pdl_plptex3_vtable_realdims_ind_ids, 0,
187             0, pdl_plptex3_vtable_indnames,
188             NULL, pdl_plptex3_readdata, NULL,
189             pdl_plptex3_free,
190             sizeof(pdl_params_plptex3),"PDL::Graphics::PLplot::plptex3"
191             };
192              
193              
194 68           pdl_error pdl_run_plptex3(pdl *x,pdl *y,pdl *z,pdl *dx,pdl *dy,pdl *dz,pdl *sx,pdl *sy,pdl *sz,pdl *just,char *text) {
195 68           pdl_error PDL_err = {0, NULL, 0};
196 68 50         if (!PDL) return (pdl_error){PDL_EFATAL, "PDL core struct is NULL, can't continue",0};
197 68           pdl_trans *__privtrans = PDL->create_trans(&pdl_plptex3_vtable);
198 68 50         if (!__privtrans) return PDL->make_error_simple(PDL_EFATAL, "Couldn't create trans");
199 68           pdl_params_plptex3 *__params = __privtrans->params;
200 68           __privtrans->pdls[0] = x;
201 68           __privtrans->pdls[1] = y;
202 68           __privtrans->pdls[2] = z;
203 68           __privtrans->pdls[3] = dx;
204 68           __privtrans->pdls[4] = dy;
205 68           __privtrans->pdls[5] = dz;
206 68           __privtrans->pdls[6] = sx;
207 68           __privtrans->pdls[7] = sy;
208 68           __privtrans->pdls[8] = sz;
209 68           __privtrans->pdls[9] = just;
210 68 50         PDL_RETERROR(PDL_err, PDL->type_coerce(__privtrans));
211 68           (__params->text) = malloc(strlen(text)+1); strcpy(__params->text,text); /* CType.get_copy */
212 68 50         PDL_RETERROR(PDL_err, PDL->make_trans_mutual(__privtrans));
213 68           return PDL_err;
214             }