support
Revert "support"

This reverts commit 279b9d84589cc9e845e3eb9875927828d15dfffb.
Revert "Revert "support""

This reverts commit 020040f0a8f9f4a2b038022b0e801960e2a44fd2.
support negtive double values