code: function geocentricToWgs84(p, datum_type, datum_params) {
  
          if (datum_type === PJD_3PARAM) {
              // if( x[io] === HUGE_VAL )
              //    continue;
              return {
                  x: p.x + datum_params[0],
                  y: p.y + datum_params[1],
                  z: p.z + datum_params[2],
              };
          } else if (datum_type === PJD_7PARAM) {
              var Dx_BF = datum_params[0];
              var Dy_BF = datum_params[1];
              var Dz_BF = datum_params[2];
              var Rx_BF = datum_params[3];
              var Ry_BF = datum_params[4];
              var Rz_BF = datum_params[5];
              var M_BF = datum_params[6];
              // if( x[io] === HUGE_VAL )
              //    continue;
              return {
                  x: M_BF * (p.x - Rz_BF * p.y + Ry_BF * p.z) + Dx_BF,
                  y: M_BF * (Rz_BF * p.x + p.y - Rx_BF * p.z) + Dy_BF,
                  z: M_BF * (-Ry_BF * p.x + Rx_BF * p.y + p.z) + Dz_BF
              };
          }
      }
docs: ************************************************************* pj_geocentic_to_wgs84( p ) p = point to transform in geocentric coordinates (x,y,z) point object, nothing fancy, just allows values to be
  passed back and forth by reference rather than by value.
  Other point classes may be used as long as they have
  x and y properties, which will get modified in the transform method.