[a0bcf1] | 1 | #ifndef NANOCREATOR_H_
|
---|
| 2 | #define NANOCREATOR_H_
|
---|
| 3 |
|
---|
| 4 | #define MYEPSILON 1e-13
|
---|
| 5 |
|
---|
| 6 | struct Atoms
|
---|
| 7 | {
|
---|
| 8 | char name[3];
|
---|
| 9 | double x[3];
|
---|
| 10 | };
|
---|
| 11 |
|
---|
| 12 | // file stuff
|
---|
| 13 | char * ReadBuffer (char *filename, int *bufferlength);
|
---|
| 14 | void AddAtomicNumber(char *filename, int atomicnumber, double **Vector, double **Recivector);
|
---|
| 15 | void AddSheetInfo(char *filename, int *axis, int *chiral, int *factors, int seed, int numbercell, double *randomness);
|
---|
| 16 | int GetNextline(char *buffer, char *line);
|
---|
| 17 |
|
---|
| 18 | // matrix stuff
|
---|
| 19 | void MatrixInversion(double **matrix1ref, double **matrix2ref);
|
---|
| 20 | void MatrixInversion(double **matrix1ref, double **matrix2ref);
|
---|
| 21 | double Determinant(double **matrix);
|
---|
| 22 | void PrintMatrix(FILE *file, double **matrix);
|
---|
| 23 |
|
---|
| 24 | // vector stuff
|
---|
| 25 | double * MatrixTrafo(double **matrixref, double *vectorref);
|
---|
| 26 | double * VectorAdd(double *vector1, double *vector2);
|
---|
| 27 | void Orthogonalize(double **orthvector, int *axis);
|
---|
| 28 | double Projection(double *vector1, double *vector2);
|
---|
| 29 | double ScalarProduct(double *vector1, double *vector2);
|
---|
| 30 | double Norm(double *vector);
|
---|
| 31 | void PrintVector(FILE *file, double *vector);
|
---|
| 32 |
|
---|
| 33 | double DetermineBiggestDiameter(double **matrix, int *axis, int *factors);
|
---|
| 34 | double * CenterOfGravity(char *bufptr, int number);
|
---|
| 35 | void Debug(char *msg);
|
---|
| 36 |
|
---|
| 37 | #endif /*NANOCREATOR_H_*/
|
---|