void ConnSW_BP::_commitGrad(float delta) { float *weight = getWeight().getData(); float *bias = getBias().getData(); const float *weight_grad = getWeightGrad().getData(); const float *bias_grad = getBiasGrad().getData(); const int weight_size = getWeight().getSize(); const int bias_size = getBias().getSize(); const float norm = delta/getBPCount(); for(int i = 0; i < weight_size; ++i) { weight[i] += weight_grad[i]*norm; } for(int i = 0; i < bias_size; ++i) { bias[i] += bias_grad[i]*norm; } getWeightGrad().clear(); getBiasGrad().clear(); }
VGfloat IPath::getParameterf( const VGint p ) const { switch (p) { case VG_PATH_SCALE: return getScale(); break; case VG_PATH_BIAS: return getBias(); break; default: IContext::instance().setError( VG_ILLEGAL_ARGUMENT_ERROR ); return -1; break; } }
void updateMatrices(const float *cameraView) { float bias = getBias(); if(shadowMap) properties.targetPos = shadowMap->pos; properties.resolutionX = 2 * SHADOW_WIDTH; properties.resolutionY = 2 * SHADOW_HEIGHT; properties.updateMatrices(cameraView, bias); camera.SetPosition(properties.position); camera.SetTarget(properties.position + properties.direction); camera.SetFieldOfView(D3DXToRadian(properties.fov)); camera.SetVisibilityRange(properties.range); }
void PoseEstimationTaskContext::updateOutputs() { getState(state_); state_output_.write(state_); if (imu_output_.connected()) { imu_out_.header = state_.header; imu_out_.orientation = state_.pose.pose.orientation; getImuWithBiases(imu_out_.linear_acceleration, imu_out_.angular_velocity); imu_output_.write(imu_out_); } if (pose_output_.connected()) { pose_.header = state_.header; pose_.pose = state_.pose.pose; pose_output_.write(pose_); } if (velocity_output_.connected()) { velocity_.header = state_.header; velocity_.vector = state_.twist.twist.linear; velocity_output_.write(velocity_); } if (global_position_output_.connected()) { global_position_.header = state_.header; getGlobalPosition(global_position_.latitude, global_position_.longitude, global_position_.altitude); global_position_.latitude *= 180.0/M_PI; global_position_.longitude *= 180.0/M_PI; if (getSystemStatus() & STATE_XY_POSITION) { global_position_.status.status = sensor_msgs::NavSatStatus::STATUS_FIX; } else { global_position_.status.status = sensor_msgs::NavSatStatus::STATUS_NO_FIX; } global_position_output_.write(global_position_); } if (angular_velocity_bias_output_.connected() || linear_acceleration_bias_output_.connected()) { getHeader(angular_velocity_bias_.header); getHeader(linear_acceleration_bias_.header); getBias(angular_velocity_bias_, linear_acceleration_bias_); angular_velocity_bias_output_.write(angular_velocity_bias_); linear_acceleration_bias_output_.write(linear_acceleration_bias_); } }
void processAudio(AudioBuffer &buffer) { float bias = getBias(1 - getRampedParameterValue(PARAMETER_A)); float dryWetMix = getRampedParameterValue(PARAMETER_D); int size = buffer.getSize(); for(int ch = 0; ch<buffer.getChannels(); ++ch) { float* buf = buffer.getSamples(ch); for (int i=0; i<size; ++i) { float v = powf(fabs(buf[i]), bias) * // bias (buf[i] < 0 ? -1 : 1); // sign buf[i] = v * dryWetMix + buf[i] * (1 - dryWetMix); } } }
void PlumedMain::cmd(const std::string & word,void*val){ stopwatch.start(); std::vector<std::string> words=Tools::getWords(word); unsigned nw=words.size(); if(nw==0){ // do nothing } else { int iword=-1; double d; std::map<std::string, int>::const_iterator it=plumedMainWordMap().find(words[0]); if(it!=plumedMainWordMap().end()) iword=it->second; switch(iword) { case cmd_setBox: CHECK_INIT(initialized,word); CHECK_NOTNULL(val,word); atoms.setBox(val); break; case cmd_setPositions: CHECK_INIT(initialized,word); atoms.setPositions(val); break; case cmd_setMasses: CHECK_INIT(initialized,word); atoms.setMasses(val); break; case cmd_setCharges: CHECK_INIT(initialized,word); atoms.setCharges(val); break; case cmd_setPositionsX: CHECK_INIT(initialized,word); atoms.setPositions(val,0); break; case cmd_setPositionsY: CHECK_INIT(initialized,word); atoms.setPositions(val,1); break; case cmd_setPositionsZ: CHECK_INIT(initialized,word); atoms.setPositions(val,2); break; case cmd_setVirial: CHECK_INIT(initialized,word); CHECK_NOTNULL(val,word); atoms.setVirial(val); break; case cmd_setEnergy: CHECK_INIT(initialized,word); CHECK_NOTNULL(val,word); atoms.setEnergy(val); break; case cmd_setForces: CHECK_INIT(initialized,word); atoms.setForces(val); break; case cmd_setForcesX: CHECK_INIT(initialized,word); atoms.setForces(val,0); break; case cmd_setForcesY: CHECK_INIT(initialized,word); atoms.setForces(val,1); break; case cmd_setForcesZ: CHECK_INIT(initialized,word); atoms.setForces(val,2); break; case cmd_calc: CHECK_INIT(initialized,word); calc(); break; case cmd_prepareDependencies: CHECK_INIT(initialized,word); prepareDependencies(); break; case cmd_shareData: CHECK_INIT(initialized,word); shareData(); break; case cmd_prepareCalc: CHECK_INIT(initialized,word); prepareCalc(); break; case cmd_performCalc: CHECK_INIT(initialized,word); performCalc(); break; case cmd_performCalcNoUpdate: CHECK_INIT(initialized,word); performCalcNoUpdate(); break; case cmd_update: CHECK_INIT(initialized,word); update(); break; case cmd_setStep: CHECK_INIT(initialized,word); CHECK_NOTNULL(val,word); step=(*static_cast<int*>(val)); atoms.startStep(); break; case cmd_setStepLong: CHECK_INIT(initialized,word); CHECK_NOTNULL(val,word); step=(*static_cast<long int*>(val)); atoms.startStep(); break; // words used less frequently: case cmd_setAtomsNlocal: CHECK_INIT(initialized,word); CHECK_NOTNULL(val,word); atoms.setAtomsNlocal(*static_cast<int*>(val)); break; case cmd_setAtomsGatindex: CHECK_INIT(initialized,word); atoms.setAtomsGatindex(static_cast<int*>(val),false); break; case cmd_setAtomsFGatindex: CHECK_INIT(initialized,word); atoms.setAtomsGatindex(static_cast<int*>(val),true); break; case cmd_setAtomsContiguous: CHECK_INIT(initialized,word); CHECK_NOTNULL(val,word); atoms.setAtomsContiguous(*static_cast<int*>(val)); break; case cmd_createFullList: CHECK_INIT(initialized,word); CHECK_NOTNULL(val,word); atoms.createFullList(static_cast<int*>(val)); break; case cmd_getFullList: CHECK_INIT(initialized,word); CHECK_NOTNULL(val,word); atoms.getFullList(static_cast<int**>(val)); break; case cmd_clearFullList: CHECK_INIT(initialized,word); atoms.clearFullList(); break; case cmd_read: CHECK_INIT(initialized,word); if(val)readInputFile(static_cast<char*>(val)); else readInputFile("plumed.dat"); break; case cmd_readInputLine: CHECK_INIT(initialized,word); CHECK_NOTNULL(val,word); readInputLine(static_cast<char*>(val)); break; case cmd_clear: CHECK_INIT(initialized,word); actionSet.clearDelete(); break; case cmd_getApiVersion: CHECK_NOTNULL(val,word); *(static_cast<int*>(val))=4; break; // commands which can be used only before initialization: case cmd_init: CHECK_NOTINIT(initialized,word); init(); break; case cmd_setRealPrecision: CHECK_NOTINIT(initialized,word); CHECK_NOTNULL(val,word); atoms.setRealPrecision(*static_cast<int*>(val)); break; case cmd_setMDLengthUnits: CHECK_NOTINIT(initialized,word); CHECK_NOTNULL(val,word); atoms.MD2double(val,d); atoms.setMDLengthUnits(d); break; case cmd_setMDChargeUnits: CHECK_NOTINIT(initialized,word); CHECK_NOTNULL(val,word); atoms.MD2double(val,d); atoms.setMDChargeUnits(d); break; case cmd_setMDMassUnits: CHECK_NOTINIT(initialized,word); CHECK_NOTNULL(val,word); atoms.MD2double(val,d); atoms.setMDMassUnits(d); break; case cmd_setMDEnergyUnits: CHECK_NOTINIT(initialized,word); CHECK_NOTNULL(val,word); atoms.MD2double(val,d); atoms.setMDEnergyUnits(d); break; case cmd_setMDTimeUnits: CHECK_NOTINIT(initialized,word); CHECK_NOTNULL(val,word); atoms.MD2double(val,d); atoms.setMDTimeUnits(d); break; case cmd_setNaturalUnits: // set the boltzman constant for MD in natural units (kb=1) // only needed in LJ codes if the MD is passing temperatures to plumed (so, not yet...) // use as cmd("setNaturalUnits") CHECK_NOTINIT(initialized,word); atoms.setMDNaturalUnits(true); break; case cmd_setNoVirial: CHECK_NOTINIT(initialized,word); novirial=true; break; case cmd_setPlumedDat: CHECK_NOTINIT(initialized,word); CHECK_NOTNULL(val,word); plumedDat=static_cast<char*>(val); break; case cmd_setMPIComm: CHECK_NOTINIT(initialized,word); comm.Set_comm(val); atoms.setDomainDecomposition(comm); break; case cmd_setMPIFComm: CHECK_NOTINIT(initialized,word); comm.Set_fcomm(val); atoms.setDomainDecomposition(comm); break; case cmd_setMPImultiSimComm: CHECK_NOTINIT(initialized,word); multi_sim_comm.Set_comm(val); break; case cmd_setNatoms: CHECK_NOTINIT(initialized,word); CHECK_NOTNULL(val,word); atoms.setNatoms(*static_cast<int*>(val)); break; case cmd_setTimestep: CHECK_NOTINIT(initialized,word); CHECK_NOTNULL(val,word); atoms.setTimeStep(val); break; /* ADDED WITH API==2 */ case cmd_setKbT: CHECK_NOTINIT(initialized,word); CHECK_NOTNULL(val,word); atoms.setKbT(val); break; /* ADDED WITH API==3 */ case cmd_setRestart: CHECK_NOTINIT(initialized,word); CHECK_NOTNULL(val,word); if(*static_cast<int*>(val)!=0) restart=true; break; case cmd_setMDEngine: CHECK_NOTINIT(initialized,word); CHECK_NOTNULL(val,word); MDEngine=static_cast<char*>(val); break; case cmd_setLog: CHECK_NOTINIT(initialized,word); log.link(static_cast<FILE*>(val)); break; case cmd_setLogFile: CHECK_NOTINIT(initialized,word); CHECK_NOTNULL(val,word); log.open(static_cast<char*>(val)); break; // other commands that should be used after initialization: case cmd_setStopFlag: CHECK_INIT(initialized,word); CHECK_NOTNULL(val,word); stopFlag=static_cast<int*>(val); break; case cmd_getExchangesFlag: CHECK_INIT(initialized,word); CHECK_NOTNULL(val,word); exchangePatterns.getFlag((*static_cast<int*>(val))); break; case cmd_setExchangesSeed: CHECK_INIT(initialized,word); CHECK_NOTNULL(val,word); exchangePatterns.setSeed((*static_cast<int*>(val))); break; case cmd_setNumberOfReplicas: CHECK_INIT(initialized,word); CHECK_NOTNULL(val,word); exchangePatterns.setNofR((*static_cast<int*>(val))); break; case cmd_getExchangesList: CHECK_INIT(initialized,word); CHECK_NOTNULL(val,word); exchangePatterns.getList((static_cast<int*>(val))); break; case cmd_runFinalJobs: CHECK_INIT(initialized,word); runJobsAtEndOfCalculation(); break; case cmd_isEnergyNeeded: CHECK_INIT(initialized,word); CHECK_NOTNULL(val,word); if(atoms.isEnergyNeeded()) *(static_cast<int*>(val))=1; else *(static_cast<int*>(val))=0; break; case cmd_getBias: CHECK_INIT(initialized,word); CHECK_NOTNULL(val,word); atoms.double2MD(getBias()/(atoms.getMDUnits().getEnergy()/atoms.getUnits().getEnergy()),val); break; case cmd_checkAction: CHECK_NOTNULL(val,word); plumed_assert(nw==2); *(static_cast<int*>(val))=(actionRegister().check(words[1]) ? 1:0); break; case cmd_GREX: if(!grex) grex=new GREX(*this); plumed_massert(grex,"error allocating grex"); { std::string kk=words[1]; for(unsigned i=2;i<words.size();i++) kk+=" "+words[i]; grex->cmd(kk.c_str(),val); } break; case cmd_CLTool: CHECK_NOTINIT(initialized,word); if(!cltool) cltool=new CLToolMain; { std::string kk=words[1]; for(unsigned i=2;i<words.size();i++) kk+=" "+words[i]; cltool->cmd(kk.c_str(),val); } break; default: plumed_merror("cannot interpret cmd(\"" + word + "\"). check plumed developers manual to see the available commands."); break; } } stopwatch.pause(); }