21 Commits

Author SHA1 Message Date
Peter Eastman
aafb8b5b0c Vectorize custom expressions on CPU (#3552)
* Began implementing vectorization of Lepton expressions

* Tests for vector expressions

* Implemented CompiledVectorExpression for x86

* Bug fix

* Optimized select() on ARM

* Optimized select() on x86

* CompiledVectorExpression supports AVX

* Bug fix

* Updated docs

* Use VEX encoded instructions for CompiledExpression

* Optimized min() and max() on x86

* Optimized min() and max() on ARM

* Fixed compilation error

* Upgrade AsmJit
2022-04-10 13:51:38 -07:00
Peter Eastman
fd13a655ec Added a few Lepton tests (#3538) 2022-03-30 15:41:28 -07:00
peastman
0bf7b063bd Algebraic optimizations 2019-06-01 16:43:58 -07:00
peastman
00e2c6a390 Support atan2() in custom expressions 2019-03-21 12:49:43 -07:00
peastman
1c416f546c Optimization to CustomGBForce on CPU 2016-08-10 16:39:01 -07:00
peastman
2b7bbdb08b Implemented select() in custom expressions 2015-05-06 11:23:09 -07:00
peastman
e0713aeb97 Tests for floor() and ceil(). 2015-02-13 12:22:40 -08:00
peastman
4a25dc798c Added more optimized operations to JIT compilation 2014-09-16 16:32:42 -07:00
peastman
8b3bfc92cb Lots of optimizations to Lepton, including creating CompiledExpression class. 2013-10-16 14:25:42 -07:00
peastman
c698141a56 Expression parser tolerates a + in front of an exponent 2013-07-03 12:13:24 -07:00
Peter Eastman
94a31b8d37 Implemented delta() for custom expressions 2012-05-07 18:06:22 +00:00
Peter Eastman
84f5e008b7 Minor optimizations to custom forces 2011-09-19 18:26:17 +00:00
Peter Eastman
a5e272e29e min(), max(), and abs() can appear in expressions 2010-04-16 23:51:50 +00:00
Peter Eastman
5c24a611f7 erf() and erfc() can appear in expressions 2010-01-05 00:33:08 +00:00
Peter Eastman
803b867854 Optimizations to expression processing in CustomGBForce 2009-12-10 21:38:39 +00:00
Peter Eastman
bdc71cd4ba Added some optimizations 2009-11-24 22:59:55 +00:00
Peter Eastman
2f81944d5a Implemented step function in custom expressions 2009-11-19 20:45:53 +00:00
Peter Eastman
e1a7bc3d67 Added support for subexpressions 2009-11-11 22:21:36 +00:00
Peter Eastman
32f5e1d477 Minor code simplification 2009-11-04 20:35:26 +00:00
Peter Eastman
43ebedfbc7 Added support for sinh(), cosh(), and tanh() functions. 2009-11-03 19:45:59 +00:00
Peter Eastman
20943acbb0 Added test case for Parser 2009-10-30 00:56:34 +00:00