Cómo computa exactamente el servicio — sin cajas negras innecesarias. Si algo de esta página es falso, es un bug repordable: info@unitycoin.net.
El motor (vms7-wasm) computa en bits takum32 — la salida HTTP es el decimal round-trip exacto de esos bits, vía la conversión takum32→f64 del propio wasm. La conversión es sin pérdida: la precisión de takum32 cabe en los 53 bits de la mantisa de f64. Dos consecuencias que declaramos con precisión:
El instrumento npv calcula la TIR por bisección dentro de un intervalo de enclavamiento que TÚ configuras (lo y hi). La bisección corre un cómputo fijo dentro del contrato: el receipt (campo steps) demuestra que cada corrida ejecuta exactamente el mismo trabajo — eso es el determinismo, medido.
El instrumento amort genera el schedule completo y exige que el saldo final sea exactamente cero: el contrato compara el saldo contra los bits del cero takum y rechaza su propia salida si no coincide ("bin corrupto"). El cero no es un promedio que sale bien — es un guard que falla fuerte. Por eso el demo puede prometerlo: cuando ves saldo final 0, el contrato verificó el cierre bit a bit antes de responder.
El redondeo comercial es cosa tuya: los valores que entrega la API son takum exactos; cuando tu sistema paga una cuota en céntimos, redondea tú — el certificado amarra los bits, no tu política comercial.
gas es el presupuesto de cómputo del contrato (2.000.000 por ejecución — el mismo para todos los instrumentos). steps es el cómputo medido de tu corrida (el bond del demo: 24.195). Un receipt con status 0 significa que la ejecución terminó Halted dentro del presupuesto; cualquier desviación termina en status ≠ 0 y reembolso automático del crédito.
El contrato price_bond_portfolio precioa 4 bonos parametrizables y computa el valor V del conjunto en UNA ejecución. La diferencia con un lote: aquí la suma ponderada de los valores presentes ocurre dentro de la VM (acumulación de alta precisión sin pérdida intermedia) — jamás en JavaScript. Por eso V no es exactamente P1+P2+P3+P4: los P son valores takum individuales ya redondeados a su bits de salida; V acumula los valores internos completos antes de redondear UNA sola vez.
Sobre el estándar (no nuestro — takum.org, paper arXiv:2404.18603, Hunhold 2024): takum32 garantiza 20 bits de fracción (n−12 para n=32) y un rango dinámico de aproximadamente (4.2×10⁻⁵⁶, 2.4×10⁵⁵) para n≥12 — acotado y independiente del valor, a diferencia del float IEEE cuyo rango útil y densidad dependen del expoente. La matemática financiera de estos instrumentos (intereses, descuentos, schedules) cabe de sobra en esa precisión.