use flags to control and float
This commit is contained in:
parent
3f58566ac8
commit
48f5a824e0
@ -739,18 +739,22 @@ p_write_depth ( USES_REGS1 )
|
|||||||
}
|
}
|
||||||
|
|
||||||
static Int
|
static Int
|
||||||
p_float_format( USES_REGS1 )
|
dollar_var( USES_REGS1 )
|
||||||
{
|
{
|
||||||
Term in = Deref(ARG1);
|
Term in = Deref(ARG1);
|
||||||
if (IsVarTerm(in))
|
if (IsVarTerm(in)) {
|
||||||
return Yap_unify(ARG1, MkAtomTerm(AtomFloatFormat));
|
Term t2;
|
||||||
AtomFloatFormat = AtomOfTerm(in);
|
if (!IsVarTerm(t2=Deref(ARG2))) {
|
||||||
return TRUE;
|
if (IsApplTerm(t2) &&
|
||||||
}
|
FunctorOfTerm( t2 ) == LOCAL_FunctorVar ) {
|
||||||
|
return Yap_unify(ArgOfTerm(1, t2), ARG1);
|
||||||
static Int
|
}
|
||||||
p_dollar_var( USE_REGS1 )
|
Yap_Error( TYPE_ERROR_COMPOUND, ARG2 , "");
|
||||||
{
|
return false;
|
||||||
|
} else {
|
||||||
|
Yap_Error( INSTANTIATION_ERROR, ARG2 , "");
|
||||||
|
}
|
||||||
|
}
|
||||||
Term tv = Yap_MkApplTerm(LOCAL_FunctorVar, 1, &ARG1);
|
Term tv = Yap_MkApplTerm(LOCAL_FunctorVar, 1, &ARG1);
|
||||||
return Yap_unify(tv, ARG2);
|
return Yap_unify(tv, ARG2);
|
||||||
}
|
}
|
||||||
@ -773,7 +777,6 @@ Yap_InitWriteTPreds(void)
|
|||||||
Yap_InitCPred ("print", 2, print, SyncPredFlag);
|
Yap_InitCPred ("print", 2, print, SyncPredFlag);
|
||||||
Yap_InitCPred ("write_depth", 3, p_write_depth, SafePredFlag|SyncPredFlag);
|
Yap_InitCPred ("write_depth", 3, p_write_depth, SafePredFlag|SyncPredFlag);
|
||||||
;
|
;
|
||||||
Yap_InitCPred ("$VAR", 2, p_dollar_var, SafePredFlag);
|
Yap_InitCPred ("$VAR", 2, dollar_var, SafePredFlag);
|
||||||
;
|
;
|
||||||
Yap_InitCPred ("$float_format", 1, p_float_format, SafePredFlag|SyncPredFlag);
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user