(args ...vector.Any)
| 226 | } |
| 227 | |
| 228 | func (s *Sqrt) Call(args ...vector.Any) vector.Any { |
| 229 | if vec, ok := expr.CheckForNullThenError(args); ok { |
| 230 | return vec |
| 231 | } |
| 232 | vec := vector.Under(args[0]) |
| 233 | if !super.IsNumber(vec.Type().ID()) { |
| 234 | return vector.NewWrappedError(s.sctx, "sqrt: number argument required", vec) |
| 235 | } |
| 236 | vec = cast.To(s.sctx, vec, super.TypeFloat64) |
| 237 | vals := make([]float64, vec.Len()) |
| 238 | for i := range vec.Len() { |
| 239 | v := vector.FloatValue(vec, i) |
| 240 | vals[i] = math.Sqrt(v) |
| 241 | } |
| 242 | return vector.NewFloat(super.TypeFloat64, vals) |
| 243 | } |
nothing calls this directly
no test coverage detected