# hive-dev mailing list archives

##### Site index · List index
Message view
Top
From "Eric Hanson (JIRA)" <j...@apache.org>
Subject [jira] [Work started] (HIVE-4822) implement vectorized math functions
Date Tue, 09 Jul 2013 16:45:50 GMT
```
[ https://issues.apache.org/jira/browse/HIVE-4822?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Work on HIVE-4822 started by Eric Hanson.

> implement vectorized math functions
> -----------------------------------
>
>                 Key: HIVE-4822
>                 URL: https://issues.apache.org/jira/browse/HIVE-4822
>             Project: Hive
>    Affects Versions: vectorization-branch
>            Reporter: Eric Hanson
>            Assignee: 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)
> 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
> DOUBLE func(DOUBLE)
> can probably be done with a template.

--
This message is automatically generated by JIRA.