Author: aschnell Date: Fri Jun 13 10:12:10 2008 New Revision: 48274 URL: http://svn.opensuse.org/viewcvs/yast?rev=48274&view=rev Log: - added some mathematics functions in namespace float Modified: trunk/core/VERSION trunk/core/libycp/src/YCPBuiltinFloat.cc trunk/core/libycp/testsuite/tests/builtin/Builtin-Float.err trunk/core/libycp/testsuite/tests/builtin/Builtin-Float.out trunk/core/libycp/testsuite/tests/builtin/Builtin-Float.ycp trunk/core/package/yast2-core.changes Modified: trunk/core/VERSION URL: http://svn.opensuse.org/viewcvs/yast/trunk/core/VERSION?rev=48274&r1=48273&r2=48274&view=diff ============================================================================== --- trunk/core/VERSION (original) +++ trunk/core/VERSION Fri Jun 13 10:12:10 2008 @@ -1 +1 @@ -2.16.51 +2.17.0 Modified: trunk/core/libycp/src/YCPBuiltinFloat.cc URL: http://svn.opensuse.org/viewcvs/yast/trunk/core/libycp/src/YCPBuiltinFloat.cc?rev=48274&r1=48273&r2=48274&view=diff ============================================================================== --- trunk/core/libycp/src/YCPBuiltinFloat.cc (original) +++ trunk/core/libycp/src/YCPBuiltinFloat.cc Fri Jun 13 10:12:10 2008 @@ -132,13 +132,76 @@ static YCPValue +f_abs(const YCPFloat &f) +{ + /** + * @builtin float::abs + * @short absolute value + * @description + * Returns absolute value of f. + * @param f FLOAT + * @return FLOAT + * @usage trunc (+1.6) -> +1.6 + * @usage trunc (-1.6) -> +1.6 + */ + + if (f.isNull ()) + return YCPNull (); + + return YCPFloat(fabs(f->value())); +} + + +static YCPValue +f_floor(const YCPFloat &f) +{ + /** + * @builtin float::floor + * @short round downwards to integer + * @description + * Returns f rounded downwards to the nearest integer. + * @param f FLOAT + * @return FLOAT + * @usage trunc (+1.6) -> +1.0 + * @usage trunc (-1.6) -> -2.0 + */ + + if (f.isNull ()) + return YCPNull (); + + return YCPFloat(floor(f->value())); +} + + +static YCPValue +f_ceil(const YCPFloat &f) +{ + /** + * @builtin float::ceil + * @short round upwards to integer + * @description + * Returns f rounded upwards to the nearest integer. + * @param f FLOAT + * @return FLOAT + * @usage trunc (+1.6) -> +2.0 + * @usage trunc (-1.6) -> -1.0 + */ + + if (f.isNull ()) + return YCPNull (); + + return YCPFloat(ceil(f->value())); +} + + +static YCPValue f_trunc(const YCPFloat &f) { /** - * @builtin trunc + * @builtin float::trunc * @short round to integer, towards zero * @description - * Returns f round to the nearest integer, towards zero. + * Returns f rounded to the nearest integer, towards zero. * @param f FLOAT * @return FLOAT * @usage trunc (+1.6) -> +1.0 @@ -146,7 +209,7 @@ */ if (f.isNull ()) - return YCPNull (); + return YCPNull (); return YCPFloat(trunc(f->value())); } @@ -156,7 +219,7 @@ f_pow(const YCPFloat &f1, const YCPFloat &f2) { /** - * @builtin pow + * @builtin float::pow * @short power function * @description * Returns the value of f1 raised to the power of f2. @@ -167,7 +230,7 @@ */ if (f1.isNull () || f2.isNull ()) - return YCPNull (); + return YCPNull (); return YCPFloat(pow(f1->value(), f2->value())); } @@ -249,12 +312,24 @@ { "-", "float (float)", (void *)f_neg }, { "*", "float (float, float)", (void *)f_mult }, { "/", "float (float, float)", (void *)f_div }, - { "trunc", "float (float)", (void *)f_trunc }, - { "pow", "float (float, float)", (void *)f_pow }, + { "trunc", "float (float)", (void *)f_trunc, DECL_DEPRECATED }, + { "pow", "float (float, float)", (void *)f_pow, DECL_DEPRECATED }, { "tofloat", "float (const any)", (void *)f_tofloat }, { "tostring","string (float, integer)", (void *)f_tostring }, { 0 } }; + // must be static, registerDeclarations saves a pointer to it! + static declaration_t declarations_ns[] = { + { "float", "", NULL, DECL_NAMESPACE }, + { "abs", "float (float)", (void *)f_abs }, + { "floor", "float (float)", (void *)f_floor }, + { "ceil", "float (float)", (void *)f_ceil }, + { "trunc", "float (float)", (void *)f_trunc }, + { "pow", "float (float, float)", (void *)f_pow }, + { 0 } + }; + static_declarations.registerDeclarations ("YCPBuiltinFloat", declarations); + static_declarations.registerDeclarations ("YCPBuiltinFloat", declarations_ns); } Modified: trunk/core/libycp/testsuite/tests/builtin/Builtin-Float.err URL: http://svn.opensuse.org/viewcvs/yast/trunk/core/libycp/testsuite/tests/builtin/Builtin-Float.err?rev=48274&r1=48273&r2=48274&view=diff ============================================================================== --- trunk/core/libycp/testsuite/tests/builtin/Builtin-Float.err (original) +++ trunk/core/libycp/testsuite/tests/builtin/Builtin-Float.err Fri Jun 13 10:12:10 2008 @@ -101,39 +101,75 @@ ---------------------------------------------------------------------- Parsed: ---------------------------------------------------------------------- +"** abs **" +---------------------------------------------------------------------- +Parsed: +---------------------------------------------------------------------- +float::abs (1.6) +---------------------------------------------------------------------- +Parsed: +---------------------------------------------------------------------- +float::abs (-1.6) +---------------------------------------------------------------------- +Parsed: +---------------------------------------------------------------------- +"** floor **" +---------------------------------------------------------------------- +Parsed: +---------------------------------------------------------------------- +float::floor (1.6) +---------------------------------------------------------------------- +Parsed: +---------------------------------------------------------------------- +float::floor (-1.6) +---------------------------------------------------------------------- +Parsed: +---------------------------------------------------------------------- +"** ceil **" +---------------------------------------------------------------------- +Parsed: +---------------------------------------------------------------------- +float::ceil (1.6) +---------------------------------------------------------------------- +Parsed: +---------------------------------------------------------------------- +float::ceil (-1.6) +---------------------------------------------------------------------- +Parsed: +---------------------------------------------------------------------- "** trunc **" ---------------------------------------------------------------------- Parsed: ---------------------------------------------------------------------- -trunc (1.) +float::trunc (1.) ---------------------------------------------------------------------- Parsed: ---------------------------------------------------------------------- -trunc (1.4) +float::trunc (1.4) ---------------------------------------------------------------------- Parsed: ---------------------------------------------------------------------- -trunc (1.6) +float::trunc (1.6) ---------------------------------------------------------------------- Parsed: ---------------------------------------------------------------------- -trunc (2.) +float::trunc (2.) ---------------------------------------------------------------------- Parsed: ---------------------------------------------------------------------- -trunc (-1.) +float::trunc (-1.) ---------------------------------------------------------------------- Parsed: ---------------------------------------------------------------------- -trunc (-1.4) +float::trunc (-1.4) ---------------------------------------------------------------------- Parsed: ---------------------------------------------------------------------- -trunc (-1.6) +float::trunc (-1.6) ---------------------------------------------------------------------- Parsed: ---------------------------------------------------------------------- -trunc (-2.) +float::trunc (-2.) ---------------------------------------------------------------------- Parsed: ---------------------------------------------------------------------- @@ -141,21 +177,21 @@ ---------------------------------------------------------------------- Parsed: ---------------------------------------------------------------------- -pow (10., 2.) +float::pow (10., 2.) ---------------------------------------------------------------------- Parsed: ---------------------------------------------------------------------- -pow (10., 1.) +float::pow (10., 1.) ---------------------------------------------------------------------- Parsed: ---------------------------------------------------------------------- -pow (10., 0.) +float::pow (10., 0.) ---------------------------------------------------------------------- Parsed: ---------------------------------------------------------------------- -pow (10., -1.) +float::pow (10., -1.) ---------------------------------------------------------------------- Parsed: ---------------------------------------------------------------------- -pow (10., -2.) +float::pow (10., -2.) ---------------------------------------------------------------------- Modified: trunk/core/libycp/testsuite/tests/builtin/Builtin-Float.out URL: http://svn.opensuse.org/viewcvs/yast/trunk/core/libycp/testsuite/tests/builtin/Builtin-Float.out?rev=48274&r1=48273&r2=48274&view=diff ============================================================================== --- trunk/core/libycp/testsuite/tests/builtin/Builtin-Float.out (original) +++ trunk/core/libycp/testsuite/tests/builtin/Builtin-Float.out Fri Jun 13 10:12:10 2008 @@ -23,6 +23,15 @@ (4.) (42.) (3.14) +("** abs **") +(1.6) +(1.6) +("** floor **") +(1.) +(-2.) +("** ceil **") +(2.) +(-1.) ("** trunc **") (1.) (1.) Modified: trunk/core/libycp/testsuite/tests/builtin/Builtin-Float.ycp URL: http://svn.opensuse.org/viewcvs/yast/trunk/core/libycp/testsuite/tests/builtin/Builtin-Float.ycp?rev=48274&r1=48273&r2=48274&view=diff ============================================================================== --- trunk/core/libycp/testsuite/tests/builtin/Builtin-Float.ycp (original) +++ trunk/core/libycp/testsuite/tests/builtin/Builtin-Float.ycp Fri Jun 13 10:12:10 2008 @@ -52,24 +52,42 @@ (tofloat ("3.14")) +("** abs **") + +(float::abs (1.6)) +(float::abs (-1.6)) + + +("** floor **") + +(float::floor (1.6)) +(float::floor (-1.6)) + + +("** ceil **") + +(float::ceil (1.6)) +(float::ceil (-1.6)) + + ("** trunc **") -(trunc (1.0)) -(trunc (1.4)) -(trunc (1.6)) -(trunc (2.0)) - -(trunc (-1.0)) -(trunc (-1.4)) -(trunc (-1.6)) -(trunc (-2.0)) +(float::trunc (1.0)) +(float::trunc (1.4)) +(float::trunc (1.6)) +(float::trunc (2.0)) + +(float::trunc (-1.0)) +(float::trunc (-1.4)) +(float::trunc (-1.6)) +(float::trunc (-2.0)) ("** pow ** ") -(pow (10.0, 2.0)) -(pow (10.0, 1.0)) -(pow (10.0, 0.0)) -(pow (10.0, -1.0)) -(pow (10.0, -2.0)) +(float::pow (10.0, 2.0)) +(float::pow (10.0, 1.0)) +(float::pow (10.0, 0.0)) +(float::pow (10.0, -1.0)) +(float::pow (10.0, -2.0)) Modified: trunk/core/package/yast2-core.changes URL: http://svn.opensuse.org/viewcvs/yast/trunk/core/package/yast2-core.changes?rev=48274&r1=48273&r2=48274&view=diff ============================================================================== --- trunk/core/package/yast2-core.changes (original) +++ trunk/core/package/yast2-core.changes Fri Jun 13 10:12:10 2008 @@ -1,4 +1,10 @@ ------------------------------------------------------------------- +Fri Jun 13 10:10:07 CEST 2008 - aschnell@suse.de + +- added some mathematics functions in namespace float +- 2.17.0 + +------------------------------------------------------------------- Thu May 15 09:36:44 CEST 2008 - mvidner@suse.cz - Set YAST_IS_RUNNING to "instsys" also for the live-installer (bnc#389099). -- To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org For additional commands, e-mail: yast-commit+help@opensuse.org