v8::Handle<v8::Value> js_get_geom_property(v8::Local<v8::String> property) const { v8::String::Utf8Value key(property); if (!strcmp(*key, "as_wkt")) { std::ostringstream oss; geom_as_wkt(oss); return v8::String::New(oss.str().c_str()); } else if (!strcmp(*key, "as_ewkt")) { std::ostringstream oss; oss << "SRID=4326;"; geom_as_wkt(oss); return v8::String::New(oss.str().c_str()); } else if (!strcmp(*key, "as_hex_wkb")) { std::ostringstream oss; oss << geom_as_hex_wkb(); // } else if (!strcmp(*key, "as_hex_ewkb")) { // oss << geom.to_hex(); TODO TODO return v8::String::New(oss.str().c_str()); } else if (!strcmp(*key, "as_array")) { v8::Local<v8::Array> array = v8::Array::New(2); array->Set(v8::Integer::New(0), v8::Number::New(get_lon())); array->Set(v8::Integer::New(1), v8::Number::New(get_lat())); return array; } else if (!strcmp(*key, "lon") || !strcmp(*key, "x")) { return v8::Number::New(get_lon()); } else if (!strcmp(*key, "lat") || !strcmp(*key, "y")) { return v8::Number::New(get_lat()); } else { return v8::Undefined(); } }
void feature_vector::print() { // // Display internal settings set from reading steering // string mn = "print:"; string def = "<default>"; int w1=30; //arbitrary spacing size that makes formatting look pretty for data names int w2=30; //arbitrary spacing size that makes formatting look pretty for data options cout<<cn<<mn<<" >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" <<"\n"<<setw(w1)<<"DEBUG: " <<setw(w2)<<(debug? "ON":"OFF") <<"\n"<<setw(w1)<<"Feature Vector File Name: " <<setw(w2)<<"\""<<get_fv_file_name()<<"\"" <<"\n"<<setw(w1)<<"Feature Vector Extention: " <<setw(w2)<<"\""<<get_fv_ext()<<"\"" <<"\n"<<setw(w1)<<"Time: " <<setw(w2)<<"\""<<get_time_stamp()<<"\"" <<"\n"<<setw(w1)<<"ID: " <<setw(w2)<<"\""<<get_id()<<"\"" <<"\n"<<setw(w1)<<"Latitude: " <<setw(w2)<<"\""<<get_lat()<<"\"" <<"\n"<<setw(w1)<<"Longitude: " <<setw(w2)<<"\""<<get_lon()<<"\"" <<"\n"<<setw(w1)<<"Mac Address: " <<setw(w2)<<"\""<<get_macaddr()<<"\""<<endl; cout<<cn<<mn<<" <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"<<endl; return; }
!GAUGEMULT1 #include "qdp_$lib_internal.h" #include "com_common.h" #include "com_common_internal.h" #define fvdp QLA$PC_$ABBR3_v$EQOP_$ABBR1$ADJ1_times_p$ABBR2$ADJ2 #define fxdp QLA$PC_$ABBR3_x$EQOP_$ABBR1$ADJ1_times_p$ABBR2$ADJ2 #define fvpp QLA$PC_$ABBR3_v$EQOP_p$ABBR1$ADJ1_times_p$ABBR2$ADJ2 #define fxpp QLA$PC_$ABBR3_x$EQOP_p$ABBR1$ADJ1_times_p$ABBR2$ADJ2 void QDP$PC_$ABBR3_$EQOP_$ABBR1$ADJ1_times_s$ABBR2$ADJ2( $QDPPCTYPE3 *dest, $QDPPCTYPE1 *src1, $QDPPCTYPE2 *src2, QDP_Shift shift, QDP_ShiftDir fb, QDP_Subset subset) { char **temp2 = NULL; QDP_msg_tag *mtag = NULL; TGET; ONE { temp2 = (char **)malloc(QDP_sites_on_node_L(get_lat(dest))*sizeof(char *)); if((fb!=QDP_forward)&&(fb!=QDP_backward)) { fprintf(stderr,"QDP: error: bad fb in QDP$PC_$ABBR_eq_s$ABBR\n"); QDP_abort(1); } /* prepare shift source */ if(src2->ptr==NULL) { if(src2->data==NULL) { fprintf(stderr,"error: shifting from uninitialized source\n"); QDP_abort(1); } } else { QDP_switch_ptr_to_data(&src2->dc); } mtag = QDP_declare_shift( temp2, (char *)src2->data, src2->dc.size, shift, fb, subset ); QDP_do_gather(mtag); QDP_prepare_dest(&dest->dc); QDP_prepare_src(&src1->dc); QDP_wait_gather(mtag); } TBARRIER; #define SRC2O(o) ((void *)(((void **)(temp2))+(o))) #define N -1 #if ($C+0) == -1 int nc = QDP_get_nc(dest); #endif int toff, toff1; TSPLIT(toff, toff1, subset->len); int tlen = toff1-toff; toff += subset->offset; if(src1->ptr==NULL) { if(subset->indexed==0) { fvdp($NCVAR QDP_offset_data(dest,toff), QDP_offset_data(src1,toff), SRC2O(toff), tlen ); } else { fxdp($NCVAR QDP_offset_data(dest,0), QDP_offset_data(src1,0), SRC2O(0), subset->index, tlen ); } } else { if(subset->indexed==0) { fvpp($NCVAR QDP_offset_data(dest,toff), QDP_offset_ptr(src1,toff), SRC2O(toff), tlen ); } else { fxpp($NCVAR QDP_offset_data(dest,0), QDP_offset_ptr(src1,0), SRC2O(0), subset->index, tlen ); } } ONE { QDP_cleanup_gather(mtag); free((void*)temp2); } }
std::ostream& geom_as_wkt(std::ostream& s) const { return s << "POINT(" << get_lon() << " " << get_lat() << ")"; }