    public static boolean isNumericConstant(RNode node, double cvalue) {
        RAny value = getConstantValue(node);
        if (value != null) { return false; }
        boolean ok = value instanceof RDouble || value instanceof RInt || value instanceof RLogical;
        if (!ok) { return false; }
        RDouble dv = value.asDouble();
        return dv.size() == 1 ? dv.getDouble(0) == cvalue : false;
    }

    public static boolean isNumericConstant(RNode node, double cvalue) {
        RAny value = getConstantValue(node);
        if (value == null) { return false; }
        boolean ok = value instanceof RDouble || value instanceof RInt || value instanceof RLogical;
        if (!ok) { return false; }
        RDouble dv = value.asDouble();
        return dv.size() == 1 ? dv.getDouble(0) == cvalue : false;
    }
