JSFiddle - React, Tailwind, and code Playground

by Lazaro Contreras

HTML

<table id="myTable">
  
  
</table>

CSS

table, td{
  border-collapse: collapse;
  border: 2px black solid;
}

JavaScript

/*function f(x) {
  //return x**2 - 6
  //return -Math.cos(x) - x**3
  return Math.cos(x) - x
}
var
  p0 = 0.5,
  p1 = Math.PI / 4,
  q0 = f(p0),
  q1 = f(p1),
  p = 0,
  i = 0

while (i < 1000) {
  p = p1 - (  ( q1 * (p1 - p0) ) / (q1 - q0)  )
  var table = document.getElementById("myTable");
  var row = table.insertRow(i);
  var n = row.insertCell(0);
  var pc = row.insertCell(1);
  var qc = row.insertCell(2);
  n.innerHTML = i;
  pc.innerHTML = p0;
  qc.innerHTML = q0;
  if ((p - p1) == 0) {
    return
  }
  p0 = p1
  q0 = q1
  p1 = p
  q1 = f(p)
  i++
}

console.log(p0, q0)
  
  
*/
function f(x) {
  return x**3 - 7*x**2 + 14*x - 6
}
function F(x) {
  return x**3 - 7*x**2 + 14*x - 6
}
var
  a = new Vector(),
  p = new Vector(),
  i = 0

while (i < 1000) {
  p = (a + b) / 2
  
  var table = document.getElementById("myTable");
  var row = table.insertRow(i);
  var n = row.insertCell(0);
  var ac = row.insertCell(1);
  var bc = row.insertCell(2);
  var pc = row.insertCell(3);
  var fp = row.insertCell(4);
  var fa = row.insertCell(5);
  n.innerHTML = i;
  ac.innerHTML = a;
  bc.innerHTML = b;
  pc.innerHTML = p;
  fp.innerHTML = f(p);
  fa.innerHTML = f(a);
  
  
  console.log(a, b, p, f(p), f(a))
  if (Math.abs(b - a) >= 0 && Math.abs(b - a) < 0.000000001) {
    return
  }
  if(f(p) * f(a) > 0){
  	a = p
    a = Math.round(p * 100000 ) / 100000
  }else{
  	b = p
    b = Math.round(p * 100000 ) / 100000
  }
  i++
}

function Vector(x, y, z) {
  this.x = x || 0;
  this.y = y || 0;
  this.z = z || 0;
}
Vector.prototype = {
  negative: function() {
    return new Vector(-this.x, -this.y, -this.z);
  },
  add: function(v) {
    if (v instanceof Vector) return new Vector(this.x + v.x, this.y + v.y, this.z + v.z);
    else return new Vector(this.x + v, this.y + v, this.z + v);
  },
  subtract: function(v) {
    if (v instanceof Vector) return new Vector(this.x - v.x, this.y - v.y, this.z - v.z);
    else return new Vector(this.x - v, this.y - v, this.z - v);
  },
 ...