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