All pastes #352443 Raw Edit

Mortal

public javascript v1 · immutable
·published 2007-02-12 20:41 UTC
rendered paste body
function etoa(e) {  result = '';  if (e.Emode == 0) {    result = etoa(e.sides[0])+' '+e.sign+' '+etoa(e.sides[1]);  } else if (e.iscomplex) {    result = '('+etoa(e.value[0])+' '+e.value[1]+' '+etoa(e.value[2])+')';  } else {    if (e.unit) {      if (e.value == '1' || e.value == 1) {        result = e.unit;      } else {        result = e.value+e.unit;      }    } else {      result = e.value+e.unit;    }  }  return result;}// works, output://// ((a * x) + b) = 0function etohtml(e) {  result = '';  if (e.Emode == 0) {    result = '<span class="equation">'+etohtml(e.sides[0])+' '+e.sign+' '+etohtml(e.sides[1])+'</span>';  } else if (e.iscomplex) {    result = '<span class="led">'+etohtml(e.value[0])+' '+e.value[1]+' '+etohtml(e.value[2])+'</span>';  } else {    result = '<span class="number">'+etoa(e)+'</span>';  }  return result;}// this one works - output:// <span class="equation"><span class="led"><span class="led"><span class="number">a</span> * <span class="number">x</span></span> + <span class="number">b</span></span> = <span class="number">0</span></span>function etodom(e) {  if (e.Emode == 0) {    result = document.createElement('span');    try {result.className = 'equation';}    catch (err) {result.class = 'equation';}    result.appendChild(etodom(e.sides[0]));    result.appendChild(document.createTextNode(' '+e.sign+' '));    result.appendChild(etodom(e.sides[1]));  } else if (e.iscomplex) {    result = document.createElement('span');    try {result.className = 'led';}    catch (err) {result.class = 'led';}    result.appendChild(etodom(e.value[0])); // Error here:      // uncaught exception: [Exception... "Could not convert JavaScript      // argument" nsresult: "0x80570009 (NS_ERROR_XPC_BAD_CONVERT_JS)" location:      // "JS frame :: file:///H:/home/work/equations.html :: etodom :: line 124" data: no]    result.appendChild(document.createTextNode(' '+e.value[1]+' '));    result.appendChild(etodom(e.value[2]));  } else {    result = document.createElement('span');    try {result.className = 'number';}    catch (err) {result.class = 'number';}    result.appendChild(document.createTextNode(etoa(e)));  }  return result;}