xo-umbrella2/xo-procedure2/include/xo/procedure2/init_primitives.hpp
Roland Conybeare e2d181dd73 git subrepo clone git@github.com:Rconybea/xo-procedure2.git xo-procedure2
subrepo:
  subdir:   "xo-procedure2"
  merged:   "58848bc9"
upstream:
  origin:   "git@github.com:Rconybea/xo-procedure2.git"
  branch:   "main"
  commit:   "58848bc9"
git-subrepo:
  version:  "0.4.9"
  origin:   "???"
  commit:   "???"
2026-06-06 22:17:11 -04:00

58 lines
1.8 KiB
C++

/** @file init_primitives.hpp **/
#pragma once
#include "DPrimitive.hpp"
#include "DPrimitive_gco_2_gco_gco.hpp"
namespace xo {
namespace scm {
/** TODO: move this into xo-reader2 ? **/
#ifdef NOT_YET
using Primitive_f64_1_f64 = Primitive<double (*)(double)>;
using Primitive_f64_2_f64_f64 = Primitive<double (*)(double, double)>;
#endif
struct Primitives {
#ifdef OBSOLETE // see xo-numeric/src/numeric/NumericPrimitives.cpp
/** polymorphic multiply
*
* TODO: this will want to move to xo-numeric/
* so we can dispatch on vector, matrix, function types
**/
static DPrimitive_gco_2_gco_gco s_mul_gco_gco_pm;
/** polymorphic subtract
*
* TODO: this will want to move to xo-numeric/
* so we can dispatch on vector, matrix, function types
**/
static DPrimitive_gco_2_gco_gco s_sub_gco_gco_pm;
/** polymorphic equality comparison
*
* TODO: this will want to move to x-numeric/
**/
static DPrimitive_gco_2_gco_gco s_equal_gco_gco_pm;
#endif
#ifdef NOT_YET
static Primitive_f64_1_f64 s_neg_f64_pm;
static Primitive_f64_2_f64_f64 s_add_f64_f64_pm;
static Primitive_f64_2_f64_f64 s_sub_f64_f64_pm;
static Primitive_f64_2_f64_f64 s_mul_f64_f64_pm;
static Primitive_f64_2_f64_f64 s_div_f64_f64_pm;
static Primitive_f64_2_f64_f64 s_pow_f64_f64_pm;
static Primitive_f64_1_f64 s_log_f64_pm;
static Primitive_f64_1_f64 s_sin_f64_pm;
static Primitive_f64_1_f64 s_cos_f64_pm;
static Primitive_f64_1_f64 s_tan_f64_pm;
#endif
};
}
}
/* end init_primitives.hpp */