static v8::Handle<v8::Value> New (const v8::Arguments& args) { if (args.Length() == 1 && args[0]->IsUint32()) { // std::cout<<"New "<<args[0]->ToUint32()->IntegerValue()<<std::endl; Float64Array* array = new Float64Array(args[0]->ToUint32()->IntegerValue()); array->Wrap(args.This()); } else if(args.Length() == 1 && args[0]->IsObject()) { // unwrap array buffer object ArrayBuffer* buf = ObjectWrap::Unwrap<ArrayBuffer>(args[0]->ToObject()); Float64Array* array = new Float64Array(buf->length/8); array->Wrap(args.This()); } // std::cout<<"old Float64Array New "<<std::endl; return args.This(); }