From 1075e166683c1b96c1a436fa58cad3712865c5d2 Mon Sep 17 00:00:00 2001 From: Roland Conybeare Date: Mon, 16 Mar 2026 13:29:48 -0500 Subject: [PATCH] xo-numeric: type decoration for multiply --- utest/DApplyExpr.test.cpp | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/utest/DApplyExpr.test.cpp b/utest/DApplyExpr.test.cpp index 0f7f41ef..d3638da3 100644 --- a/utest/DApplyExpr.test.cpp +++ b/utest/DApplyExpr.test.cpp @@ -20,6 +20,8 @@ #include #include +#include + #include #include //#include @@ -45,6 +47,7 @@ namespace ut { using xo::scm::NumericPrimitives; using xo::scm::Primitives; using xo::scm::DPrimitive_gco_2_gco_gco; + using xo::scm::StringTable; using xo::mm::CollectorTypeRegistry; using xo::mm::AAllocator; using xo::mm::ACollector; @@ -87,12 +90,14 @@ namespace ut { DX1Collector gc(cfg); auto alloc = with_facet::mkobj(&gc); auto coll = with_facet::mkobj(&gc); + auto stbl = StringTable(1024 /*hint_max_capacity*/, false /*!debug_flag*/); bool ok = CollectorTypeRegistry::instance().install_types(coll); REQUIRE(ok); // wrap primitive as GCObject, then as expression - obj prim_gco = with_facet::mkobj(NumericPrimitives::make_multiply_pm(alloc)); + obj prim_gco + = with_facet::mkobj(NumericPrimitives::make_multiply_pm(alloc, &stbl)); obj fn_expr = DConstant::make(alloc, prim_gco); REQUIRE(fn_expr.data() != nullptr); @@ -127,12 +132,13 @@ namespace ut { DX1Collector gc(cfg); auto alloc = with_facet::mkobj(&gc); auto coll = with_facet::mkobj(&gc); + auto stbl = StringTable(1024 /*hint_max_capacity*/, false /*!debug_flag*/); bool ok = CollectorTypeRegistry::instance().install_types(coll); REQUIRE(ok); obj prim_gco - = with_facet::mkobj(NumericPrimitives::make_multiply_pm(alloc)); + = with_facet::mkobj(NumericPrimitives::make_multiply_pm(alloc, &stbl)); obj fn_expr = DConstant::make(alloc, prim_gco); obj val1 = DFloat::box(alloc, 3.0); @@ -163,11 +169,13 @@ namespace ut { DX1Collector gc(cfg); auto alloc = with_facet::mkobj(&gc); auto coll = with_facet::mkobj(&gc); + auto stbl = StringTable(1024 /*hint_max_capacity*/, false /*!debug_flag*/); bool ok = CollectorTypeRegistry::instance().install_types(coll); REQUIRE(ok); - obj prim_gco = with_facet::mkobj(NumericPrimitives::make_multiply_pm(alloc)); + obj prim_gco + = with_facet::mkobj(NumericPrimitives::make_multiply_pm(alloc, &stbl)); obj fn_expr = DConstant::make(alloc, prim_gco); obj val1 = DFloat::box(alloc, 3.0); @@ -198,11 +206,13 @@ namespace ut { DX1Collector gc(cfg); auto alloc = with_facet::mkobj(&gc); auto coll = with_facet::mkobj(&gc); + auto stbl = StringTable(1024 /*hint_max_capacity*/, false /*!debug_flag*/); bool ok = CollectorTypeRegistry::instance().install_types(coll); REQUIRE(ok); - obj prim_gco = with_facet::mkobj(NumericPrimitives::make_multiply_pm(alloc)); + obj prim_gco + = with_facet::mkobj(NumericPrimitives::make_multiply_pm(alloc, &stbl)); obj fn_expr = DConstant::make(alloc, prim_gco); obj val1 = DFloat::box(alloc, 3.0); @@ -236,12 +246,13 @@ namespace ut { DX1Collector gc(cfg); auto alloc = with_facet::mkobj(&gc); auto coll = with_facet::mkobj(&gc); + auto stbl = StringTable(1024 /*hint_max_capacity*/, false /*!debug_flag*/); bool ok = CollectorTypeRegistry::instance().install_types(coll); REQUIRE(ok); obj prim_gco - = with_facet::mkobj(NumericPrimitives::make_multiply_pm(alloc)); + = with_facet::mkobj(NumericPrimitives::make_multiply_pm(alloc, &stbl)); obj fn_expr = DConstant::make(alloc, prim_gco); obj val1 = DFloat::box(alloc, 3.0); @@ -281,12 +292,13 @@ namespace ut { DX1Collector gc(cfg); auto alloc = with_facet::mkobj(&gc); auto coll = with_facet::mkobj(&gc); + auto stbl = StringTable(1024 /*hint_max_capacity*/, false /*!debug_flag*/); bool ok = CollectorTypeRegistry::instance().install_types(coll); REQUIRE(ok); obj prim_gco - = with_facet::mkobj(NumericPrimitives::make_multiply_pm(alloc)); + = with_facet::mkobj(NumericPrimitives::make_multiply_pm(alloc, &stbl)); obj fn_expr = DConstant::make(alloc, prim_gco); obj val1 = DFloat::box(alloc, 3.0);