template <class elem,class Type> void tpl_red_seg<elem,Type>::trivial_f ( Type * out, const Type * in, Type * buf_av, INT x_min, INT x_max, INT dx0, INT dx1 ) { Type * bopt = buf_av+x_min+dx0; INT nb = x_max-x_min; const Type * i0 = in+x_min+dx0; Type * o0 = out+x_min; switch (dx1-dx0) { case 0 : { convert(bopt , i0 , nb); convert(o0 , bopt , nb); return; } case 1 : { elem::optab.t0_eg_t1_op_t2(bopt,i0,i0+1,nb); convert(o0,bopt,nb); return; } case 2 : { for (INT k = 0; k < nb ; k++,i0 ++) bopt[k] = elem::op(i0[0], elem::op(i0[1],i0[2])); convert(o0,bopt,nb); return; } case 3 : { for (INT k = 0; k < nb ; k++,i0 ++) bopt[k] = elem::op(elem::op(i0[0],i0[1]), elem::op(i0[2],i0[3])); convert(o0,bopt,nb); return; } default : elise_internal_error ( "tpl_red_seg<elem,Type>::trivial_f", __FILE__,__LINE__ ); } }
void Pack_Of_Pts::convert_from_real(const Std_Pack_Of_Pts<REAL> *) { elise_internal_error ( "Impossible convertions of Pack_Of_Pts", __FILE__, __LINE__ ); }
void Pack_Of_Pts::convert_from_rle(const RLE_Pack_Of_Pts *) { elise_internal_error ( "Impossible convertions of Pack_Of_Pts", __FILE__, __LINE__ ); }
Histo_Kieme * Histo_Kieme::New_HK(mode_h mode,INT max_vals) { switch(mode) { case bin_tree : return new BinTree_HK (max_vals); case last_rank : return new LastRank_HK(max_vals); default : break; } elise_internal_error ( "Illicit call to Histo_Kieme::New_HK", __FILE__,__LINE__ ); return 0; }
void * Pack_Of_Pts::adr_coord() const { elise_internal_error ("should never be in Pack_Of_Pts::adr_coord",__FILE__,__LINE__); return 0; }
REAL Flux_Pts_Computed::average_dist() { elise_internal_error ("use of average_dist in a non linear flux",__FILE__,__LINE__); return 0.0; // completely arbitrary }