@@ -772,30 +772,48 @@ void testleFoldNumeric() {
772772 exExp = new Ln (new DoubleLiteral (-1d ));
773773 rewritten = executor .rewrite (exExp , context );
774774 Assertions .assertEquals (new NullLiteral (DoubleType .INSTANCE ), rewritten );
775+ exExp = new Ln (new DoubleLiteral (Double .NaN ));
776+ rewritten = executor .rewrite (exExp , context );
777+ Assertions .assertEquals (new DoubleLiteral (Double .NaN ), rewritten );
775778 exExp = new Log (new DoubleLiteral (1.0d ), new DoubleLiteral (1.0d ));
776779 rewritten = executor .rewrite (exExp , context );
777780 Assertions .assertEquals (new NullLiteral (DoubleType .INSTANCE ), rewritten );
778781 exExp = new Log (new DoubleLiteral (10d ), new DoubleLiteral (Double .POSITIVE_INFINITY ));
779782 rewritten = executor .rewrite (exExp , context );
780783 Assertions .assertEquals (new DoubleLiteral (Double .POSITIVE_INFINITY ), rewritten );
784+ exExp = new Log (new DoubleLiteral (2d ), new DoubleLiteral (Double .NaN ));
785+ rewritten = executor .rewrite (exExp , context );
786+ Assertions .assertEquals (new DoubleLiteral (Double .NaN ), rewritten );
787+ exExp = new Log (new DoubleLiteral (Double .NaN ), new DoubleLiteral (2d ));
788+ rewritten = executor .rewrite (exExp , context );
789+ Assertions .assertEquals (new DoubleLiteral (Double .NaN ), rewritten );
781790 exExp = new Log2 (new DoubleLiteral (Double .POSITIVE_INFINITY ));
782791 rewritten = executor .rewrite (exExp , context );
783792 Assertions .assertEquals (new DoubleLiteral (Double .POSITIVE_INFINITY ), rewritten );
784793 exExp = new Log2 (new DoubleLiteral (-1d ));
785794 rewritten = executor .rewrite (exExp , context );
786795 Assertions .assertEquals (new NullLiteral (DoubleType .INSTANCE ), rewritten );
796+ exExp = new Log2 (new DoubleLiteral (Double .NaN ));
797+ rewritten = executor .rewrite (exExp , context );
798+ Assertions .assertEquals (new DoubleLiteral (Double .NaN ), rewritten );
787799 exExp = new Log10 (new DoubleLiteral (Double .POSITIVE_INFINITY ));
788800 rewritten = executor .rewrite (exExp , context );
789801 Assertions .assertEquals (new DoubleLiteral (Double .POSITIVE_INFINITY ), rewritten );
790802 exExp = new Log10 (new DoubleLiteral (-1d ));
791803 rewritten = executor .rewrite (exExp , context );
792804 Assertions .assertEquals (new NullLiteral (DoubleType .INSTANCE ), rewritten );
805+ exExp = new Log10 (new DoubleLiteral (Double .NaN ));
806+ rewritten = executor .rewrite (exExp , context );
807+ Assertions .assertEquals (new DoubleLiteral (Double .NaN ), rewritten );
793808 exExp = new Dlog10 (new DoubleLiteral (Double .POSITIVE_INFINITY ));
794809 rewritten = executor .rewrite (exExp , context );
795810 Assertions .assertEquals (new DoubleLiteral (Double .POSITIVE_INFINITY ), rewritten );
796811 exExp = new Dlog10 (new DoubleLiteral (-1d ));
797812 rewritten = executor .rewrite (exExp , context );
798813 Assertions .assertEquals (new NullLiteral (DoubleType .INSTANCE ), rewritten );
814+ exExp = new Dlog10 (new DoubleLiteral (Double .NaN ));
815+ rewritten = executor .rewrite (exExp , context );
816+ Assertions .assertEquals (new DoubleLiteral (Double .NaN ), rewritten );
799817
800818 Sqrt sqrt = new Sqrt (new DoubleLiteral (16d ));
801819 rewritten = executor .rewrite (sqrt , context );
@@ -846,7 +864,7 @@ void testleFoldNumeric() {
846864 Assertions .assertEquals (exExp , rewritten );
847865 exExp = new Power (new DoubleLiteral (-1d ), new DoubleLiteral (Double .NaN ));
848866 rewritten = executor .rewrite (exExp , context );
849- Assertions .assertEquals (exExp , rewritten );
867+ Assertions .assertEquals (new DoubleLiteral ( Double . NaN ) , rewritten );
850868
851869 Sin sin = new Sin (new DoubleLiteral (Math .PI / 2 ));
852870 rewritten = executor .rewrite (sin , context );
0 commit comments