orientation_change_updater.h
Go to the documentation of this file.
1 
40 #ifndef HIGH_PRECISION_PSO_POSITION_AND_VELOCITY_UPDATER_ORIENTATION_CHANGE_UPDATER_H_
41 #define HIGH_PRECISION_PSO_POSITION_AND_VELOCITY_UPDATER_ORIENTATION_CHANGE_UPDATER_H_
42 
43 #include <fstream>
44 #include <gmp.h>
45 #include <vector>
46 
48 
49 namespace highprecisionpso {
50 
57 public:
63  OrientationChangeUpdater(double log2_limit);
77  void Update(Particle* p);
78  std::string GetName();
79  void LoadData(std::ifstream* input_stream, ProgramVersion* version_of_stored_data);
80  void StoreData(std::ofstream* output_stream);
81 
82 private:
83  std::vector<mpf_t*> Rotation(std::vector<mpf_t*>);
84  std::vector<mpf_t*> InverseRotation(std::vector<mpf_t*>);
85 
86  const double log2_limit_;
87  std::vector<std::vector<mpf_t* > > orthogonal_transformation_matrix_;
88 };
89 
90 } // namespace highprecisionpso
91 
92 #endif /* HIGH_PRECISION_PSO_POSITION_AND_VELOCITY_UPDATER_ORIENTATION_CHANGE_UPDATER_H_ */
void LoadData(std::ifstream *input_stream, ProgramVersion *version_of_stored_data)
Loads data to reset the state of the position and velocity updater to the state which was stored...
The particles for the particle swarm optimization algorithm.
Definition: particle.h:54
OrientationChangeUpdater(double log2_limit)
The constructor.
This file contains an abstract class for processing the velocity and position update of each particle...
This class is an abstract class for processing the velocity and position update of each particle...
Definition: position_and_velocity_updater.h:55
This class stores a program version.
Definition: general_objects.h:54
void StoreData(std::ofstream *output_stream)
Stores the current state of this position and velocity updater such that it can completely restore th...
The orientation change updater implements an update procedure, which changes orientation if some dire...
Definition: orientation_change_updater.h:56
void Update(Particle *p)
Processes a single movement of the specified particle.
std::string GetName()
Returns a string representation of this object.
base namespace for this project.
Definition: absorption.h:45