hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Edward Capriolo (JIRA)" <>
Subject [jira] [Commented] (HIVE-4822) implement vectorized math functions
Date Mon, 08 Jul 2013 21:55:50 GMT


Edward Capriolo commented on HIVE-4822:

I understand that you are not re-implementing sin but UDFSin is already pretty optimal as
a routine.

I am wondering implementations of such things is going to be a subtle problem in the code
base with things like rounding etc, and why exactly we can not use what is already in place.
> implement vectorized math functions
> -----------------------------------
>                 Key: HIVE-4822
>                 URL:
>             Project: Hive
>          Issue Type: Sub-task
>    Affects Versions: vectorization-branch
>            Reporter: Eric Hanson
> Implement vectorized support for the all the built-in math functions. This includes implementing
the vectorized operation, and tying it all together in VectorizationContext so it runs end-to-end.
These functions include:
> round(Col)
> Round(Col, N)
> Floor(Col)
> Ceil(Col)
> Rand(), Rand(seed)
> Exp(Col)
> Ln(Col)
> Log10(Col)
> Log2(Col)
> Log(base, Col)
> Pow(col, p), Power(col, p)
> Sqrt(Col)
> Bin(Col)
> Hex(Col)
> Unhex(Col)
> Conv(Col, from_base, to_base)
> Abs(Col)
> Pmod(arg1, arg2)
> Sin(Col)
> Asin(Col)
> Cos(Col)
> ACos(Col)
> Atan(Col)
> Degrees(Col)
> Radians(Col)
> Positive(Col)
> Negative(Col)
> Sign(Col)
> E()
> Pi()
> To reduce the total code volume, do an implicit type cast from non-double input types
to double. 
> Also, POSITITVE and NEGATIVE are syntactic sugar for unary + and unary -, so reuse code
for those as appropriate.
> Try to call the function directly in the inner loop and avoid new() or expensive operations,
as appropriate.
> Templatize the code where appropriate, e.g. all the unary function of form 
> can probably be done with a template.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

View raw message