/// On-the-fly constructor which uses mostly Surfpack model defaults SharedSurfpackApproxData:: SharedSurfpackApproxData(const String& approx_type, const UShortArray& approx_order, size_t num_vars, short data_order, short output_level): SharedApproxData(NoDBBaseConstructor(), approx_type, num_vars, data_order, output_level), crossValidateFlag(false), numFolds(0), percentFold(0.0), pressFlag(false) { approxType = approx_type; if (approx_order.empty()) approxOrder = 2; else { approxOrder = approx_order[0]; if (approx_order.size() != num_vars) { Cerr << "Error: bad size of " << approx_order.size() << " for approx_order in SharedSurfpackApproxData lightweight " << "constructor. Expected " << num_vars << "." << std::endl; abort_handler(-1); } for (size_t i=1; i<num_vars; ++i) if (approx_order[i] != approxOrder) { Cerr << "Warning: SharedSurfpackApproxData lightweight constructor " << "requires homogeneous approximation order. Promoting to max " << "value." << std::endl; approxOrder = std::max(approx_order[i], approxOrder); } } }
int DIOStreamSubsystem::write( const UShortArray &values ) { if( &values == 0 || values.size() < 1 ) throw IllegalArgumentException( "Invalid values" ); unsigned long bytesTransferred; const int result = DIO_StreamFrame( getDeviceIndex(), values.size(), ( unsigned short * ) values.data(), &bytesTransferred ); if( result != AIOUSB_SUCCESS ) throw OperationFailedException( result ); return bytesTransferred / sizeof( unsigned short ); } // DIOStreamSubsystem::write()