Menu

SVN archive Commit Log


Commit Date  
[r26643] by bugman

Expanded the 'irreducible 5D' text in the align_tensor.matrix_angles and align_tensor.svd user functions.

This now explains that these are the coefficients for the spherical harmonic decomposition.

2014-11-20 08:15:37 Tree
[r26642] by bugman

Updated the align_tensor.display user function to output the irreducible spherical harmonic weights.

This is the alignment tensor in the {A-2, A-1, A0, A1, A2} notation.

2014-11-20 07:59:06 Tree
[r26641] by bugman

Merged revisions 26601-26609,26611-26639 via svnmerge from
svn+ssh://bugman@.../svn/relax/trunk

........
r26601 | bugman | 2014-11-17 17:12:44 +0100 (Mon, 17 Nov 2014) | 5 lines

Implemented the lib.geometry.vectors.vector_angle_atan2() function.

This is for calculating the inter-vector angle using the more numerically stable atan2() formula.
........
r26602 | bugman | 2014-11-17 17:16:23 +0100 (Mon, 17 Nov 2014) | 6 lines

Implemented the lib.geometry.vectors.vector_angle_acos() function.

This is used to calculate the inter-vector angle using the arccos of the dot product formula. The
function has been introduced into the relax library as the calculation is repeated throughout relax.
........
r26603 | bugman | 2014-11-17 17:16:36 +0100 (Mon, 17 Nov 2014) | 3 lines

Missing import.
........
r26604 | bugman | 2014-11-17 17:23:30 +0100 (Mon, 17 Nov 2014) | 6 lines

Renamed vector_angle() to vector_angle_normal() in the lib.geometry.vectors module.

This is to standardise the naming as there are now the standard vector angle formula implemented as
the vector_angle_acos() and vector_angle_atan2() functions.
........
r26605 | bugman | 2014-11-17 17:29:14 +0100 (Mon, 17 Nov 2014) | 6 lines

Added 6 unit tests for the lib.geometry.vectors.vector_angle_acos() function.

These are similar to those of the vector_angle_normal() function but unsigned angles are checked
for.
........
r26606 | bugman | 2014-11-17 17:30:43 +0100 (Mon, 17 Nov 2014) | 3 lines

Created 6 unit tests for the lib.geometry.vectors.vector_angle_atan2() function.
........
r26607 | bugman | 2014-11-17 18:13:38 +0100 (Mon, 17 Nov 2014) | 5 lines

Created a script and log file to demonstrate differences between alignment tensor basis sets.

This shows that the inter-tensor angles and condition numbers are dependent on the basis set used.
........
r26608 | bugman | 2014-11-17 18:20:05 +0100 (Mon, 17 Nov 2014) | 3 lines

Improved the printouts from the align_tensor.svd user function by including the basis set text.
........
r26609 | bugman | 2014-11-17 18:22:18 +0100 (Mon, 17 Nov 2014) | 3 lines

Updated the log file for comparing different alignment tensor basis sets for align_tensor.svd changes.
........
r26611 | bugman | 2014-11-18 11:54:21 +0100 (Tue, 18 Nov 2014) | 7 lines

Implemented a new default basis set for the align_tensor.matrix_angles user function.

This is uses standard definition of the inter-matrix angle using the Euclidean inner product of the
two matrices divided by the product of the Frobenius norm of each matrix. As this is a linear map,
it should produce the most correct definition of inter-tensor angles.
........
r26612 | bugman | 2014-11-18 13:46:26 +0100 (Tue, 18 Nov 2014) | 3 lines

Improvements to the description of the align_tensor.matrix_angles user function.
........
r26613 | bugman | 2014-11-18 14:08:58 +0100 (Tue, 18 Nov 2014) | 5 lines

Import fix for the frame order CaM system test base script.

The vector_angle() function of the lib.geometry.vectors module is now called vector_angle_normal().
........
r26614 | bugman | 2014-11-18 14:33:00 +0100 (Tue, 18 Nov 2014) | 7 lines

Updated the test_matrix_angles_identity() unit test for pipe_control.align_tensor.matrix_angles().

This is the test in the _prompt.test_align_tensor.Test_align_tensor module. The basis set has been
set back to the now non-default value of 0, and the value checks have been converted from
assertEqual() to assertAlmostEqual() to allow for small truncation errors.
........
r26615 | bugman | 2014-11-18 15:12:41 +0100 (Tue, 18 Nov 2014) | 7 lines

Conversion of the basis_set argument for the align_tensor.matrix_angles user function.

The argument is now a string that accepts the values of 'matrix', 'unitary 5D', and 'geometric 5D'
to select between the different matrix angles techniques. This has been updated in the test suite
as well.
........
r26616 | bugman | 2014-11-18 15:14:45 +0100 (Tue, 18 Nov 2014) | 5 lines

Added a check for the values of the basis_set argument.

This is to the align_tensor.matrix_angles user function backend.
........
r26617 | bugman | 2014-11-18 15:30:36 +0100 (Tue, 18 Nov 2014) | 3 lines

Printout improvements clarifying the align_tensor.matrix_angles user function.
........
r26618 | bugman | 2014-11-18 17:22:02 +0100 (Tue, 18 Nov 2014) | 6 lines

Conversion of the basis_set argument for the align_tensor.svd user function.

The argument is now a string that accepts the values of 'unitary 9D', 'unitary 5D', and 'geometric
5D' to select between the different SVD matrices. This has been updated in the test suite as well.
........
r26619 | bugman | 2014-11-18 17:23:53 +0100 (Tue, 18 Nov 2014) | 6 lines

Expanded the N_state_model.test_5_state_xz system test.

This now covers the new 'unitary 9D' basis set for the align_tensor.svd user function and the new
'matrix' basis set for the align_tensor.matrix_angles user function.
........
r26620 | bugman | 2014-11-18 17:50:23 +0100 (Tue, 18 Nov 2014) | 11 lines

Expansion of the align_tensor.matrix_angles user function.

The new basis set 'unitary 9D' has been introduced. This creates vectors as {Sxx, Sxy, Sxz, Syx,
Syy, Syz, Szx, Szy, Szz} and computes the inter-vector angles. These match the 'matrix' basis set
whereby the Euclidean inner product divided by the Frobenius norms is used to calculate the
inter-tensor angles.

In addition, the user function documentation and printouts have been improved. And the backend code
has been simplified.
........
r26621 | bugman | 2014-11-18 18:05:29 +0100 (Tue, 18 Nov 2014) | 6 lines

Updated the script and log file for demonstrating differences between alignment tensor basis sets.

This now handles the changes to the basis_set arguments used in the align_tensor.matrix_angles and
align_tensor.svd user functions, and includes the new basis sets.
........
r26622 | bugman | 2014-11-19 16:01:53 +0100 (Wed, 19 Nov 2014) | 14 lines

Added the irreducible tensor notation of {A-2, A-1, A0, A1, A2} to the alignment tensor object.

This follows from the definition of Sass et al, J. Am. Chem. Soc. 1999, 121, 2047-2055,
http://dx.doi.org/10.1021/ja983887w.

The equations of (2) were converted using Gaussian elimination to obtain a reduced row echelon form,
so that the equations in terms of {A-2, A-1, A0, A1, A2} were derived. These have been coded into
the alignment tensor object calc_Am2, calc_Am1, calc_A0, calc_A1 and calc_A2 methods respectively,
and the values can be obtained by accessing the Am2, Am1, A0, A1, and A2 objects.

To check that the implementation is correct, a unit test has been created to compare the calculated
values with those determined using Pales.
........
r26623 | bugman | 2014-11-19 16:03:39 +0100 (Wed, 19 Nov 2014) | 3 lines

Expanded the unit test of the alignment tensor {A-2, A-1, A0, A1, A2} parameters to cover all values.
........
r26624 | bugman | 2014-11-19 16:20:53 +0100 (Wed, 19 Nov 2014) | 7 lines

Created functions in the relax library for calculating the inter-vector angle for complex vectors.

This is in the lib.geometry.vectors module. The function vector_angle_complex_conjugate() has been
created to calculate the angle between two complex vectors. This uses the new auxiliary function
complex_inner_product() to calculate <v1|v2>.
........
r26625 | bugman | 2014-11-19 16:40:12 +0100 (Wed, 19 Nov 2014) | 6 lines

Added the 'irreducible 5D' basis set option to the align_tensor.matrix_angles user function.

This is for the inter-tensor vector angle for the irreducible 5D basis set {S-2, S-1, S0, S1, S2}.
Its results match that of the standard tensor angle as well as the 'unitary 9D' basis sets.
........
r26626 | bugman | 2014-11-19 17:29:26 +0100 (Wed, 19 Nov 2014) | 6 lines

Added the 'irreducible 5D' basis set option to the align_tensor.svd user function.

This is for the inter-tensor vector angle for the irreducible 5D basis set {A-2, A-1, A0, A1, A2}.
Its results match that of the 'unitary 9D' basis set.
........
r26627 | bugman | 2014-11-19 17:33:51 +0100 (Wed, 19 Nov 2014) | 6 lines

Editing of the description for the 'irreducible 5D' alignment tensor basis set.

This is for the align_tensor.matrix_angles and align_tensor.svd user functions. All Sm element have
been converted to Am.
........
r26628 | bugman | 2014-11-19 17:44:46 +0100 (Wed, 19 Nov 2014) | 3 lines

Editing of the description for the align_tensor.matrix_angles user function.
........
r26629 | bugman | 2014-11-19 17:50:42 +0100 (Wed, 19 Nov 2014) | 3 lines

Editing of the align_tensor.svd user function description.
........
r26630 | bugman | 2014-11-19 18:01:26 +0100 (Wed, 19 Nov 2014) | 6 lines

Updated the script and log file for demonstrating differences between alignment tensor basis sets.

The 'irreducible 5D' basis set in now used for both the align_tensor.matrix_angles and
align_tensor.svd user functions.
........
r26631 | bugman | 2014-11-19 18:08:18 +0100 (Wed, 19 Nov 2014) | 3 lines

Fix for a spelling mistake in the align_tensor.matrix_angles user function printouts.
........
r26632 | bugman | 2014-11-19 18:21:50 +0100 (Wed, 19 Nov 2014) | 3 lines

Small fix for the align_tensor.matrix_angles user function documentation.
........
r26633 | bugman | 2014-11-19 18:27:28 +0100 (Wed, 19 Nov 2014) | 6 lines

Expanded the N_state_model.test_5_state_xz system test for more alignment tensor basis sets.

The align_tensor.matrix_angles and align_tensor.svd user functions are now being called with the
additional 'irreducible 5D', and 'unitary 9D' basis sets, to make sure these work correctly.
........
r26634 | bugman | 2014-11-19 18:30:28 +0100 (Wed, 19 Nov 2014) | 3 lines

Trailing whitespace removal.
........
r26635 | bugman | 2014-11-19 18:40:28 +0100 (Wed, 19 Nov 2014) | 7 lines

Created the Align_tensor.test_align_tensor_matrix_angles system test.

This is to check the angles calculated by the align_tensor.matrix_angles user function. As there
are no external references, this essentially fixes the angles to the currently calculated values to
catch any accidental changes in the future.
........
r26636 | bugman | 2014-11-19 18:46:44 +0100 (Wed, 19 Nov 2014) | 7 lines

Created the Align_tensor.test_align_tensor_svd system test.

This is to check the angles calculated by the align_tensor.svd user function. As there are no
external references, this essentially fixes the singular values and condition numbers to the
currently calculated values to catch any accidental changes in the future.
........
r26637 | bugman | 2014-11-19 18:57:53 +0100 (Wed, 19 Nov 2014) | 5 lines

Added the angle_units and precision arguments to the align_tensor.matrix_angles user function.

This allows either degrees or radians to be output, and the number of decimal points to be specified.
........
r26638 | bugman | 2014-11-19 18:59:46 +0100 (Wed, 19 Nov 2014) | 3 lines

Fixes for the proportions of the align_tensor.matrix_angle user function GUI wizard.
........
r26639 | bugman | 2014-11-19 19:04:35 +0100 (Wed, 19 Nov 2014) | 6 lines

Added the precision argument to the align_tensor.matrix_angles user function.

This allows the number of decimal points for the singular values and condition number to be
specified.
........

2014-11-19 18:28:15 Tree
[r26640] by bugman

Merged revisions 26601-26609,26611-26639 via svnmerge from
svn+ssh://bugman@.../svn/relax/trunk

........
r26601 | bugman | 2014-11-17 17:12:44 +0100 (Mon, 17 Nov 2014) | 5 lines

Implemented the lib.geometry.vectors.vector_angle_atan2() function.

This is for calculating the inter-vector angle using the more numerically stable atan2() formula.
........
r26602 | bugman | 2014-11-17 17:16:23 +0100 (Mon, 17 Nov 2014) | 6 lines

Implemented the lib.geometry.vectors.vector_angle_acos() function.

This is used to calculate the inter-vector angle using the arccos of the dot product formula. The
function has been introduced into the relax library as the calculation is repeated throughout relax.
........
r26603 | bugman | 2014-11-17 17:16:36 +0100 (Mon, 17 Nov 2014) | 3 lines

Missing import.
........
r26604 | bugman | 2014-11-17 17:23:30 +0100 (Mon, 17 Nov 2014) | 6 lines

Renamed vector_angle() to vector_angle_normal() in the lib.geometry.vectors module.

This is to standardise the naming as there are now the standard vector angle formula implemented as
the vector_angle_acos() and vector_angle_atan2() functions.
........
r26605 | bugman | 2014-11-17 17:29:14 +0100 (Mon, 17 Nov 2014) | 6 lines

Added 6 unit tests for the lib.geometry.vectors.vector_angle_acos() function.

These are similar to those of the vector_angle_normal() function but unsigned angles are checked
for.
........
r26606 | bugman | 2014-11-17 17:30:43 +0100 (Mon, 17 Nov 2014) | 3 lines

Created 6 unit tests for the lib.geometry.vectors.vector_angle_atan2() function.
........
r26607 | bugman | 2014-11-17 18:13:38 +0100 (Mon, 17 Nov 2014) | 5 lines

Created a script and log file to demonstrate differences between alignment tensor basis sets.

This shows that the inter-tensor angles and condition numbers are dependent on the basis set used.
........
r26608 | bugman | 2014-11-17 18:20:05 +0100 (Mon, 17 Nov 2014) | 3 lines

Improved the printouts from the align_tensor.svd user function by including the basis set text.
........
r26609 | bugman | 2014-11-17 18:22:18 +0100 (Mon, 17 Nov 2014) | 3 lines

Updated the log file for comparing different alignment tensor basis sets for align_tensor.svd changes.
........
r26611 | bugman | 2014-11-18 11:54:21 +0100 (Tue, 18 Nov 2014) | 7 lines

Implemented a new default basis set for the align_tensor.matrix_angles user function.

This is uses standard definition of the inter-matrix angle using the Euclidean inner product of the
two matrices divided by the product of the Frobenius norm of each matrix. As this is a linear map,
it should produce the most correct definition of inter-tensor angles.
........
r26612 | bugman | 2014-11-18 13:46:26 +0100 (Tue, 18 Nov 2014) | 3 lines

Improvements to the description of the align_tensor.matrix_angles user function.
........
r26613 | bugman | 2014-11-18 14:08:58 +0100 (Tue, 18 Nov 2014) | 5 lines

Import fix for the frame order CaM system test base script.

The vector_angle() function of the lib.geometry.vectors module is now called vector_angle_normal().
........
r26614 | bugman | 2014-11-18 14:33:00 +0100 (Tue, 18 Nov 2014) | 7 lines

Updated the test_matrix_angles_identity() unit test for pipe_control.align_tensor.matrix_angles().

This is the test in the _prompt.test_align_tensor.Test_align_tensor module. The basis set has been
set back to the now non-default value of 0, and the value checks have been converted from
assertEqual() to assertAlmostEqual() to allow for small truncation errors.
........
r26615 | bugman | 2014-11-18 15:12:41 +0100 (Tue, 18 Nov 2014) | 7 lines

Conversion of the basis_set argument for the align_tensor.matrix_angles user function.

The argument is now a string that accepts the values of 'matrix', 'unitary 5D', and 'geometric 5D'
to select between the different matrix angles techniques. This has been updated in the test suite
as well.
........
r26616 | bugman | 2014-11-18 15:14:45 +0100 (Tue, 18 Nov 2014) | 5 lines

Added a check for the values of the basis_set argument.

This is to the align_tensor.matrix_angles user function backend.
........
r26617 | bugman | 2014-11-18 15:30:36 +0100 (Tue, 18 Nov 2014) | 3 lines

Printout improvements clarifying the align_tensor.matrix_angles user function.
........
r26618 | bugman | 2014-11-18 17:22:02 +0100 (Tue, 18 Nov 2014) | 6 lines

Conversion of the basis_set argument for the align_tensor.svd user function.

The argument is now a string that accepts the values of 'unitary 9D', 'unitary 5D', and 'geometric
5D' to select between the different SVD matrices. This has been updated in the test suite as well.
........
r26619 | bugman | 2014-11-18 17:23:53 +0100 (Tue, 18 Nov 2014) | 6 lines

Expanded the N_state_model.test_5_state_xz system test.

This now covers the new 'unitary 9D' basis set for the align_tensor.svd user function and the new
'matrix' basis set for the align_tensor.matrix_angles user function.
........
r26620 | bugman | 2014-11-18 17:50:23 +0100 (Tue, 18 Nov 2014) | 11 lines

Expansion of the align_tensor.matrix_angles user function.

The new basis set 'unitary 9D' has been introduced. This creates vectors as {Sxx, Sxy, Sxz, Syx,
Syy, Syz, Szx, Szy, Szz} and computes the inter-vector angles. These match the 'matrix' basis set
whereby the Euclidean inner product divided by the Frobenius norms is used to calculate the
inter-tensor angles.

In addition, the user function documentation and printouts have been improved. And the backend code
has been simplified.
........
r26621 | bugman | 2014-11-18 18:05:29 +0100 (Tue, 18 Nov 2014) | 6 lines

Updated the script and log file for demonstrating differences between alignment tensor basis sets.

This now handles the changes to the basis_set arguments used in the align_tensor.matrix_angles and
align_tensor.svd user functions, and includes the new basis sets.
........
r26622 | bugman | 2014-11-19 16:01:53 +0100 (Wed, 19 Nov 2014) | 14 lines

Added the irreducible tensor notation of {A-2, A-1, A0, A1, A2} to the alignment tensor object.

This follows from the definition of Sass et al, J. Am. Chem. Soc. 1999, 121, 2047-2055,
http://dx.doi.org/10.1021/ja983887w.

The equations of (2) were converted using Gaussian elimination to obtain a reduced row echelon form,
so that the equations in terms of {A-2, A-1, A0, A1, A2} were derived. These have been coded into
the alignment tensor object calc_Am2, calc_Am1, calc_A0, calc_A1 and calc_A2 methods respectively,
and the values can be obtained by accessing the Am2, Am1, A0, A1, and A2 objects.

To check that the implementation is correct, a unit test has been created to compare the calculated
values with those determined using Pales.
........
r26623 | bugman | 2014-11-19 16:03:39 +0100 (Wed, 19 Nov 2014) | 3 lines

Expanded the unit test of the alignment tensor {A-2, A-1, A0, A1, A2} parameters to cover all values.
........
r26624 | bugman | 2014-11-19 16:20:53 +0100 (Wed, 19 Nov 2014) | 7 lines

Created functions in the relax library for calculating the inter-vector angle for complex vectors.

This is in the lib.geometry.vectors module. The function vector_angle_complex_conjugate() has been
created to calculate the angle between two complex vectors. This uses the new auxiliary function
complex_inner_product() to calculate <v1|v2>.
........
r26625 | bugman | 2014-11-19 16:40:12 +0100 (Wed, 19 Nov 2014) | 6 lines

Added the 'irreducible 5D' basis set option to the align_tensor.matrix_angles user function.

This is for the inter-tensor vector angle for the irreducible 5D basis set {S-2, S-1, S0, S1, S2}.
Its results match that of the standard tensor angle as well as the 'unitary 9D' basis sets.
........
r26626 | bugman | 2014-11-19 17:29:26 +0100 (Wed, 19 Nov 2014) | 6 lines

Added the 'irreducible 5D' basis set option to the align_tensor.svd user function.

This is for the inter-tensor vector angle for the irreducible 5D basis set {A-2, A-1, A0, A1, A2}.
Its results match that of the 'unitary 9D' basis set.
........
r26627 | bugman | 2014-11-19 17:33:51 +0100 (Wed, 19 Nov 2014) | 6 lines

Editing of the description for the 'irreducible 5D' alignment tensor basis set.

This is for the align_tensor.matrix_angles and align_tensor.svd user functions. All Sm element have
been converted to Am.
........
r26628 | bugman | 2014-11-19 17:44:46 +0100 (Wed, 19 Nov 2014) | 3 lines

Editing of the description for the align_tensor.matrix_angles user function.
........
r26629 | bugman | 2014-11-19 17:50:42 +0100 (Wed, 19 Nov 2014) | 3 lines

Editing of the align_tensor.svd user function description.
........
r26630 | bugman | 2014-11-19 18:01:26 +0100 (Wed, 19 Nov 2014) | 6 lines

Updated the script and log file for demonstrating differences between alignment tensor basis sets.

The 'irreducible 5D' basis set in now used for both the align_tensor.matrix_angles and
align_tensor.svd user functions.
........
r26631 | bugman | 2014-11-19 18:08:18 +0100 (Wed, 19 Nov 2014) | 3 lines

Fix for a spelling mistake in the align_tensor.matrix_angles user function printouts.
........
r26632 | bugman | 2014-11-19 18:21:50 +0100 (Wed, 19 Nov 2014) | 3 lines

Small fix for the align_tensor.matrix_angles user function documentation.
........
r26633 | bugman | 2014-11-19 18:27:28 +0100 (Wed, 19 Nov 2014) | 6 lines

Expanded the N_state_model.test_5_state_xz system test for more alignment tensor basis sets.

The align_tensor.matrix_angles and align_tensor.svd user functions are now being called with the
additional 'irreducible 5D', and 'unitary 9D' basis sets, to make sure these work correctly.
........
r26634 | bugman | 2014-11-19 18:30:28 +0100 (Wed, 19 Nov 2014) | 3 lines

Trailing whitespace removal.
........
r26635 | bugman | 2014-11-19 18:40:28 +0100 (Wed, 19 Nov 2014) | 7 lines

Created the Align_tensor.test_align_tensor_matrix_angles system test.

This is to check the angles calculated by the align_tensor.matrix_angles user function. As there
are no external references, this essentially fixes the angles to the currently calculated values to
catch any accidental changes in the future.
........
r26636 | bugman | 2014-11-19 18:46:44 +0100 (Wed, 19 Nov 2014) | 7 lines

Created the Align_tensor.test_align_tensor_svd system test.

This is to check the angles calculated by the align_tensor.svd user function. As there are no
external references, this essentially fixes the singular values and condition numbers to the
currently calculated values to catch any accidental changes in the future.
........
r26637 | bugman | 2014-11-19 18:57:53 +0100 (Wed, 19 Nov 2014) | 5 lines

Added the angle_units and precision arguments to the align_tensor.matrix_angles user function.

This allows either degrees or radians to be output, and the number of decimal points to be specified.
........
r26638 | bugman | 2014-11-19 18:59:46 +0100 (Wed, 19 Nov 2014) | 3 lines

Fixes for the proportions of the align_tensor.matrix_angle user function GUI wizard.
........
r26639 | bugman | 2014-11-19 19:04:35 +0100 (Wed, 19 Nov 2014) | 6 lines

Added the precision argument to the align_tensor.matrix_angles user function.

This allows the number of decimal points for the singular values and condition number to be
specified.
........

2014-11-19 18:28:11 Tree
[r26639] by bugman

Added the precision argument to the align_tensor.matrix_angles user function.

This allows the number of decimal points for the singular values and condition number to be
specified.

2014-11-19 18:04:35 Tree
[r26638] by bugman

Fixes for the proportions of the align_tensor.matrix_angle user function GUI wizard.

2014-11-19 17:59:46 Tree
[r26637] by bugman

Added the angle_units and precision arguments to the align_tensor.matrix_angles user function.

This allows either degrees or radians to be output, and the number of decimal points to be specified.

2014-11-19 17:57:53 Tree
[r26636] by bugman

Created the Align_tensor.test_align_tensor_svd system test.

This is to check the angles calculated by the align_tensor.svd user function. As there are no
external references, this essentially fixes the singular values and condition numbers to the
currently calculated values to catch any accidental changes in the future.

2014-11-19 17:46:44 Tree
[r26635] by bugman

Created the Align_tensor.test_align_tensor_matrix_angles system test.

This is to check the angles calculated by the align_tensor.matrix_angles user function. As there
are no external references, this essentially fixes the angles to the currently calculated values to
catch any accidental changes in the future.

2014-11-19 17:40:28 Tree
[r26634] by bugman

Trailing whitespace removal.

2014-11-19 17:30:28 Tree
Older >
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.