Post History
Challenge Given a list of n numbers and x, compute $a + bx^1 + cx^{2} + ... + zx^{n-1}$, where a is the first value in the list, b is the second, etc. n is at most 256 and at least 0. The input va...
#4: Post edited
Evaluate a single variable polynomial equation
- # Challenge
- Given a list of n numbers and x, compute $a + bx^1 + cx^{2} + ... + zx^{n-1}$, where a is the first value in the list, b is the second, etc. n is at most 256 and at least 0. The input value(s) can be any 32-bit float
- Input can be in any format of choice, as long as it is a list of numbers and x. (And this'll likely stay this way, even if input rules change over time)
- # Test inputs
`1.0`, `182` -> `1`<br/>`1.0, 2.0`, `4` -> `9`<br/>`2.5, 2.0`, `0.5` -> `3.5`<br/>`1.0, 2.0, 3.0, 4.0`, `1.5` -> `24.25`<br/>- # Example ungolfed program (Rust)
- ```rust
- // dbg! is a logging function, prints the expression and it's output.
- // Good for seeing what's happening
- // Test setup
- pub fn main() {
- let inp: &[f32] = &[1.0, 2.0, 3.0, 4.0];
- let x: f32 = 1.5;
- dbg!(evaluate_polynomial(inp, x)); // take inputs, print result
- }
- // Actual challenge answer function
- pub fn evaluate_polynomial(inp: &[f32], x: f32) -> f32 {
- let mut accum: f32 = 0.0;
- for (idx, val) in inp.iter().enumerate() {
- // x.pow(idx) * val
- accum += dbg!(x.powf(idx as f32) * val);
- }
- return accum;
- }
- ```
- # Challenge
- Given a list of n numbers and x, compute $a + bx^1 + cx^{2} + ... + zx^{n-1}$, where a is the first value in the list, b is the second, etc. n is at most 256 and at least 0. The input value(s) can be any 32-bit float
- Input can be in any format of choice, as long as it is a list of numbers and x. (And this'll likely stay this way, even if input rules change over time)
- # Test inputs
- `[1.0]`, `182` -> `1`<br/>
- `[1.0, 2.0]`, `4` -> `9`<br/>
- `[2.5, 2.0]`, `0.5` -> `3.5`<br/>
- `[1.0, 2.0, 3.0, 4.0]`, `1.5` -> `24.25`<br/>
- # Example ungolfed program (Rust)
- ```rust
- // dbg! is a logging function, prints the expression and it's output.
- // Good for seeing what's happening
- // Test setup
- pub fn main() {
- let inp: &[f32] = &[1.0, 2.0, 3.0, 4.0];
- let x: f32 = 1.5;
- dbg!(evaluate_polynomial(inp, x)); // take inputs, print result
- }
- // Actual challenge answer function
- pub fn evaluate_polynomial(inp: &[f32], x: f32) -> f32 {
- let mut accum: f32 = 0.0;
- for (idx, val) in inp.iter().enumerate() {
- // x.pow(idx) * val
- accum += dbg!(x.powf(idx as f32) * val);
- }
- return accum;
- }
- ```
#3: Post edited
- # Challenge
- Given a list of n numbers and x, compute $a + bx^1 + cx^{2} + ... + zx^{n-1}$, where a is the first value in the list, b is the second, etc. n is at most 256 and at least 0. The input value(s) can be any 32-bit float
- Input can be in any format of choice, as long as it is a list of numbers and x. (And this'll likely stay this way, even if input rules change over time)
- # Test inputs
- `1.0`, `182` -> `1`<br/>
- `1.0, 2.0`, `4` -> `9`<br/>
- `2.5, 2.0`, `0.5` -> `3.5`<br/>
`1.0, 2.0, 3.0, 4.0`, `1.5` -> `24.25<br/>- # Example ungolfed program (Rust)
- ```rust
- // dbg! is a logging function, prints the expression and it's output.
- // Good for seeing what's happening
- // Test setup
- pub fn main() {
- let inp: &[f32] = &[1.0, 2.0, 3.0, 4.0];
- let x: f32 = 1.5;
- dbg!(evaluate_polynomial(inp, x)); // take inputs, print result
- }
- // Actual challenge answer function
- pub fn evaluate_polynomial(inp: &[f32], x: f32) -> f32 {
- let mut accum: f32 = 0.0;
- for (idx, val) in inp.iter().enumerate() {
- // x.pow(idx) * val
- accum += dbg!(x.powf(idx as f32) * val);
- }
- return accum;
- }
- ```
- # Challenge
- Given a list of n numbers and x, compute $a + bx^1 + cx^{2} + ... + zx^{n-1}$, where a is the first value in the list, b is the second, etc. n is at most 256 and at least 0. The input value(s) can be any 32-bit float
- Input can be in any format of choice, as long as it is a list of numbers and x. (And this'll likely stay this way, even if input rules change over time)
- # Test inputs
- `1.0`, `182` -> `1`<br/>
- `1.0, 2.0`, `4` -> `9`<br/>
- `2.5, 2.0`, `0.5` -> `3.5`<br/>
- `1.0, 2.0, 3.0, 4.0`, `1.5` -> `24.25`<br/>
- # Example ungolfed program (Rust)
- ```rust
- // dbg! is a logging function, prints the expression and it's output.
- // Good for seeing what's happening
- // Test setup
- pub fn main() {
- let inp: &[f32] = &[1.0, 2.0, 3.0, 4.0];
- let x: f32 = 1.5;
- dbg!(evaluate_polynomial(inp, x)); // take inputs, print result
- }
- // Actual challenge answer function
- pub fn evaluate_polynomial(inp: &[f32], x: f32) -> f32 {
- let mut accum: f32 = 0.0;
- for (idx, val) in inp.iter().enumerate() {
- // x.pow(idx) * val
- accum += dbg!(x.powf(idx as f32) * val);
- }
- return accum;
- }
- ```
#2: Post edited
- # Challenge
Given a list of n numbers and x, compute $a + bx^1 + cx^{2} + zx^{n-1}$, where a is the first value in the list, b is the second, etc. n is at most 256 and at least 0. The input value(s) can be any 32-bit float- Input can be in any format of choice, as long as it is a list of numbers and x. (And this'll likely stay this way, even if input rules change over time)
- # Test inputs
- `1.0`, `182` -> `1`<br/>
- `1.0, 2.0`, `4` -> `9`<br/>
- `2.5, 2.0`, `0.5` -> `3.5`<br/>
- `1.0, 2.0, 3.0, 4.0`, `1.5` -> `24.25<br/>
- # Example ungolfed program (Rust)
- ```rust
- // dbg! is a logging function, prints the expression and it's output.
- // Good for seeing what's happening
- // Test setup
- pub fn main() {
- let inp: &[f32] = &[1.0, 2.0, 3.0, 4.0];
- let x: f32 = 1.5;
- dbg!(evaluate_polynomial(inp, x)); // take inputs, print result
- }
- // Actual challenge answer function
- pub fn evaluate_polynomial(inp: &[f32], x: f32) -> f32 {
- let mut accum: f32 = 0.0;
- for (idx, val) in inp.iter().enumerate() {
- // x.pow(idx) * val
- accum += dbg!(x.powf(idx as f32) * val);
- }
- return accum;
- }
- ```
- # Challenge
- Given a list of n numbers and x, compute $a + bx^1 + cx^{2} + ... + zx^{n-1}$, where a is the first value in the list, b is the second, etc. n is at most 256 and at least 0. The input value(s) can be any 32-bit float
- Input can be in any format of choice, as long as it is a list of numbers and x. (And this'll likely stay this way, even if input rules change over time)
- # Test inputs
- `1.0`, `182` -> `1`<br/>
- `1.0, 2.0`, `4` -> `9`<br/>
- `2.5, 2.0`, `0.5` -> `3.5`<br/>
- `1.0, 2.0, 3.0, 4.0`, `1.5` -> `24.25<br/>
- # Example ungolfed program (Rust)
- ```rust
- // dbg! is a logging function, prints the expression and it's output.
- // Good for seeing what's happening
- // Test setup
- pub fn main() {
- let inp: &[f32] = &[1.0, 2.0, 3.0, 4.0];
- let x: f32 = 1.5;
- dbg!(evaluate_polynomial(inp, x)); // take inputs, print result
- }
- // Actual challenge answer function
- pub fn evaluate_polynomial(inp: &[f32], x: f32) -> f32 {
- let mut accum: f32 = 0.0;
- for (idx, val) in inp.iter().enumerate() {
- // x.pow(idx) * val
- accum += dbg!(x.powf(idx as f32) * val);
- }
- return accum;
- }
- ```
#1: Initial revision
Evaluate a single variable polynomial equation
# Challenge
Given a list of n numbers and x, compute $a + bx^1 + cx^{2} + zx^{n-1}$, where a is the first value in the list, b is the second, etc. n is at most 256 and at least 0. The input value(s) can be any 32-bit float
Input can be in any format of choice, as long as it is a list of numbers and x. (And this'll likely stay this way, even if input rules change over time)
# Test inputs
`1.0`, `182` -> `1`<br/>
`1.0, 2.0`, `4` -> `9`<br/>
`2.5, 2.0`, `0.5` -> `3.5`<br/>
`1.0, 2.0, 3.0, 4.0`, `1.5` -> `24.25<br/>
# Example ungolfed program (Rust)
```rust
// dbg! is a logging function, prints the expression and it's output.
// Good for seeing what's happening
// Test setup
pub fn main() {
let inp: &[f32] = &[1.0, 2.0, 3.0, 4.0];
let x: f32 = 1.5;
dbg!(evaluate_polynomial(inp, x)); // take inputs, print result
}
// Actual challenge answer function
pub fn evaluate_polynomial(inp: &[f32], x: f32) -> f32 {
let mut accum: f32 = 0.0;
for (idx, val) in inp.iter().enumerate() {
// x.pow(idx) * val
accum += dbg!(x.powf(idx as f32) * val);
}
return accum;
}
```
