| 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_*/ | 
|---|