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; } ```