EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Fields", "JIT\Generics\Fields\Fields.csproj", "{F40B2B5B-4C42-4BD8-8CAF-8C96856BAC0F}"
EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StructPromote", "StructPromote", "{A8B34174-E462-48BE-975C-604B8B1DB0A0}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StructPromote", "JIT\Directed\StructPromote\StructPromote.csproj", "{11835CDF-F5AA-42B9-9FE6-6F94EB9A08B9}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "MDArray", "MDArray", "{1E30345B-4538-426B-8F15-94C7EDD9F6A1}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "DataTypes", "DataTypes", "{48E311DE-F4D4-4F54-8C2B-FEDA15FE2D40}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Methodical", "Methodical", "{D83DE650-AD2D-4122-9AE2-53AB5364D032}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DataTypes", "JIT\Methodical\MDArray\DataTypes\DataTypes.csproj", "{1A50E251-BD04-4049-9745-770CFF672093}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Exceptions", "Exceptions", "{165B27F0-A2BA-4961-B718-0E381B8B92BD}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Exceptions", "JIT\Generics\Exceptions\Exceptions.csproj", "{E16B0693-80CF-422F-AB4B-B5150FDF5140}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NaN", "NaN", "{06633516-0C78-433B-BFFB-A8BCE5006CB7}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NaN", "JIT\Methodical\NaN\NaN.csproj", "{5FEB6365-EB6C-4D4D-9DAA-E5E2EEA5A1FF}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
{F40B2B5B-4C42-4BD8-8CAF-8C96856BAC0F}.Release|Mixed Platforms.Build.0 = Release|x64
{F40B2B5B-4C42-4BD8-8CAF-8C96856BAC0F}.Release|x64.ActiveCfg = Release|x64
{F40B2B5B-4C42-4BD8-8CAF-8C96856BAC0F}.Release|x64.Build.0 = Release|x64
+ {11835CDF-F5AA-42B9-9FE6-6F94EB9A08B9}.Debug|Any CPU.ActiveCfg = Debug|x64
+ {11835CDF-F5AA-42B9-9FE6-6F94EB9A08B9}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
+ {11835CDF-F5AA-42B9-9FE6-6F94EB9A08B9}.Debug|Mixed Platforms.Build.0 = Debug|x64
+ {11835CDF-F5AA-42B9-9FE6-6F94EB9A08B9}.Debug|x64.ActiveCfg = Debug|x64
+ {11835CDF-F5AA-42B9-9FE6-6F94EB9A08B9}.Debug|x64.Build.0 = Debug|x64
+ {11835CDF-F5AA-42B9-9FE6-6F94EB9A08B9}.Release|Any CPU.ActiveCfg = Release|x64
+ {11835CDF-F5AA-42B9-9FE6-6F94EB9A08B9}.Release|Mixed Platforms.ActiveCfg = Release|x64
+ {11835CDF-F5AA-42B9-9FE6-6F94EB9A08B9}.Release|Mixed Platforms.Build.0 = Release|x64
+ {11835CDF-F5AA-42B9-9FE6-6F94EB9A08B9}.Release|x64.ActiveCfg = Release|x64
+ {11835CDF-F5AA-42B9-9FE6-6F94EB9A08B9}.Release|x64.Build.0 = Release|x64
+ {1A50E251-BD04-4049-9745-770CFF672093}.Debug|Any CPU.ActiveCfg = Debug|x64
+ {1A50E251-BD04-4049-9745-770CFF672093}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
+ {1A50E251-BD04-4049-9745-770CFF672093}.Debug|Mixed Platforms.Build.0 = Debug|x64
+ {1A50E251-BD04-4049-9745-770CFF672093}.Debug|x64.ActiveCfg = Debug|x64
+ {1A50E251-BD04-4049-9745-770CFF672093}.Debug|x64.Build.0 = Debug|x64
+ {1A50E251-BD04-4049-9745-770CFF672093}.Release|Any CPU.ActiveCfg = Release|x64
+ {1A50E251-BD04-4049-9745-770CFF672093}.Release|Mixed Platforms.ActiveCfg = Release|x64
+ {1A50E251-BD04-4049-9745-770CFF672093}.Release|Mixed Platforms.Build.0 = Release|x64
+ {1A50E251-BD04-4049-9745-770CFF672093}.Release|x64.ActiveCfg = Release|x64
+ {1A50E251-BD04-4049-9745-770CFF672093}.Release|x64.Build.0 = Release|x64
+ {E16B0693-80CF-422F-AB4B-B5150FDF5140}.Debug|Any CPU.ActiveCfg = Debug|x64
+ {E16B0693-80CF-422F-AB4B-B5150FDF5140}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
+ {E16B0693-80CF-422F-AB4B-B5150FDF5140}.Debug|Mixed Platforms.Build.0 = Debug|x64
+ {E16B0693-80CF-422F-AB4B-B5150FDF5140}.Debug|x64.ActiveCfg = Debug|x64
+ {E16B0693-80CF-422F-AB4B-B5150FDF5140}.Debug|x64.Build.0 = Debug|x64
+ {E16B0693-80CF-422F-AB4B-B5150FDF5140}.Release|Any CPU.ActiveCfg = Release|x64
+ {E16B0693-80CF-422F-AB4B-B5150FDF5140}.Release|Mixed Platforms.ActiveCfg = Release|x64
+ {E16B0693-80CF-422F-AB4B-B5150FDF5140}.Release|Mixed Platforms.Build.0 = Release|x64
+ {E16B0693-80CF-422F-AB4B-B5150FDF5140}.Release|x64.ActiveCfg = Release|x64
+ {E16B0693-80CF-422F-AB4B-B5150FDF5140}.Release|x64.Build.0 = Release|x64
+ {5FEB6365-EB6C-4D4D-9DAA-E5E2EEA5A1FF}.Debug|Any CPU.ActiveCfg = Debug|x64
+ {5FEB6365-EB6C-4D4D-9DAA-E5E2EEA5A1FF}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
+ {5FEB6365-EB6C-4D4D-9DAA-E5E2EEA5A1FF}.Debug|Mixed Platforms.Build.0 = Debug|x64
+ {5FEB6365-EB6C-4D4D-9DAA-E5E2EEA5A1FF}.Debug|x64.ActiveCfg = Debug|x64
+ {5FEB6365-EB6C-4D4D-9DAA-E5E2EEA5A1FF}.Debug|x64.Build.0 = Debug|x64
+ {5FEB6365-EB6C-4D4D-9DAA-E5E2EEA5A1FF}.Release|Any CPU.ActiveCfg = Release|x64
+ {5FEB6365-EB6C-4D4D-9DAA-E5E2EEA5A1FF}.Release|Mixed Platforms.ActiveCfg = Release|x64
+ {5FEB6365-EB6C-4D4D-9DAA-E5E2EEA5A1FF}.Release|Mixed Platforms.Build.0 = Release|x64
+ {5FEB6365-EB6C-4D4D-9DAA-E5E2EEA5A1FF}.Release|x64.ActiveCfg = Release|x64
+ {5FEB6365-EB6C-4D4D-9DAA-E5E2EEA5A1FF}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
{D9FFDA0F-00A2-458C-B3D3-77D0811E969E} = {F03E5C26-F7BE-4BEF-9CBC-EAFC5A2C7760}
{4528D9E6-C6F8-448E-BD36-5E5DAAFE90D3} = {F03E5C26-F7BE-4BEF-9CBC-EAFC5A2C7760}
{0957EF12-6D74-4438-BAD1-D720433C2162} = {F03E5C26-F7BE-4BEF-9CBC-EAFC5A2C7760}
+ {D83DE650-AD2D-4122-9AE2-53AB5364D032} = {F03E5C26-F7BE-4BEF-9CBC-EAFC5A2C7760}
{B6FB99A0-1E53-4806-AE96-3A157F8B4DFD} = {3E36F081-F511-4C52-BC3D-2EEFECD3E880}
{01516861-E37C-433B-9D12-CA4F8E05CB13} = {3E36F081-F511-4C52-BC3D-2EEFECD3E880}
{9CF3FD0C-3643-4F57-A57C-492258FF1BF0} = {C86BB69B-B83E-4656-825F-50CADB38D344}
{168FB13B-74F9-4056-BF11-A46F2DAAADF8} = {86AB78FA-656D-47D1-B156-F8165542A6C1}
{3AC4E363-B239-4D48-AEB8-A9177554E156} = {86AB78FA-656D-47D1-B156-F8165542A6C1}
{BA784A0F-E788-40CC-A76D-EB4041808897} = {86AB78FA-656D-47D1-B156-F8165542A6C1}
+ {A8B34174-E462-48BE-975C-604B8B1DB0A0} = {86AB78FA-656D-47D1-B156-F8165542A6C1}
{BA57FEA2-9416-4FE6-9767-7C63CE8EFBC7} = {168FB13B-74F9-4056-BF11-A46F2DAAADF8}
{6B543CA2-10A2-4771-9F93-1733AA7A2DB8} = {1E0A9AAE-133F-4881-8DC6-571F12B96B8B}
{39DD9A75-2535-4EBD-94A4-C7DF7EF12CF5} = {6B543CA2-10A2-4771-9F93-1733AA7A2DB8}
{472DA1F4-C446-434B-906C-A0F2899C279B} = {BA784A0F-E788-40CC-A76D-EB4041808897}
{C3F22F91-FE0E-4181-864B-D7EE7225382D} = {4528D9E6-C6F8-448E-BD36-5E5DAAFE90D3}
{469D4D65-45B3-4641-9C04-480102731EF9} = {4528D9E6-C6F8-448E-BD36-5E5DAAFE90D3}
+ {165B27F0-A2BA-4961-B718-0E381B8B92BD} = {4528D9E6-C6F8-448E-BD36-5E5DAAFE90D3}
{C5825007-742C-4F16-BAB5-09D6EAF2AEF6} = {C3F22F91-FE0E-4181-864B-D7EE7225382D}
{1E8B3DDB-15DC-4BB9-BAFB-8252848A8784} = {C3F22F91-FE0E-4181-864B-D7EE7225382D}
{A1C4D795-DE5B-4CB0-BFF6-13E1D5A787FD} = {C5825007-742C-4F16-BAB5-09D6EAF2AEF6}
{8C754381-F489-4B5F-885A-415D323D88BF} = {0957EF12-6D74-4438-BAD1-D720433C2162}
{757F1684-39BD-4705-91F1-FE16BD5B1523} = {8C754381-F489-4B5F-885A-415D323D88BF}
{F40B2B5B-4C42-4BD8-8CAF-8C96856BAC0F} = {469D4D65-45B3-4641-9C04-480102731EF9}
+ {11835CDF-F5AA-42B9-9FE6-6F94EB9A08B9} = {A8B34174-E462-48BE-975C-604B8B1DB0A0}
+ {48E311DE-F4D4-4F54-8C2B-FEDA15FE2D40} = {1E30345B-4538-426B-8F15-94C7EDD9F6A1}
+ {1A50E251-BD04-4049-9745-770CFF672093} = {48E311DE-F4D4-4F54-8C2B-FEDA15FE2D40}
+ {1E30345B-4538-426B-8F15-94C7EDD9F6A1} = {D83DE650-AD2D-4122-9AE2-53AB5364D032}
+ {06633516-0C78-433B-BFFB-A8BCE5006CB7} = {D83DE650-AD2D-4122-9AE2-53AB5364D032}
+ {E16B0693-80CF-422F-AB4B-B5150FDF5140} = {165B27F0-A2BA-4961-B718-0E381B8B92BD}
+ {5FEB6365-EB6C-4D4D-9DAA-E5E2EEA5A1FF} = {06633516-0C78-433B-BFFB-A8BCE5006CB7}
EndGlobalSection
EndGlobal
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
+ </PropertyGroup>
+ <Target Name="Build">
+ <ItemGroup>
+ <AllSourceFiles Include="$(MSBuildProjectDirectory)\*.cs" />
+ </ItemGroup>
+ <PropertyGroup>
+ <GenerateRunScript>false</GenerateRunScript>
+ </PropertyGroup>
+ <MSBuild Projects="cs_template.proj" Properties="AssemblyName1=%(AllSourceFiles.FileName);AllowUnsafeBlocks=True;IntermediateOutputPath=$(IntermediateOutputPath)\%(AllSourceFiles.FileName)\" />
+ </Target>
+</Project>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
\ No newline at end of file
--- /dev/null
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+namespace JitTest
+{
+ using System;
+
+ class Test
+ {
+ static void RunTests(float nan, float plusinf, float minusinf)
+ {
+ if (!Single.IsNaN(nan + nan))
+ throw new Exception("! Single.IsNaN(nan + nan)");
+ if (!Single.IsNaN(nan + plusinf))
+ throw new Exception("! Single.IsNaN(nan + plusinf)");
+ if (!Single.IsNaN(nan + minusinf))
+ throw new Exception("! Single.IsNaN(nan + minusinf)");
+ if (!Single.IsNaN(plusinf + nan))
+ throw new Exception("! Single.IsNaN(plusinf + nan)");
+ if (!Single.IsPositiveInfinity(plusinf + plusinf))
+ throw new Exception("! Single.IsPositiveInfinity(plusinf + plusinf)");
+ if (!Single.IsNaN(plusinf + minusinf))
+ throw new Exception("! Single.IsNaN(plusinf + minusinf)");
+ if (!Single.IsNaN(minusinf + nan))
+ throw new Exception("! Single.IsNaN(minusinf + nan)");
+ if (!Single.IsNaN(minusinf + plusinf))
+ throw new Exception("! Single.IsNaN(minusinf + plusinf)");
+ if (!Single.IsNegativeInfinity(minusinf + minusinf))
+ throw new Exception("! Single.IsNegativeInfinity(minusinf + minusinf)");
+ if (!Single.IsNaN(nan + nan))
+ throw new Exception("! Single.IsNaN(nan + nan)");
+ if (!Single.IsNaN(nan + plusinf))
+ throw new Exception("! Single.IsNaN(nan + plusinf)");
+ if (!Single.IsNaN(nan + minusinf))
+ throw new Exception("! Single.IsNaN(nan + minusinf)");
+ if (!Single.IsNaN(plusinf + nan))
+ throw new Exception("! Single.IsNaN(plusinf + nan)");
+ if (!Single.IsPositiveInfinity(plusinf + plusinf))
+ throw new Exception("! Single.IsPositiveInfinity(plusinf + plusinf)");
+ if (!Single.IsNaN(plusinf + minusinf))
+ throw new Exception("! Single.IsNaN(plusinf + minusinf)");
+ if (!Single.IsNaN(minusinf + nan))
+ throw new Exception("! Single.IsNaN(minusinf + nan)");
+ if (!Single.IsNaN(minusinf + plusinf))
+ throw new Exception("! Single.IsNaN(minusinf + plusinf)");
+ if (!Single.IsNegativeInfinity(minusinf + minusinf))
+ throw new Exception("! Single.IsNegativeInfinity(minusinf + minusinf)");
+ if (!Single.IsNaN(nan + nan))
+ throw new Exception("! Single.IsNaN(nan + nan)");
+ if (!Single.IsNaN(nan + plusinf))
+ throw new Exception("! Single.IsNaN(nan + plusinf)");
+ if (!Single.IsNaN(nan + minusinf))
+ throw new Exception("! Single.IsNaN(nan + minusinf)");
+ if (!Single.IsNaN(plusinf + nan))
+ throw new Exception("! Single.IsNaN(plusinf + nan)");
+ if (!Single.IsPositiveInfinity(plusinf + plusinf))
+ throw new Exception("! Single.IsPositiveInfinity(plusinf + plusinf)");
+ if (!Single.IsNaN(plusinf + minusinf))
+ throw new Exception("! Single.IsNaN(plusinf + minusinf)");
+ if (!Single.IsNaN(minusinf + nan))
+ throw new Exception("! Single.IsNaN(minusinf + nan)");
+ if (!Single.IsNaN(minusinf + plusinf))
+ throw new Exception("! Single.IsNaN(minusinf + plusinf)");
+ if (!Single.IsNegativeInfinity(minusinf + minusinf))
+ throw new Exception("! Single.IsNegativeInfinity(minusinf + minusinf)");
+ if (!Single.IsNaN(nan + nan))
+ throw new Exception("! Single.IsNaN(nan + nan)");
+ if (!Single.IsNaN(nan + plusinf))
+ throw new Exception("! Single.IsNaN(nan + plusinf)");
+ if (!Single.IsNaN(nan + minusinf))
+ throw new Exception("! Single.IsNaN(nan + minusinf)");
+ if (!Single.IsNaN(plusinf + nan))
+ throw new Exception("! Single.IsNaN(plusinf + nan)");
+ if (!Single.IsPositiveInfinity(plusinf + plusinf))
+ throw new Exception("! Single.IsPositiveInfinity(plusinf + plusinf)");
+ if (!Single.IsNaN(plusinf + minusinf))
+ throw new Exception("! Single.IsNaN(plusinf + minusinf)");
+ if (!Single.IsNaN(minusinf + nan))
+ throw new Exception("! Single.IsNaN(minusinf + nan)");
+ if (!Single.IsNaN(minusinf + plusinf))
+ throw new Exception("! Single.IsNaN(minusinf + plusinf)");
+ if (!Single.IsNegativeInfinity(minusinf + minusinf))
+ throw new Exception("! Single.IsNegativeInfinity(minusinf + minusinf)");
+ }
+
+ static int Main()
+ {
+ RunTests(Single.NaN, Single.PositiveInfinity, Single.NegativeInfinity);
+ Console.WriteLine("=== PASSED ===");
+ return 100;
+ }
+ }
+}
--- /dev/null
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+namespace JitTest
+{
+ using System;
+
+ class Test
+ {
+ static void RunTests(double nan, double plusinf, double minusinf)
+ {
+ if (!Double.IsNaN(nan + nan))
+ throw new Exception("! Double.IsNaN(nan + nan)");
+ if (!Double.IsNaN(nan + plusinf))
+ throw new Exception("! Double.IsNaN(nan + plusinf)");
+ if (!Double.IsNaN(nan + minusinf))
+ throw new Exception("! Double.IsNaN(nan + minusinf)");
+ if (!Double.IsNaN(plusinf + nan))
+ throw new Exception("! Double.IsNaN(plusinf + nan)");
+ if (!Double.IsPositiveInfinity(plusinf + plusinf))
+ throw new Exception("! Double.IsPositiveInfinity(plusinf + plusinf)");
+ if (!Double.IsNaN(plusinf + minusinf))
+ throw new Exception("! Double.IsNaN(plusinf + minusinf)");
+ if (!Double.IsNaN(minusinf + nan))
+ throw new Exception("! Double.IsNaN(minusinf + nan)");
+ if (!Double.IsNaN(minusinf + plusinf))
+ throw new Exception("! Double.IsNaN(minusinf + plusinf)");
+ if (!Double.IsNegativeInfinity(minusinf + minusinf))
+ throw new Exception("! Double.IsNegativeInfinity(minusinf + minusinf)");
+ if (!Double.IsNaN(nan + nan))
+ throw new Exception("! Double.IsNaN(nan + nan)");
+ if (!Double.IsNaN(nan + plusinf))
+ throw new Exception("! Double.IsNaN(nan + plusinf)");
+ if (!Double.IsNaN(nan + minusinf))
+ throw new Exception("! Double.IsNaN(nan + minusinf)");
+ if (!Double.IsNaN(plusinf + nan))
+ throw new Exception("! Double.IsNaN(plusinf + nan)");
+ if (!Double.IsPositiveInfinity(plusinf + plusinf))
+ throw new Exception("! Double.IsPositiveInfinity(plusinf + plusinf)");
+ if (!Double.IsNaN(plusinf + minusinf))
+ throw new Exception("! Double.IsNaN(plusinf + minusinf)");
+ if (!Double.IsNaN(minusinf + nan))
+ throw new Exception("! Double.IsNaN(minusinf + nan)");
+ if (!Double.IsNaN(minusinf + plusinf))
+ throw new Exception("! Double.IsNaN(minusinf + plusinf)");
+ if (!Double.IsNegativeInfinity(minusinf + minusinf))
+ throw new Exception("! Double.IsNegativeInfinity(minusinf + minusinf)");
+ if (!Double.IsNaN(nan + nan))
+ throw new Exception("! Double.IsNaN(nan + nan)");
+ if (!Double.IsNaN(nan + plusinf))
+ throw new Exception("! Double.IsNaN(nan + plusinf)");
+ if (!Double.IsNaN(nan + minusinf))
+ throw new Exception("! Double.IsNaN(nan + minusinf)");
+ if (!Double.IsNaN(plusinf + nan))
+ throw new Exception("! Double.IsNaN(plusinf + nan)");
+ if (!Double.IsPositiveInfinity(plusinf + plusinf))
+ throw new Exception("! Double.IsPositiveInfinity(plusinf + plusinf)");
+ if (!Double.IsNaN(plusinf + minusinf))
+ throw new Exception("! Double.IsNaN(plusinf + minusinf)");
+ if (!Double.IsNaN(minusinf + nan))
+ throw new Exception("! Double.IsNaN(minusinf + nan)");
+ if (!Double.IsNaN(minusinf + plusinf))
+ throw new Exception("! Double.IsNaN(minusinf + plusinf)");
+ if (!Double.IsNegativeInfinity(minusinf + minusinf))
+ throw new Exception("! Double.IsNegativeInfinity(minusinf + minusinf)");
+ if (!Double.IsNaN(nan + nan))
+ throw new Exception("! Double.IsNaN(nan + nan)");
+ if (!Double.IsNaN(nan + plusinf))
+ throw new Exception("! Double.IsNaN(nan + plusinf)");
+ if (!Double.IsNaN(nan + minusinf))
+ throw new Exception("! Double.IsNaN(nan + minusinf)");
+ if (!Double.IsNaN(plusinf + nan))
+ throw new Exception("! Double.IsNaN(plusinf + nan)");
+ if (!Double.IsPositiveInfinity(plusinf + plusinf))
+ throw new Exception("! Double.IsPositiveInfinity(plusinf + plusinf)");
+ if (!Double.IsNaN(plusinf + minusinf))
+ throw new Exception("! Double.IsNaN(plusinf + minusinf)");
+ if (!Double.IsNaN(minusinf + nan))
+ throw new Exception("! Double.IsNaN(minusinf + nan)");
+ if (!Double.IsNaN(minusinf + plusinf))
+ throw new Exception("! Double.IsNaN(minusinf + plusinf)");
+ if (!Double.IsNegativeInfinity(minusinf + minusinf))
+ throw new Exception("! Double.IsNegativeInfinity(minusinf + minusinf)");
+ }
+
+ static int Main()
+ {
+ RunTests(Double.NaN, Double.PositiveInfinity, Double.NegativeInfinity);
+ Console.WriteLine("=== PASSED ===");
+ return 100;
+ }
+ }
+}
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(AssemblyName1)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <RestorePackages>true</RestorePackages>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="$(AssemblyName1).cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="packages.config" />
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+ <package id="System.Console" version="4.0.0-beta-22405" />
+ <package id="System.Runtime" version="4.0.20-beta-22405" />
+ <package id="System.Runtime.Extensions" version="4.0.10-beta-22412" />
+</packages>
--- /dev/null
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+class r4NaNadd
+{
+
+ //user-defined class that overloads operator +
+ public class numHolder
+ {
+ float f_num;
+ public numHolder(float f_num)
+ {
+ this.f_num = Convert.ToSingle(f_num);
+ }
+
+ public static float operator +(numHolder a, float b)
+ {
+ return a.f_num + b;
+ }
+
+ public static float operator +(numHolder a, numHolder b)
+ {
+ return a.f_num + b.f_num;
+ }
+
+ }
+
+ static float f_s_test1_op1 = 0.0F;
+ static float f_s_test1_op2 = Single.NaN;
+ static float f_s_test2_op1 = Single.NegativeInfinity;
+ static float f_s_test2_op2 = Single.NaN;
+ static float f_s_test3_op1 = Single.NaN;
+ static float f_s_test3_op2 = 6.2F;
+
+ public static float f_test1_f(String s)
+ {
+ if (s == "test1_op1")
+ return 0.0F;
+ else
+ return Single.NaN;
+ }
+
+ public static float f_test2_f(String s)
+ {
+ if (s == "test2_op1")
+ return Single.NegativeInfinity;
+ else
+ return Single.NaN;
+ }
+
+ public static float f_test3_f(String s)
+ {
+ if (s == "test3_op1")
+ return Single.NaN;
+ else
+ return 6.2F;
+ }
+
+ class CL
+ {
+ public float f_cl_test1_op1 = 0.0F;
+ public float f_cl_test1_op2 = Single.NaN;
+ public float f_cl_test2_op1 = Single.NegativeInfinity;
+ public float f_cl_test2_op2 = Single.NaN;
+ public float f_cl_test3_op1 = Single.NaN;
+ public float f_cl_test3_op2 = 6.2F;
+ }
+
+ struct VT
+ {
+ public float f_vt_test1_op1;
+ public float f_vt_test1_op2;
+ public float f_vt_test2_op1;
+ public float f_vt_test2_op2;
+ public float f_vt_test3_op1;
+ public float f_vt_test3_op2;
+ }
+
+ public static int Main()
+ {
+ bool passed = true;
+ //initialize class
+ CL cl1 = new CL();
+ //initialize struct
+ VT vt1;
+ vt1.f_vt_test1_op1 = 0.0F;
+ vt1.f_vt_test1_op2 = Single.NaN;
+ vt1.f_vt_test2_op1 = Single.NegativeInfinity;
+ vt1.f_vt_test2_op2 = Single.NaN;
+ vt1.f_vt_test3_op1 = Single.NaN;
+ vt1.f_vt_test3_op2 = 6.2F;
+
+ float[] f_arr1d_test1_op1 = { 0, 0.0F };
+ float[,] f_arr2d_test1_op1 = { { 0, 0.0F }, { 1, 1 } };
+ float[, ,] f_arr3d_test1_op1 = { { { 0, 0.0F }, { 1, 1 } } };
+ float[] f_arr1d_test1_op2 = { Single.NaN, 0, 1 };
+ float[,] f_arr2d_test1_op2 = { { 0, Single.NaN }, { 1, 1 } };
+ float[, ,] f_arr3d_test1_op2 = { { { 0, Single.NaN }, { 1, 1 } } };
+ float[] f_arr1d_test2_op1 = { 0, Single.NegativeInfinity };
+ float[,] f_arr2d_test2_op1 = { { 0, Single.NegativeInfinity }, { 1, 1 } };
+ float[, ,] f_arr3d_test2_op1 = { { { 0, Single.NegativeInfinity }, { 1, 1 } } };
+ float[] f_arr1d_test2_op2 = { Single.NaN, 0, 1 };
+ float[,] f_arr2d_test2_op2 = { { 0, Single.NaN }, { 1, 1 } };
+ float[, ,] f_arr3d_test2_op2 = { { { 0, Single.NaN }, { 1, 1 } } };
+ float[] f_arr1d_test3_op1 = { 0, Single.NaN };
+ float[,] f_arr2d_test3_op1 = { { 0, Single.NaN }, { 1, 1 } };
+ float[, ,] f_arr3d_test3_op1 = { { { 0, Single.NaN }, { 1, 1 } } };
+ float[] f_arr1d_test3_op2 = { 6.2F, 0, 1 };
+ float[,] f_arr2d_test3_op2 = { { 0, 6.2F }, { 1, 1 } };
+ float[, ,] f_arr3d_test3_op2 = { { { 0, 6.2F }, { 1, 1 } } };
+
+ int[,] index = { { 0, 0 }, { 1, 1 } };
+
+ {
+ float f_l_test1_op1 = 0.0F;
+ float f_l_test1_op2 = Single.NaN;
+ if (!Single.IsNaN(f_l_test1_op1 + f_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 1 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test1_op1 + f_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 2 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test1_op1 + f_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 3 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test1_op1 + cl1.f_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 4 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test1_op1 + vt1.f_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 5 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test1_op1 + f_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 6 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test1_op1 + f_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 7 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test1_op1 + f_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 8 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test1_op1 + f_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 9 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test1_op1 + f_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 10 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test1_op1 + f_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 11 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test1_op1 + cl1.f_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 12 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test1_op1 + vt1.f_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 13 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test1_op1 + f_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 14 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test1_op1 + f_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 15 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test1_op1 + f_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 16 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test1_f("test1_op1") + f_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 17 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test1_f("test1_op1") + f_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 18 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test1_f("test1_op1") + f_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 19 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test1_f("test1_op1") + cl1.f_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 20 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test1_f("test1_op1") + vt1.f_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 21 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test1_f("test1_op1") + f_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 22 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test1_f("test1_op1") + f_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 23 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test1_f("test1_op1") + f_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 24 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test1_op1 + f_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 25 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test1_op1 + f_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 26 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test1_op1 + f_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 27 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test1_op1 + cl1.f_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 28 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test1_op1 + vt1.f_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 29 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test1_op1 + f_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 30 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test1_op1 + f_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 31 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test1_op1 + f_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 32 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test1_op1 + f_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 33 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test1_op1 + f_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 34 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test1_op1 + f_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 35 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test1_op1 + cl1.f_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 36 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test1_op1 + vt1.f_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 37 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test1_op1 + f_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 38 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test1_op1 + f_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 39 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test1_op1 + f_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 40 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test1_op1[1] + f_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 41 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test1_op1[1] + f_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 42 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test1_op1[1] + f_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 43 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test1_op1[1] + cl1.f_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 44 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test1_op1[1] + vt1.f_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 45 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test1_op1[1] + f_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 46 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test1_op1[1] + f_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 47 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test1_op1[1] + f_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 48 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test1_op1[index[0, 1], index[1, 0]] + f_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 49 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test1_op1[index[0, 1], index[1, 0]] + f_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 50 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test1_op1[index[0, 1], index[1, 0]] + f_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 51 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test1_op1[index[0, 1], index[1, 0]] + cl1.f_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 52 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test1_op1[index[0, 1], index[1, 0]] + vt1.f_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 53 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test1_op1[index[0, 1], index[1, 0]] + f_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 54 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test1_op1[index[0, 1], index[1, 0]] + f_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 55 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test1_op1[index[0, 1], index[1, 0]] + f_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 56 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] + f_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 57 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] + f_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 58 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] + f_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 59 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] + cl1.f_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 60 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] + vt1.f_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 61 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] + f_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 62 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] + f_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 63 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] + f_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 64 failed");
+ passed = false;
+ }
+ }
+
+ {
+ float f_l_test2_op1 = Single.NegativeInfinity;
+ float f_l_test2_op2 = Single.NaN;
+ if (!Single.IsNaN(f_l_test2_op1 + f_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 1 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test2_op1 + f_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 2 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test2_op1 + f_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 3 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test2_op1 + cl1.f_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 4 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test2_op1 + vt1.f_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 5 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test2_op1 + f_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 6 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test2_op1 + f_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 7 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test2_op1 + f_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 8 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test2_op1 + f_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 9 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test2_op1 + f_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 10 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test2_op1 + f_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 11 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test2_op1 + cl1.f_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 12 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test2_op1 + vt1.f_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 13 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test2_op1 + f_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 14 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test2_op1 + f_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 15 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test2_op1 + f_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 16 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test2_f("test2_op1") + f_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 17 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test2_f("test2_op1") + f_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 18 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test2_f("test2_op1") + f_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 19 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test2_f("test2_op1") + cl1.f_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 20 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test2_f("test2_op1") + vt1.f_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 21 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test2_f("test2_op1") + f_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 22 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test2_f("test2_op1") + f_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 23 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test2_f("test2_op1") + f_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 24 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test2_op1 + f_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 25 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test2_op1 + f_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 26 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test2_op1 + f_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 27 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test2_op1 + cl1.f_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 28 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test2_op1 + vt1.f_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 29 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test2_op1 + f_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 30 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test2_op1 + f_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 31 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test2_op1 + f_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 32 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test2_op1 + f_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 33 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test2_op1 + f_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 34 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test2_op1 + f_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 35 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test2_op1 + cl1.f_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 36 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test2_op1 + vt1.f_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 37 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test2_op1 + f_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 38 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test2_op1 + f_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 39 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test2_op1 + f_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 40 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test2_op1[1] + f_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 41 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test2_op1[1] + f_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 42 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test2_op1[1] + f_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 43 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test2_op1[1] + cl1.f_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 44 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test2_op1[1] + vt1.f_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 45 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test2_op1[1] + f_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 46 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test2_op1[1] + f_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 47 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test2_op1[1] + f_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 48 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test2_op1[index[0, 1], index[1, 0]] + f_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 49 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test2_op1[index[0, 1], index[1, 0]] + f_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 50 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test2_op1[index[0, 1], index[1, 0]] + f_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 51 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test2_op1[index[0, 1], index[1, 0]] + cl1.f_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 52 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test2_op1[index[0, 1], index[1, 0]] + vt1.f_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 53 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test2_op1[index[0, 1], index[1, 0]] + f_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 54 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test2_op1[index[0, 1], index[1, 0]] + f_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 55 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test2_op1[index[0, 1], index[1, 0]] + f_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 56 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] + f_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 57 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] + f_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 58 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] + f_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 59 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] + cl1.f_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 60 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] + vt1.f_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 61 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] + f_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 62 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] + f_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 63 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] + f_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 64 failed");
+ passed = false;
+ }
+ }
+
+ {
+ float f_l_test3_op1 = Single.NaN;
+ float f_l_test3_op2 = 6.2F;
+ if (!Single.IsNaN(f_l_test3_op1 + f_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 1 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test3_op1 + f_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 2 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test3_op1 + f_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 3 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test3_op1 + cl1.f_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 4 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test3_op1 + vt1.f_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 5 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test3_op1 + f_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 6 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test3_op1 + f_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 7 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test3_op1 + f_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 8 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test3_op1 + f_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 9 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test3_op1 + f_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 10 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test3_op1 + f_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 11 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test3_op1 + cl1.f_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 12 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test3_op1 + vt1.f_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 13 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test3_op1 + f_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 14 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test3_op1 + f_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 15 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test3_op1 + f_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 16 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test3_f("test3_op1") + f_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 17 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test3_f("test3_op1") + f_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 18 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test3_f("test3_op1") + f_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 19 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test3_f("test3_op1") + cl1.f_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 20 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test3_f("test3_op1") + vt1.f_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 21 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test3_f("test3_op1") + f_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 22 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test3_f("test3_op1") + f_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 23 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test3_f("test3_op1") + f_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 24 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test3_op1 + f_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 25 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test3_op1 + f_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 26 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test3_op1 + f_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 27 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test3_op1 + cl1.f_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 28 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test3_op1 + vt1.f_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 29 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test3_op1 + f_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 30 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test3_op1 + f_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 31 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test3_op1 + f_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 32 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test3_op1 + f_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 33 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test3_op1 + f_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 34 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test3_op1 + f_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 35 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test3_op1 + cl1.f_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 36 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test3_op1 + vt1.f_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 37 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test3_op1 + f_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 38 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test3_op1 + f_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 39 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test3_op1 + f_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 40 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test3_op1[1] + f_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 41 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test3_op1[1] + f_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 42 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test3_op1[1] + f_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 43 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test3_op1[1] + cl1.f_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 44 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test3_op1[1] + vt1.f_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 45 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test3_op1[1] + f_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 46 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test3_op1[1] + f_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 47 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test3_op1[1] + f_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 48 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test3_op1[index[0, 1], index[1, 0]] + f_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 49 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test3_op1[index[0, 1], index[1, 0]] + f_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 50 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test3_op1[index[0, 1], index[1, 0]] + f_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 51 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test3_op1[index[0, 1], index[1, 0]] + cl1.f_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 52 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test3_op1[index[0, 1], index[1, 0]] + vt1.f_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 53 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test3_op1[index[0, 1], index[1, 0]] + f_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 54 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test3_op1[index[0, 1], index[1, 0]] + f_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 55 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test3_op1[index[0, 1], index[1, 0]] + f_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 56 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] + f_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 57 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] + f_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 58 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] + f_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 59 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] + cl1.f_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 60 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] + vt1.f_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 61 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] + f_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 62 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] + f_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 63 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] + f_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 64 failed");
+ passed = false;
+ }
+ }
+
+
+ if (!passed)
+ {
+ Console.WriteLine("FAILED");
+ return 1;
+ }
+ else
+ {
+ Console.WriteLine("PASSED");
+ return 100;
+ }
+ }
+}
--- /dev/null
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+class r4NaNdiv
+{
+
+ //user-defined class that overloads operator /
+ public class numHolder
+ {
+ float f_num;
+ public numHolder(float f_num)
+ {
+ this.f_num = Convert.ToSingle(f_num);
+ }
+
+ public static float operator /(numHolder a, float b)
+ {
+ return a.f_num / b;
+ }
+
+ public static float operator /(numHolder a, numHolder b)
+ {
+ return a.f_num / b.f_num;
+ }
+
+ }
+
+ static float f_s_test1_op1 = 0;
+ static float f_s_test1_op2 = 0;
+ static float f_s_test2_op1 = Single.PositiveInfinity;
+ static float f_s_test2_op2 = Single.NegativeInfinity;
+ static float f_s_test3_op1 = Single.PositiveInfinity;
+ static float f_s_test3_op2 = Single.NaN;
+
+ public static float f_test1_f(String s)
+ {
+ if (s == "test1_op1")
+ return 0;
+ else
+ return 0;
+ }
+
+ public static float f_test2_f(String s)
+ {
+ if (s == "test2_op1")
+ return Single.PositiveInfinity;
+ else
+ return Single.NegativeInfinity;
+ }
+
+ public static float f_test3_f(String s)
+ {
+ if (s == "test3_op1")
+ return Single.PositiveInfinity;
+ else
+ return Single.NaN;
+ }
+
+ class CL
+ {
+ public float f_cl_test1_op1 = 0;
+ public float f_cl_test1_op2 = 0;
+ public float f_cl_test2_op1 = Single.PositiveInfinity;
+ public float f_cl_test2_op2 = Single.NegativeInfinity;
+ public float f_cl_test3_op1 = Single.PositiveInfinity;
+ public float f_cl_test3_op2 = Single.NaN;
+ }
+
+ struct VT
+ {
+ public float f_vt_test1_op1;
+ public float f_vt_test1_op2;
+ public float f_vt_test2_op1;
+ public float f_vt_test2_op2;
+ public float f_vt_test3_op1;
+ public float f_vt_test3_op2;
+ }
+
+ public static int Main()
+ {
+ bool passed = true;
+ //initialize class
+ CL cl1 = new CL();
+ //initialize struct
+ VT vt1;
+ vt1.f_vt_test1_op1 = 0;
+ vt1.f_vt_test1_op2 = 0;
+ vt1.f_vt_test2_op1 = Single.PositiveInfinity;
+ vt1.f_vt_test2_op2 = Single.NegativeInfinity;
+ vt1.f_vt_test3_op1 = Single.PositiveInfinity;
+ vt1.f_vt_test3_op2 = Single.NaN;
+
+ float[] f_arr1d_test1_op1 = { 0, 0 };
+ float[,] f_arr2d_test1_op1 = { { 0, 0 }, { 1, 1 } };
+ float[, ,] f_arr3d_test1_op1 = { { { 0, 0 }, { 1, 1 } } };
+
+ float[] f_arr1d_test1_op2 = { 0, 0, 1 };
+ float[,] f_arr2d_test1_op2 = { { 0, 0 }, { 1, 1 } };
+ float[, ,] f_arr3d_test1_op2 = { { { 0, 0 }, { 1, 1 } } };
+
+ float[] f_arr1d_test2_op1 = { 0, Single.PositiveInfinity };
+ float[,] f_arr2d_test2_op1 = { { 0, Single.PositiveInfinity }, { 1, 1 } };
+ float[, ,] f_arr3d_test2_op1 = { { { 0, Single.PositiveInfinity }, { 1, 1 } } };
+
+ float[] f_arr1d_test2_op2 = { Single.NegativeInfinity, 0, 1 };
+ float[,] f_arr2d_test2_op2 = { { 0, Single.NegativeInfinity }, { 1, 1 } };
+ float[, ,] f_arr3d_test2_op2 = { { { 0, Single.NegativeInfinity }, { 1, 1 } } };
+
+ float[] f_arr1d_test3_op1 = { 0, Single.PositiveInfinity };
+ float[,] f_arr2d_test3_op1 = { { 0, Single.PositiveInfinity }, { 1, 1 } };
+ float[, ,] f_arr3d_test3_op1 = { { { 0, Single.PositiveInfinity }, { 1, 1 } } };
+
+ float[] f_arr1d_test3_op2 = { Single.NaN, 0, 1 };
+ float[,] f_arr2d_test3_op2 = { { 0, Single.NaN }, { 1, 1 } };
+ float[, ,] f_arr3d_test3_op2 = { { { 0, Single.NaN }, { 1, 1 } } };
+
+ int[,] index = { { 0, 0 }, { 1, 1 } };
+
+ {
+ float f_l_test1_op1 = 0;
+ float f_l_test1_op2 = 0;
+ if (!Single.IsNaN(f_l_test1_op1 / f_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 1 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test1_op1 / f_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 2 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test1_op1 / f_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 3 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test1_op1 / cl1.f_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 4 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test1_op1 / vt1.f_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 5 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test1_op1 / f_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 6 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test1_op1 / f_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 7 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test1_op1 / f_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 8 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test1_op1 / f_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 9 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test1_op1 / f_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 10 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test1_op1 / f_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 11 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test1_op1 / cl1.f_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 12 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test1_op1 / vt1.f_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 13 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test1_op1 / f_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 14 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test1_op1 / f_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 15 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test1_op1 / f_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 16 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test1_f("test1_op1") / f_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 17 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test1_f("test1_op1") / f_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 18 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test1_f("test1_op1") / f_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 19 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test1_f("test1_op1") / cl1.f_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 20 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test1_f("test1_op1") / vt1.f_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 21 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test1_f("test1_op1") / f_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 22 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test1_f("test1_op1") / f_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 23 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test1_f("test1_op1") / f_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 24 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test1_op1 / f_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 25 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test1_op1 / f_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 26 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test1_op1 / f_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 27 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test1_op1 / cl1.f_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 28 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test1_op1 / vt1.f_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 29 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test1_op1 / f_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 30 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test1_op1 / f_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 31 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test1_op1 / f_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 32 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test1_op1 / f_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 33 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test1_op1 / f_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 34 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test1_op1 / f_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 35 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test1_op1 / cl1.f_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 36 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test1_op1 / vt1.f_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 37 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test1_op1 / f_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 38 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test1_op1 / f_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 39 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test1_op1 / f_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 40 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test1_op1[1] / f_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 41 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test1_op1[1] / f_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 42 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test1_op1[1] / f_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 43 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test1_op1[1] / cl1.f_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 44 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test1_op1[1] / vt1.f_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 45 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test1_op1[1] / f_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 46 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test1_op1[1] / f_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 47 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test1_op1[1] / f_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 48 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test1_op1[index[0, 1], index[1, 0]] / f_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 49 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test1_op1[index[0, 1], index[1, 0]] / f_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 50 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test1_op1[index[0, 1], index[1, 0]] / f_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 51 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test1_op1[index[0, 1], index[1, 0]] / cl1.f_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 52 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test1_op1[index[0, 1], index[1, 0]] / vt1.f_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 53 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test1_op1[index[0, 1], index[1, 0]] / f_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 54 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test1_op1[index[0, 1], index[1, 0]] / f_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 55 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test1_op1[index[0, 1], index[1, 0]] / f_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 56 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] / f_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 57 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] / f_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 58 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] / f_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 59 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] / cl1.f_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 60 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] / vt1.f_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 61 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] / f_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 62 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] / f_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 63 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] / f_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 64 failed");
+ passed = false;
+ }
+ }
+
+ {
+ float f_l_test2_op1 = Single.PositiveInfinity;
+ float f_l_test2_op2 = Single.NegativeInfinity;
+ if (!Single.IsNaN(f_l_test2_op1 / f_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 1 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test2_op1 / f_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 2 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test2_op1 / f_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 3 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test2_op1 / cl1.f_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 4 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test2_op1 / vt1.f_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 5 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test2_op1 / f_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 6 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test2_op1 / f_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 7 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test2_op1 / f_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 8 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test2_op1 / f_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 9 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test2_op1 / f_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 10 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test2_op1 / f_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 11 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test2_op1 / cl1.f_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 12 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test2_op1 / vt1.f_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 13 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test2_op1 / f_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 14 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test2_op1 / f_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 15 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test2_op1 / f_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 16 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test2_f("test2_op1") / f_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 17 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test2_f("test2_op1") / f_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 18 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test2_f("test2_op1") / f_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 19 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test2_f("test2_op1") / cl1.f_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 20 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test2_f("test2_op1") / vt1.f_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 21 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test2_f("test2_op1") / f_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 22 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test2_f("test2_op1") / f_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 23 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test2_f("test2_op1") / f_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 24 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test2_op1 / f_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 25 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test2_op1 / f_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 26 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test2_op1 / f_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 27 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test2_op1 / cl1.f_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 28 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test2_op1 / vt1.f_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 29 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test2_op1 / f_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 30 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test2_op1 / f_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 31 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test2_op1 / f_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 32 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test2_op1 / f_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 33 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test2_op1 / f_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 34 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test2_op1 / f_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 35 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test2_op1 / cl1.f_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 36 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test2_op1 / vt1.f_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 37 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test2_op1 / f_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 38 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test2_op1 / f_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 39 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test2_op1 / f_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 40 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test2_op1[1] / f_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 41 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test2_op1[1] / f_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 42 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test2_op1[1] / f_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 43 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test2_op1[1] / cl1.f_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 44 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test2_op1[1] / vt1.f_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 45 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test2_op1[1] / f_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 46 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test2_op1[1] / f_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 47 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test2_op1[1] / f_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 48 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test2_op1[index[0, 1], index[1, 0]] / f_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 49 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test2_op1[index[0, 1], index[1, 0]] / f_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 50 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test2_op1[index[0, 1], index[1, 0]] / f_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 51 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test2_op1[index[0, 1], index[1, 0]] / cl1.f_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 52 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test2_op1[index[0, 1], index[1, 0]] / vt1.f_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 53 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test2_op1[index[0, 1], index[1, 0]] / f_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 54 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test2_op1[index[0, 1], index[1, 0]] / f_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 55 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test2_op1[index[0, 1], index[1, 0]] / f_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 56 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] / f_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 57 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] / f_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 58 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] / f_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 59 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] / cl1.f_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 60 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] / vt1.f_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 61 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] / f_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 62 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] / f_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 63 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] / f_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 64 failed");
+ passed = false;
+ }
+ }
+
+ {
+ float f_l_test3_op1 = Single.PositiveInfinity;
+ float f_l_test3_op2 = Single.NaN;
+ if (!Single.IsNaN(f_l_test3_op1 / f_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 1 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test3_op1 / f_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 2 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test3_op1 / f_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 3 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test3_op1 / cl1.f_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 4 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test3_op1 / vt1.f_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 5 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test3_op1 / f_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 6 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test3_op1 / f_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 7 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test3_op1 / f_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 8 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test3_op1 / f_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 9 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test3_op1 / f_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 10 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test3_op1 / f_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 11 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test3_op1 / cl1.f_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 12 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test3_op1 / vt1.f_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 13 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test3_op1 / f_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 14 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test3_op1 / f_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 15 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test3_op1 / f_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 16 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test3_f("test3_op1") / f_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 17 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test3_f("test3_op1") / f_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 18 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test3_f("test3_op1") / f_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 19 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test3_f("test3_op1") / cl1.f_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 20 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test3_f("test3_op1") / vt1.f_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 21 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test3_f("test3_op1") / f_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 22 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test3_f("test3_op1") / f_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 23 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test3_f("test3_op1") / f_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 24 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test3_op1 / f_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 25 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test3_op1 / f_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 26 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test3_op1 / f_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 27 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test3_op1 / cl1.f_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 28 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test3_op1 / vt1.f_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 29 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test3_op1 / f_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 30 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test3_op1 / f_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 31 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test3_op1 / f_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 32 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test3_op1 / f_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 33 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test3_op1 / f_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 34 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test3_op1 / f_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 35 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test3_op1 / cl1.f_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 36 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test3_op1 / vt1.f_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 37 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test3_op1 / f_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 38 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test3_op1 / f_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 39 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test3_op1 / f_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 40 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test3_op1[1] / f_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 41 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test3_op1[1] / f_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 42 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test3_op1[1] / f_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 43 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test3_op1[1] / cl1.f_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 44 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test3_op1[1] / vt1.f_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 45 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test3_op1[1] / f_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 46 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test3_op1[1] / f_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 47 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test3_op1[1] / f_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 48 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test3_op1[index[0, 1], index[1, 0]] / f_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 49 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test3_op1[index[0, 1], index[1, 0]] / f_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 50 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test3_op1[index[0, 1], index[1, 0]] / f_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 51 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test3_op1[index[0, 1], index[1, 0]] / cl1.f_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 52 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test3_op1[index[0, 1], index[1, 0]] / vt1.f_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 53 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test3_op1[index[0, 1], index[1, 0]] / f_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 54 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test3_op1[index[0, 1], index[1, 0]] / f_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 55 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test3_op1[index[0, 1], index[1, 0]] / f_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 56 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] / f_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 57 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] / f_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 58 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] / f_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 59 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] / cl1.f_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 60 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] / vt1.f_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 61 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] / f_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 62 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] / f_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 63 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] / f_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 64 failed");
+ passed = false;
+ }
+ }
+
+ if (!passed)
+ {
+ Console.WriteLine("FAILED");
+ return 1;
+ }
+ else
+ {
+ Console.WriteLine("PASSED");
+ return 100;
+ }
+ }
+}
--- /dev/null
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+class r4NaNmul
+{
+
+ //user-defined class that overloads operator *
+ public class numHolder
+ {
+ float f_num;
+ public numHolder(float f_num)
+ {
+ this.f_num = Convert.ToSingle(f_num);
+ }
+
+ public static float operator *(numHolder a, float b)
+ {
+ return a.f_num * b;
+ }
+
+ public static float operator *(numHolder a, numHolder b)
+ {
+ return a.f_num * b.f_num;
+ }
+
+ }
+
+ static float f_s_test1_op1 = Single.PositiveInfinity;
+ static float f_s_test1_op2 = 0;
+ static float f_s_test2_op1 = Single.NegativeInfinity;
+ static float f_s_test2_op2 = 0;
+ static float f_s_test3_op1 = 3;
+ static float f_s_test3_op2 = Single.NaN;
+
+ public static float f_test1_f(String s)
+ {
+ if (s == "test1_op1")
+ return Single.PositiveInfinity;
+ else
+ return 0;
+ }
+
+ public static float f_test2_f(String s)
+ {
+ if (s == "test2_op1")
+ return Single.NegativeInfinity;
+ else
+ return 0;
+ }
+
+ public static float f_test3_f(String s)
+ {
+ if (s == "test3_op1")
+ return 3;
+ else
+ return Single.NaN;
+ }
+
+ class CL
+ {
+ public float f_cl_test1_op1 = Single.PositiveInfinity;
+ public float f_cl_test1_op2 = 0;
+ public float f_cl_test2_op1 = Single.NegativeInfinity;
+ public float f_cl_test2_op2 = 0;
+ public float f_cl_test3_op1 = 3;
+ public float f_cl_test3_op2 = Single.NaN;
+ }
+
+ struct VT
+ {
+ public float f_vt_test1_op1;
+ public float f_vt_test1_op2;
+ public float f_vt_test2_op1;
+ public float f_vt_test2_op2;
+ public float f_vt_test3_op1;
+ public float f_vt_test3_op2;
+ }
+
+ public static int Main()
+ {
+ bool passed = true;
+ //initialize class
+ CL cl1 = new CL();
+ //initialize struct
+ VT vt1;
+ vt1.f_vt_test1_op1 = Single.PositiveInfinity;
+ vt1.f_vt_test1_op2 = 0;
+ vt1.f_vt_test2_op1 = Single.NegativeInfinity;
+ vt1.f_vt_test2_op2 = 0;
+ vt1.f_vt_test3_op1 = 3;
+ vt1.f_vt_test3_op2 = Single.NaN;
+
+ float[] f_arr1d_test1_op1 = { 0, Single.PositiveInfinity };
+ float[,] f_arr2d_test1_op1 = { { 0, Single.PositiveInfinity }, { 1, 1 } };
+ float[, ,] f_arr3d_test1_op1 = { { { 0, Single.PositiveInfinity }, { 1, 1 } } };
+
+ float[] f_arr1d_test1_op2 = { 0, 0, 1 };
+ float[,] f_arr2d_test1_op2 = { { 0, 0 }, { 1, 1 } };
+ float[, ,] f_arr3d_test1_op2 = { { { 0, 0 }, { 1, 1 } } };
+
+ float[] f_arr1d_test2_op1 = { 0, Single.NegativeInfinity };
+ float[,] f_arr2d_test2_op1 = { { 0, Single.NegativeInfinity }, { 1, 1 } };
+ float[, ,] f_arr3d_test2_op1 = { { { 0, Single.NegativeInfinity }, { 1, 1 } } };
+
+ float[] f_arr1d_test2_op2 = { 0, 0, 1 };
+ float[,] f_arr2d_test2_op2 = { { 0, 0 }, { 1, 1 } };
+ float[, ,] f_arr3d_test2_op2 = { { { 0, 0 }, { 1, 1 } } };
+
+ float[] f_arr1d_test3_op1 = { 0, 3 };
+ float[,] f_arr2d_test3_op1 = { { 0, 3 }, { 1, 1 } };
+ float[, ,] f_arr3d_test3_op1 = { { { 0, 3 }, { 1, 1 } } };
+
+ float[] f_arr1d_test3_op2 = { Single.NaN, 0, 1 };
+ float[,] f_arr2d_test3_op2 = { { 0, Single.NaN }, { 1, 1 } };
+ float[, ,] f_arr3d_test3_op2 = { { { 0, Single.NaN }, { 1, 1 } } };
+
+ int[,] index = { { 0, 0 }, { 1, 1 } };
+
+ {
+ float f_l_test1_op1 = Single.PositiveInfinity;
+ float f_l_test1_op2 = 0;
+ if (!Single.IsNaN(f_l_test1_op1 * f_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 1 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test1_op1 * f_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 2 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test1_op1 * f_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 3 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test1_op1 * cl1.f_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 4 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test1_op1 * vt1.f_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 5 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test1_op1 * f_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 6 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test1_op1 * f_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 7 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test1_op1 * f_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 8 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test1_op1 * f_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 9 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test1_op1 * f_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 10 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test1_op1 * f_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 11 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test1_op1 * cl1.f_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 12 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test1_op1 * vt1.f_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 13 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test1_op1 * f_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 14 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test1_op1 * f_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 15 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test1_op1 * f_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 16 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test1_f("test1_op1") * f_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 17 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test1_f("test1_op1") * f_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 18 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test1_f("test1_op1") * f_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 19 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test1_f("test1_op1") * cl1.f_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 20 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test1_f("test1_op1") * vt1.f_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 21 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test1_f("test1_op1") * f_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 22 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test1_f("test1_op1") * f_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 23 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test1_f("test1_op1") * f_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 24 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test1_op1 * f_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 25 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test1_op1 * f_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 26 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test1_op1 * f_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 27 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test1_op1 * cl1.f_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 28 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test1_op1 * vt1.f_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 29 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test1_op1 * f_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 30 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test1_op1 * f_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 31 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test1_op1 * f_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 32 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test1_op1 * f_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 33 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test1_op1 * f_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 34 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test1_op1 * f_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 35 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test1_op1 * cl1.f_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 36 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test1_op1 * vt1.f_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 37 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test1_op1 * f_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 38 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test1_op1 * f_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 39 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test1_op1 * f_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 40 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test1_op1[1] * f_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 41 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test1_op1[1] * f_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 42 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test1_op1[1] * f_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 43 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test1_op1[1] * cl1.f_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 44 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test1_op1[1] * vt1.f_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 45 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test1_op1[1] * f_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 46 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test1_op1[1] * f_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 47 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test1_op1[1] * f_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 48 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test1_op1[index[0, 1], index[1, 0]] * f_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 49 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test1_op1[index[0, 1], index[1, 0]] * f_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 50 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test1_op1[index[0, 1], index[1, 0]] * f_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 51 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test1_op1[index[0, 1], index[1, 0]] * cl1.f_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 52 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test1_op1[index[0, 1], index[1, 0]] * vt1.f_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 53 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test1_op1[index[0, 1], index[1, 0]] * f_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 54 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test1_op1[index[0, 1], index[1, 0]] * f_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 55 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test1_op1[index[0, 1], index[1, 0]] * f_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 56 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] * f_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 57 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] * f_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 58 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] * f_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 59 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] * cl1.f_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 60 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] * vt1.f_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 61 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] * f_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 62 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] * f_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 63 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] * f_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 64 failed");
+ passed = false;
+ }
+ }
+
+ {
+ float f_l_test2_op1 = Single.NegativeInfinity;
+ float f_l_test2_op2 = 0;
+ if (!Single.IsNaN(f_l_test2_op1 * f_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 1 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test2_op1 * f_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 2 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test2_op1 * f_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 3 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test2_op1 * cl1.f_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 4 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test2_op1 * vt1.f_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 5 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test2_op1 * f_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 6 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test2_op1 * f_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 7 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test2_op1 * f_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 8 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test2_op1 * f_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 9 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test2_op1 * f_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 10 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test2_op1 * f_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 11 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test2_op1 * cl1.f_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 12 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test2_op1 * vt1.f_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 13 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test2_op1 * f_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 14 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test2_op1 * f_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 15 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test2_op1 * f_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 16 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test2_f("test2_op1") * f_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 17 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test2_f("test2_op1") * f_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 18 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test2_f("test2_op1") * f_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 19 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test2_f("test2_op1") * cl1.f_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 20 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test2_f("test2_op1") * vt1.f_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 21 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test2_f("test2_op1") * f_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 22 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test2_f("test2_op1") * f_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 23 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test2_f("test2_op1") * f_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 24 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test2_op1 * f_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 25 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test2_op1 * f_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 26 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test2_op1 * f_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 27 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test2_op1 * cl1.f_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 28 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test2_op1 * vt1.f_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 29 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test2_op1 * f_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 30 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test2_op1 * f_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 31 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test2_op1 * f_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 32 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test2_op1 * f_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 33 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test2_op1 * f_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 34 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test2_op1 * f_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 35 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test2_op1 * cl1.f_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 36 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test2_op1 * vt1.f_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 37 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test2_op1 * f_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 38 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test2_op1 * f_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 39 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test2_op1 * f_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 40 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test2_op1[1] * f_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 41 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test2_op1[1] * f_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 42 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test2_op1[1] * f_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 43 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test2_op1[1] * cl1.f_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 44 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test2_op1[1] * vt1.f_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 45 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test2_op1[1] * f_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 46 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test2_op1[1] * f_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 47 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test2_op1[1] * f_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 48 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test2_op1[index[0, 1], index[1, 0]] * f_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 49 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test2_op1[index[0, 1], index[1, 0]] * f_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 50 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test2_op1[index[0, 1], index[1, 0]] * f_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 51 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test2_op1[index[0, 1], index[1, 0]] * cl1.f_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 52 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test2_op1[index[0, 1], index[1, 0]] * vt1.f_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 53 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test2_op1[index[0, 1], index[1, 0]] * f_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 54 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test2_op1[index[0, 1], index[1, 0]] * f_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 55 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test2_op1[index[0, 1], index[1, 0]] * f_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 56 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] * f_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 57 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] * f_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 58 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] * f_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 59 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] * cl1.f_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 60 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] * vt1.f_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 61 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] * f_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 62 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] * f_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 63 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] * f_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 64 failed");
+ passed = false;
+ }
+ }
+
+ {
+ float f_l_test3_op1 = 3;
+ float f_l_test3_op2 = Single.NaN;
+ if (!Single.IsNaN(f_l_test3_op1 * f_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 1 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test3_op1 * f_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 2 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test3_op1 * f_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 3 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test3_op1 * cl1.f_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 4 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test3_op1 * vt1.f_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 5 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test3_op1 * f_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 6 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test3_op1 * f_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 7 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test3_op1 * f_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 8 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test3_op1 * f_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 9 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test3_op1 * f_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 10 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test3_op1 * f_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 11 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test3_op1 * cl1.f_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 12 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test3_op1 * vt1.f_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 13 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test3_op1 * f_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 14 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test3_op1 * f_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 15 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test3_op1 * f_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 16 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test3_f("test3_op1") * f_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 17 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test3_f("test3_op1") * f_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 18 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test3_f("test3_op1") * f_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 19 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test3_f("test3_op1") * cl1.f_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 20 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test3_f("test3_op1") * vt1.f_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 21 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test3_f("test3_op1") * f_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 22 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test3_f("test3_op1") * f_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 23 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test3_f("test3_op1") * f_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 24 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test3_op1 * f_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 25 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test3_op1 * f_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 26 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test3_op1 * f_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 27 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test3_op1 * cl1.f_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 28 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test3_op1 * vt1.f_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 29 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test3_op1 * f_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 30 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test3_op1 * f_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 31 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test3_op1 * f_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 32 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test3_op1 * f_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 33 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test3_op1 * f_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 34 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test3_op1 * f_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 35 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test3_op1 * cl1.f_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 36 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test3_op1 * vt1.f_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 37 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test3_op1 * f_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 38 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test3_op1 * f_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 39 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test3_op1 * f_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 40 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test3_op1[1] * f_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 41 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test3_op1[1] * f_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 42 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test3_op1[1] * f_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 43 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test3_op1[1] * cl1.f_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 44 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test3_op1[1] * vt1.f_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 45 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test3_op1[1] * f_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 46 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test3_op1[1] * f_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 47 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test3_op1[1] * f_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 48 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test3_op1[index[0, 1], index[1, 0]] * f_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 49 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test3_op1[index[0, 1], index[1, 0]] * f_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 50 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test3_op1[index[0, 1], index[1, 0]] * f_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 51 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test3_op1[index[0, 1], index[1, 0]] * cl1.f_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 52 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test3_op1[index[0, 1], index[1, 0]] * vt1.f_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 53 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test3_op1[index[0, 1], index[1, 0]] * f_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 54 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test3_op1[index[0, 1], index[1, 0]] * f_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 55 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test3_op1[index[0, 1], index[1, 0]] * f_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 56 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] * f_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 57 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] * f_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 58 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] * f_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 59 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] * cl1.f_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 60 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] * vt1.f_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 61 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] * f_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 62 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] * f_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 63 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] * f_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 64 failed");
+ passed = false;
+ }
+ }
+
+ if (!passed)
+ {
+ Console.WriteLine("FAILED");
+ return 1;
+ }
+ else
+ {
+ Console.WriteLine("PASSED");
+ return 100;
+ }
+ }
+}
--- /dev/null
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+class r4NaNrem
+{
+
+ //user-defined class that overloads operator %
+ public class numHolder
+ {
+ float f_num;
+ public numHolder(float f_num)
+ {
+ this.f_num = Convert.ToSingle(f_num);
+ }
+
+ public static float operator %(numHolder a, float b)
+ {
+ return a.f_num % b;
+ }
+
+ public static float operator %(numHolder a, numHolder b)
+ {
+ return a.f_num % b.f_num;
+ }
+
+ }
+
+ static float f_s_test1_op1 = Single.NaN;
+ static float f_s_test1_op2 = 7.1234567F;
+ static float f_s_test2_op1 = -2.0F;
+ static float f_s_test2_op2 = 0.0F;
+ static float f_s_test3_op1 = Single.PositiveInfinity;
+ static float f_s_test3_op2 = 0.0F;
+
+ public static float f_test1_f(String s)
+ {
+ if (s == "test1_op1")
+ return Single.NaN;
+ else
+ return 7.1234567F;
+ }
+
+ public static float f_test2_f(String s)
+ {
+ if (s == "test2_op1")
+ return -2.0F;
+ else
+ return 0.0F;
+ }
+
+ public static float f_test3_f(String s)
+ {
+ if (s == "test3_op1")
+ return Single.PositiveInfinity;
+ else
+ return 0.0F;
+ }
+
+ class CL
+ {
+ public float f_cl_test1_op1 = Single.NaN;
+ public float f_cl_test1_op2 = 7.1234567F;
+ public float f_cl_test2_op1 = -2.0F;
+ public float f_cl_test2_op2 = 0.0F;
+ public float f_cl_test3_op1 = Single.PositiveInfinity;
+ public float f_cl_test3_op2 = 0.0F;
+ }
+
+ struct VT
+ {
+ public float f_vt_test1_op1;
+ public float f_vt_test1_op2;
+ public float f_vt_test2_op1;
+ public float f_vt_test2_op2;
+ public float f_vt_test3_op1;
+ public float f_vt_test3_op2;
+ }
+
+ public static int Main()
+ {
+ bool passed = true;
+ //initialize class
+ CL cl1 = new CL();
+ //initialize struct
+ VT vt1;
+ vt1.f_vt_test1_op1 = Single.NaN;
+ vt1.f_vt_test1_op2 = 7.1234567F;
+ vt1.f_vt_test2_op1 = -2.0F;
+ vt1.f_vt_test2_op2 = 0.0F;
+ vt1.f_vt_test3_op1 = Single.PositiveInfinity;
+ vt1.f_vt_test3_op2 = 0.0F;
+
+ float[] f_arr1d_test1_op1 = { 0, Single.NaN };
+ float[,] f_arr2d_test1_op1 = { { 0, Single.NaN }, { 1, 1 } };
+ float[, ,] f_arr3d_test1_op1 = { { { 0, Single.NaN }, { 1, 1 } } };
+
+ float[] f_arr1d_test1_op2 = { 7.1234567F, 0, 1 };
+ float[,] f_arr2d_test1_op2 = { { 0, 7.1234567F }, { 1, 1 } };
+ float[, ,] f_arr3d_test1_op2 = { { { 0, 7.1234567F }, { 1, 1 } } };
+
+ float[] f_arr1d_test2_op1 = { 0, -2.0F };
+ float[,] f_arr2d_test2_op1 = { { 0, -2.0F }, { 1, 1 } };
+ float[, ,] f_arr3d_test2_op1 = { { { 0, -2.0F }, { 1, 1 } } };
+
+ float[] f_arr1d_test2_op2 = { 0.0F, 0, 1 };
+ float[,] f_arr2d_test2_op2 = { { 0, 0.0F }, { 1, 1 } };
+ float[, ,] f_arr3d_test2_op2 = { { { 0, 0.0F }, { 1, 1 } } };
+
+ float[] f_arr1d_test3_op1 = { 0, Single.PositiveInfinity };
+ float[,] f_arr2d_test3_op1 = { { 0, Single.PositiveInfinity }, { 1, 1 } };
+ float[, ,] f_arr3d_test3_op1 = { { { 0, Single.PositiveInfinity }, { 1, 1 } } };
+
+ float[] f_arr1d_test3_op2 = { 0.0F, 0, 1 };
+ float[,] f_arr2d_test3_op2 = { { 0, 0.0F }, { 1, 1 } };
+ float[, ,] f_arr3d_test3_op2 = { { { 0, 0.0F }, { 1, 1 } } };
+
+ int[,] index = { { 0, 0 }, { 1, 1 } };
+
+ {
+ float f_l_test1_op1 = Single.NaN;
+ float f_l_test1_op2 = 7.1234567F;
+ if (!Single.IsNaN(f_l_test1_op1 % f_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 1 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test1_op1 % f_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 2 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test1_op1 % f_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 3 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test1_op1 % cl1.f_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 4 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test1_op1 % vt1.f_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 5 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test1_op1 % f_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 6 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test1_op1 % f_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 7 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test1_op1 % f_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 8 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test1_op1 % f_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 9 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test1_op1 % f_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 10 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test1_op1 % f_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 11 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test1_op1 % cl1.f_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 12 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test1_op1 % vt1.f_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 13 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test1_op1 % f_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 14 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test1_op1 % f_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 15 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test1_op1 % f_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 16 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test1_f("test1_op1") % f_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 17 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test1_f("test1_op1") % f_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 18 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test1_f("test1_op1") % f_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 19 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test1_f("test1_op1") % cl1.f_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 20 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test1_f("test1_op1") % vt1.f_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 21 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test1_f("test1_op1") % f_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 22 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test1_f("test1_op1") % f_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 23 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test1_f("test1_op1") % f_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 24 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test1_op1 % f_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 25 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test1_op1 % f_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 26 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test1_op1 % f_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 27 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test1_op1 % cl1.f_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 28 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test1_op1 % vt1.f_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 29 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test1_op1 % f_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 30 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test1_op1 % f_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 31 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test1_op1 % f_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 32 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test1_op1 % f_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 33 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test1_op1 % f_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 34 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test1_op1 % f_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 35 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test1_op1 % cl1.f_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 36 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test1_op1 % vt1.f_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 37 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test1_op1 % f_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 38 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test1_op1 % f_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 39 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test1_op1 % f_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 40 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test1_op1[1] % f_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 41 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test1_op1[1] % f_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 42 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test1_op1[1] % f_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 43 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test1_op1[1] % cl1.f_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 44 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test1_op1[1] % vt1.f_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 45 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test1_op1[1] % f_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 46 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test1_op1[1] % f_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 47 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test1_op1[1] % f_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 48 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test1_op1[index[0, 1], index[1, 0]] % f_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 49 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test1_op1[index[0, 1], index[1, 0]] % f_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 50 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test1_op1[index[0, 1], index[1, 0]] % f_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 51 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test1_op1[index[0, 1], index[1, 0]] % cl1.f_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 52 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test1_op1[index[0, 1], index[1, 0]] % vt1.f_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 53 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test1_op1[index[0, 1], index[1, 0]] % f_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 54 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test1_op1[index[0, 1], index[1, 0]] % f_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 55 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test1_op1[index[0, 1], index[1, 0]] % f_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 56 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] % f_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 57 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] % f_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 58 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] % f_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 59 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] % cl1.f_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 60 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] % vt1.f_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 61 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] % f_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 62 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] % f_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 63 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] % f_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 64 failed");
+ passed = false;
+ }
+ }
+
+ {
+ float f_l_test2_op1 = -2.0F;
+ float f_l_test2_op2 = 0.0F;
+ if (!Single.IsNaN(f_l_test2_op1 % f_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 1 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test2_op1 % f_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 2 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test2_op1 % f_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 3 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test2_op1 % cl1.f_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 4 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test2_op1 % vt1.f_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 5 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test2_op1 % f_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 6 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test2_op1 % f_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 7 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test2_op1 % f_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 8 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test2_op1 % f_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 9 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test2_op1 % f_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 10 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test2_op1 % f_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 11 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test2_op1 % cl1.f_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 12 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test2_op1 % vt1.f_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 13 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test2_op1 % f_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 14 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test2_op1 % f_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 15 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test2_op1 % f_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 16 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test2_f("test2_op1") % f_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 17 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test2_f("test2_op1") % f_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 18 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test2_f("test2_op1") % f_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 19 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test2_f("test2_op1") % cl1.f_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 20 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test2_f("test2_op1") % vt1.f_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 21 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test2_f("test2_op1") % f_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 22 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test2_f("test2_op1") % f_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 23 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test2_f("test2_op1") % f_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 24 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test2_op1 % f_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 25 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test2_op1 % f_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 26 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test2_op1 % f_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 27 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test2_op1 % cl1.f_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 28 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test2_op1 % vt1.f_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 29 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test2_op1 % f_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 30 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test2_op1 % f_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 31 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test2_op1 % f_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 32 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test2_op1 % f_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 33 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test2_op1 % f_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 34 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test2_op1 % f_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 35 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test2_op1 % cl1.f_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 36 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test2_op1 % vt1.f_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 37 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test2_op1 % f_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 38 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test2_op1 % f_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 39 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test2_op1 % f_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 40 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test2_op1[1] % f_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 41 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test2_op1[1] % f_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 42 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test2_op1[1] % f_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 43 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test2_op1[1] % cl1.f_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 44 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test2_op1[1] % vt1.f_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 45 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test2_op1[1] % f_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 46 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test2_op1[1] % f_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 47 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test2_op1[1] % f_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 48 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test2_op1[index[0, 1], index[1, 0]] % f_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 49 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test2_op1[index[0, 1], index[1, 0]] % f_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 50 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test2_op1[index[0, 1], index[1, 0]] % f_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 51 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test2_op1[index[0, 1], index[1, 0]] % cl1.f_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 52 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test2_op1[index[0, 1], index[1, 0]] % vt1.f_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 53 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test2_op1[index[0, 1], index[1, 0]] % f_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 54 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test2_op1[index[0, 1], index[1, 0]] % f_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 55 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test2_op1[index[0, 1], index[1, 0]] % f_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 56 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] % f_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 57 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] % f_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 58 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] % f_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 59 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] % cl1.f_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 60 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] % vt1.f_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 61 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] % f_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 62 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] % f_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 63 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] % f_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 64 failed");
+ passed = false;
+ }
+ }
+
+ {
+ float f_l_test3_op1 = Single.PositiveInfinity;
+ float f_l_test3_op2 = 0.0F;
+ if (!Single.IsNaN(f_l_test3_op1 % f_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 1 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test3_op1 % f_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 2 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test3_op1 % f_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 3 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test3_op1 % cl1.f_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 4 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test3_op1 % vt1.f_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 5 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test3_op1 % f_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 6 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test3_op1 % f_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 7 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test3_op1 % f_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 8 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test3_op1 % f_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 9 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test3_op1 % f_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 10 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test3_op1 % f_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 11 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test3_op1 % cl1.f_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 12 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test3_op1 % vt1.f_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 13 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test3_op1 % f_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 14 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test3_op1 % f_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 15 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test3_op1 % f_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 16 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test3_f("test3_op1") % f_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 17 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test3_f("test3_op1") % f_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 18 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test3_f("test3_op1") % f_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 19 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test3_f("test3_op1") % cl1.f_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 20 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test3_f("test3_op1") % vt1.f_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 21 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test3_f("test3_op1") % f_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 22 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test3_f("test3_op1") % f_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 23 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test3_f("test3_op1") % f_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 24 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test3_op1 % f_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 25 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test3_op1 % f_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 26 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test3_op1 % f_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 27 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test3_op1 % cl1.f_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 28 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test3_op1 % vt1.f_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 29 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test3_op1 % f_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 30 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test3_op1 % f_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 31 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test3_op1 % f_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 32 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test3_op1 % f_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 33 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test3_op1 % f_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 34 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test3_op1 % f_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 35 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test3_op1 % cl1.f_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 36 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test3_op1 % vt1.f_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 37 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test3_op1 % f_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 38 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test3_op1 % f_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 39 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test3_op1 % f_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 40 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test3_op1[1] % f_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 41 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test3_op1[1] % f_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 42 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test3_op1[1] % f_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 43 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test3_op1[1] % cl1.f_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 44 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test3_op1[1] % vt1.f_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 45 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test3_op1[1] % f_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 46 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test3_op1[1] % f_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 47 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test3_op1[1] % f_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 48 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test3_op1[index[0, 1], index[1, 0]] % f_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 49 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test3_op1[index[0, 1], index[1, 0]] % f_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 50 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test3_op1[index[0, 1], index[1, 0]] % f_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 51 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test3_op1[index[0, 1], index[1, 0]] % cl1.f_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 52 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test3_op1[index[0, 1], index[1, 0]] % vt1.f_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 53 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test3_op1[index[0, 1], index[1, 0]] % f_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 54 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test3_op1[index[0, 1], index[1, 0]] % f_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 55 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test3_op1[index[0, 1], index[1, 0]] % f_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 56 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] % f_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 57 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] % f_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 58 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] % f_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 59 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] % cl1.f_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 60 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] % vt1.f_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 61 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] % f_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 62 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] % f_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 63 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] % f_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 64 failed");
+ passed = false;
+ }
+ }
+
+ if (!passed)
+ {
+ Console.WriteLine("FAILED");
+ return 1;
+ }
+ else
+ {
+ Console.WriteLine("PASSED");
+ return 100;
+ }
+ }
+}
--- /dev/null
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+class r4NaNsub
+{
+
+ //user-defined class that overloads operator -
+ public class numHolder
+ {
+ float f_num;
+ public numHolder(float f_num)
+ {
+ this.f_num = Convert.ToSingle(f_num);
+ }
+
+ public static float operator -(numHolder a, float b)
+ {
+ return a.f_num - b;
+ }
+
+ public static float operator -(numHolder a, numHolder b)
+ {
+ return a.f_num - b.f_num;
+ }
+
+ }
+
+ static float f_s_test1_op1 = Single.NegativeInfinity;
+ static float f_s_test1_op2 = Single.NegativeInfinity;
+ static float f_s_Test2_op1 = -3.4F;
+ static float f_s_Test2_op2 = Single.NaN;
+ static float f_s_test3_op1 = Single.NaN;
+ static float f_s_test3_op2 = Single.NaN;
+
+ public static float f_test1_f(String s)
+ {
+ if (s == "test1_op1")
+ return Single.NegativeInfinity;
+ else
+ return Single.NegativeInfinity;
+ }
+
+ public static float f_test2_f(String s)
+ {
+ if (s == "Test2_op1")
+ return -3.4F;
+ else
+ return Single.NaN;
+ }
+
+ public static float f_test3_f(String s)
+ {
+ if (s == "test3_op1")
+ return Single.NaN;
+ else
+ return Single.NaN;
+ }
+
+ class CL
+ {
+ public float f_cl_test1_op1 = Single.NegativeInfinity;
+ public float f_cl_test1_op2 = Single.NegativeInfinity;
+ public float f_cl_Test2_op1 = -3.4F;
+ public float f_cl_Test2_op2 = Single.NaN;
+ public float f_cl_test3_op1 = Single.NaN;
+ public float f_cl_test3_op2 = Single.NaN;
+ }
+
+ struct VT
+ {
+ public float f_vt_test1_op1;
+ public float f_vt_test1_op2;
+ public float f_vt_Test2_op1;
+ public float f_vt_Test2_op2;
+ public float f_vt_test3_op1;
+ public float f_vt_test3_op2;
+ }
+
+ public static int Main()
+ {
+ bool passed = true;
+ //initialize class
+ CL cl1 = new CL();
+ //initialize struct
+ VT vt1;
+ vt1.f_vt_test1_op1 = Single.NegativeInfinity;
+ vt1.f_vt_test1_op2 = Single.NegativeInfinity;
+ vt1.f_vt_Test2_op1 = -3.4F;
+ vt1.f_vt_Test2_op2 = Single.NaN;
+ vt1.f_vt_test3_op1 = Single.NaN;
+ vt1.f_vt_test3_op2 = Single.NaN;
+
+ float[] f_arr1d_test1_op1 = { 0, Single.NegativeInfinity };
+ float[,] f_arr2d_test1_op1 = { { 0, Single.NegativeInfinity }, { 1, 1 } };
+ float[, ,] f_arr3d_test1_op1 = { { { 0, Single.NegativeInfinity }, { 1, 1 } } };
+
+ float[] f_arr1d_test1_op2 = { Single.NegativeInfinity, 0, 1 };
+ float[,] f_arr2d_test1_op2 = { { 0, Single.NegativeInfinity }, { 1, 1 } };
+ float[, ,] f_arr3d_test1_op2 = { { { 0, Single.NegativeInfinity }, { 1, 1 } } };
+
+ float[] f_arr1d_Test2_op1 = { 0, -3.4F };
+ float[,] f_arr2d_Test2_op1 = { { 0, -3.4F }, { 1, 1 } };
+ float[, ,] f_arr3d_Test2_op1 = { { { 0, -3.4F }, { 1, 1 } } };
+
+ float[] f_arr1d_Test2_op2 = { Single.NaN, 0, 1 };
+ float[,] f_arr2d_Test2_op2 = { { 0, Single.NaN }, { 1, 1 } };
+ float[, ,] f_arr3d_Test2_op2 = { { { 0, Single.NaN }, { 1, 1 } } };
+
+ float[] f_arr1d_test3_op1 = { 0, Single.NaN };
+ float[,] f_arr2d_test3_op1 = { { 0, Single.NaN }, { 1, 1 } };
+ float[, ,] f_arr3d_test3_op1 = { { { 0, Single.NaN }, { 1, 1 } } };
+
+ float[] f_arr1d_test3_op2 = { Single.NaN, 0, 1 };
+ float[,] f_arr2d_test3_op2 = { { 0, Single.NaN }, { 1, 1 } };
+ float[, ,] f_arr3d_test3_op2 = { { { 0, Single.NaN }, { 1, 1 } } };
+
+ int[,] index = { { 0, 0 }, { 1, 1 } };
+
+ {
+ float f_l_test1_op1 = Single.NegativeInfinity;
+ float f_l_test1_op2 = Single.NegativeInfinity;
+ if (!Single.IsNaN(f_l_test1_op1 - f_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 1 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test1_op1 - f_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 2 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test1_op1 - f_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 3 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test1_op1 - cl1.f_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 4 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test1_op1 - vt1.f_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 5 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test1_op1 - f_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 6 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test1_op1 - f_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 7 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test1_op1 - f_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 8 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test1_op1 - f_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 9 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test1_op1 - f_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 10 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test1_op1 - f_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 11 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test1_op1 - cl1.f_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 12 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test1_op1 - vt1.f_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 13 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test1_op1 - f_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 14 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test1_op1 - f_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 15 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test1_op1 - f_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 16 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test1_f("test1_op1") - f_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 17 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test1_f("test1_op1") - f_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 18 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test1_f("test1_op1") - f_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 19 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test1_f("test1_op1") - cl1.f_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 20 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test1_f("test1_op1") - vt1.f_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 21 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test1_f("test1_op1") - f_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 22 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test1_f("test1_op1") - f_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 23 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test1_f("test1_op1") - f_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 24 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test1_op1 - f_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 25 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test1_op1 - f_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 26 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test1_op1 - f_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 27 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test1_op1 - cl1.f_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 28 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test1_op1 - vt1.f_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 29 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test1_op1 - f_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 30 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test1_op1 - f_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 31 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test1_op1 - f_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 32 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test1_op1 - f_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 33 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test1_op1 - f_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 34 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test1_op1 - f_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 35 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test1_op1 - cl1.f_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 36 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test1_op1 - vt1.f_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 37 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test1_op1 - f_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 38 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test1_op1 - f_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 39 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test1_op1 - f_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 40 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test1_op1[1] - f_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 41 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test1_op1[1] - f_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 42 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test1_op1[1] - f_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 43 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test1_op1[1] - cl1.f_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 44 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test1_op1[1] - vt1.f_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 45 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test1_op1[1] - f_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 46 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test1_op1[1] - f_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 47 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test1_op1[1] - f_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 48 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test1_op1[index[0, 1], index[1, 0]] - f_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 49 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test1_op1[index[0, 1], index[1, 0]] - f_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 50 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test1_op1[index[0, 1], index[1, 0]] - f_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 51 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test1_op1[index[0, 1], index[1, 0]] - cl1.f_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 52 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test1_op1[index[0, 1], index[1, 0]] - vt1.f_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 53 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test1_op1[index[0, 1], index[1, 0]] - f_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 54 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test1_op1[index[0, 1], index[1, 0]] - f_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 55 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test1_op1[index[0, 1], index[1, 0]] - f_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 56 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] - f_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 57 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] - f_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 58 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] - f_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 59 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] - cl1.f_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 60 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] - vt1.f_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 61 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] - f_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 62 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] - f_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 63 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] - f_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 64 failed");
+ passed = false;
+ }
+ }
+
+ {
+ float f_l_Test2_op1 = -3.4F;
+ float f_l_Test2_op2 = Single.NaN;
+ if (!Single.IsNaN(f_l_Test2_op1 - f_l_Test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 1 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_Test2_op1 - f_s_Test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 2 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_Test2_op1 - f_test2_f("Test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 3 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_Test2_op1 - cl1.f_cl_Test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 4 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_Test2_op1 - vt1.f_vt_Test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 5 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_Test2_op1 - f_arr1d_Test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 6 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_Test2_op1 - f_arr2d_Test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 7 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_Test2_op1 - f_arr3d_Test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 8 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_Test2_op1 - f_l_Test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 9 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_Test2_op1 - f_s_Test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 10 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_Test2_op1 - f_test2_f("Test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 11 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_Test2_op1 - cl1.f_cl_Test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 12 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_Test2_op1 - vt1.f_vt_Test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 13 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_Test2_op1 - f_arr1d_Test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 14 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_Test2_op1 - f_arr2d_Test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 15 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_Test2_op1 - f_arr3d_Test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 16 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test2_f("Test2_op1") - f_l_Test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 17 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test2_f("Test2_op1") - f_s_Test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 18 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test2_f("Test2_op1") - f_test2_f("Test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 19 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test2_f("Test2_op1") - cl1.f_cl_Test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 20 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test2_f("Test2_op1") - vt1.f_vt_Test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 21 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test2_f("Test2_op1") - f_arr1d_Test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 22 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test2_f("Test2_op1") - f_arr2d_Test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 23 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test2_f("Test2_op1") - f_arr3d_Test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 24 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_Test2_op1 - f_l_Test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 25 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_Test2_op1 - f_s_Test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 26 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_Test2_op1 - f_test2_f("Test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 27 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_Test2_op1 - cl1.f_cl_Test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 28 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_Test2_op1 - vt1.f_vt_Test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 29 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_Test2_op1 - f_arr1d_Test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 30 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_Test2_op1 - f_arr2d_Test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 31 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_Test2_op1 - f_arr3d_Test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 32 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_Test2_op1 - f_l_Test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 33 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_Test2_op1 - f_s_Test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 34 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_Test2_op1 - f_test2_f("Test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 35 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_Test2_op1 - cl1.f_cl_Test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 36 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_Test2_op1 - vt1.f_vt_Test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 37 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_Test2_op1 - f_arr1d_Test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 38 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_Test2_op1 - f_arr2d_Test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 39 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_Test2_op1 - f_arr3d_Test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 40 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_Test2_op1[1] - f_l_Test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 41 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_Test2_op1[1] - f_s_Test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 42 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_Test2_op1[1] - f_test2_f("Test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 43 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_Test2_op1[1] - cl1.f_cl_Test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 44 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_Test2_op1[1] - vt1.f_vt_Test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 45 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_Test2_op1[1] - f_arr1d_Test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 46 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_Test2_op1[1] - f_arr2d_Test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 47 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_Test2_op1[1] - f_arr3d_Test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 48 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_Test2_op1[index[0, 1], index[1, 0]] - f_l_Test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 49 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_Test2_op1[index[0, 1], index[1, 0]] - f_s_Test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 50 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_Test2_op1[index[0, 1], index[1, 0]] - f_test2_f("Test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 51 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_Test2_op1[index[0, 1], index[1, 0]] - cl1.f_cl_Test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 52 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_Test2_op1[index[0, 1], index[1, 0]] - vt1.f_vt_Test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 53 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_Test2_op1[index[0, 1], index[1, 0]] - f_arr1d_Test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 54 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_Test2_op1[index[0, 1], index[1, 0]] - f_arr2d_Test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 55 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_Test2_op1[index[0, 1], index[1, 0]] - f_arr3d_Test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 56 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_Test2_op1[index[0, 0], 0, index[1, 1]] - f_l_Test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 57 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_Test2_op1[index[0, 0], 0, index[1, 1]] - f_s_Test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 58 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_Test2_op1[index[0, 0], 0, index[1, 1]] - f_test2_f("Test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 59 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_Test2_op1[index[0, 0], 0, index[1, 1]] - cl1.f_cl_Test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 60 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_Test2_op1[index[0, 0], 0, index[1, 1]] - vt1.f_vt_Test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 61 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_Test2_op1[index[0, 0], 0, index[1, 1]] - f_arr1d_Test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 62 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_Test2_op1[index[0, 0], 0, index[1, 1]] - f_arr2d_Test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 63 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_Test2_op1[index[0, 0], 0, index[1, 1]] - f_arr3d_Test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 64 failed");
+ passed = false;
+ }
+ }
+
+ {
+ float f_l_test3_op1 = Single.NaN;
+ float f_l_test3_op2 = Single.NaN;
+ if (!Single.IsNaN(f_l_test3_op1 - f_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 1 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test3_op1 - f_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 2 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test3_op1 - f_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 3 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test3_op1 - cl1.f_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 4 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test3_op1 - vt1.f_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 5 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test3_op1 - f_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 6 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test3_op1 - f_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 7 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_l_test3_op1 - f_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 8 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test3_op1 - f_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 9 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test3_op1 - f_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 10 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test3_op1 - f_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 11 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test3_op1 - cl1.f_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 12 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test3_op1 - vt1.f_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 13 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test3_op1 - f_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 14 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test3_op1 - f_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 15 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_s_test3_op1 - f_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 16 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test3_f("test3_op1") - f_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 17 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test3_f("test3_op1") - f_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 18 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test3_f("test3_op1") - f_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 19 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test3_f("test3_op1") - cl1.f_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 20 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test3_f("test3_op1") - vt1.f_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 21 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test3_f("test3_op1") - f_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 22 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test3_f("test3_op1") - f_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 23 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_test3_f("test3_op1") - f_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 24 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test3_op1 - f_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 25 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test3_op1 - f_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 26 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test3_op1 - f_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 27 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test3_op1 - cl1.f_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 28 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test3_op1 - vt1.f_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 29 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test3_op1 - f_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 30 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test3_op1 - f_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 31 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(cl1.f_cl_test3_op1 - f_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 32 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test3_op1 - f_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 33 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test3_op1 - f_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 34 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test3_op1 - f_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 35 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test3_op1 - cl1.f_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 36 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test3_op1 - vt1.f_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 37 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test3_op1 - f_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 38 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test3_op1 - f_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 39 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(vt1.f_vt_test3_op1 - f_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 40 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test3_op1[1] - f_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 41 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test3_op1[1] - f_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 42 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test3_op1[1] - f_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 43 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test3_op1[1] - cl1.f_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 44 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test3_op1[1] - vt1.f_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 45 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test3_op1[1] - f_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 46 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test3_op1[1] - f_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 47 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr1d_test3_op1[1] - f_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 48 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test3_op1[index[0, 1], index[1, 0]] - f_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 49 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test3_op1[index[0, 1], index[1, 0]] - f_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 50 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test3_op1[index[0, 1], index[1, 0]] - f_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 51 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test3_op1[index[0, 1], index[1, 0]] - cl1.f_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 52 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test3_op1[index[0, 1], index[1, 0]] - vt1.f_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 53 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test3_op1[index[0, 1], index[1, 0]] - f_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 54 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test3_op1[index[0, 1], index[1, 0]] - f_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 55 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr2d_test3_op1[index[0, 1], index[1, 0]] - f_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 56 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] - f_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 57 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] - f_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 58 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] - f_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 59 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] - cl1.f_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 60 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] - vt1.f_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 61 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] - f_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 62 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] - f_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 63 failed");
+ passed = false;
+ }
+ if (!Single.IsNaN(f_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] - f_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 64 failed");
+ passed = false;
+ }
+ }
+
+
+ if (!passed)
+ {
+ Console.WriteLine("FAILED");
+ return 1;
+ }
+ else
+ {
+ Console.WriteLine("PASSED");
+ return 100;
+ }
+ }
+}
--- /dev/null
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+class r8NaNadd
+{
+
+ //user-defined class that overloads operator +
+ public class numHolder
+ {
+ double d_num;
+ public numHolder(double d_num)
+ {
+ this.d_num = Convert.ToSingle(d_num);
+ }
+
+ public static double operator +(numHolder a, double b)
+ {
+ return a.d_num + b;
+ }
+
+ public static double operator +(numHolder a, numHolder b)
+ {
+ return a.d_num + b.d_num;
+ }
+
+ }
+
+ static double d_s_test1_op1 = Double.NegativeInfinity;
+ static double d_s_test1_op2 = Double.PositiveInfinity;
+ static double d_s_test2_op1 = Double.PositiveInfinity;
+ static double d_s_test2_op2 = Double.NaN;
+ static double d_s_test3_op1 = Double.NaN;
+ static double d_s_test3_op2 = Double.NaN;
+
+ public static double d_test1_f(String s)
+ {
+ if (s == "test1_op1")
+ return Double.NegativeInfinity;
+ else
+ return Double.PositiveInfinity;
+ }
+
+ public static double d_test2_f(String s)
+ {
+ if (s == "test2_op1")
+ return Double.PositiveInfinity;
+ else
+ return Double.NaN;
+ }
+
+ public static double d_test3_f(String s)
+ {
+ if (s == "test3_op1")
+ return Double.NaN;
+ else
+ return Double.NaN;
+ }
+
+ class CL
+ {
+ public double d_cl_test1_op1 = Double.NegativeInfinity;
+ public double d_cl_test1_op2 = Double.PositiveInfinity;
+ public double d_cl_test2_op1 = Double.PositiveInfinity;
+ public double d_cl_test2_op2 = Double.NaN;
+ public double d_cl_test3_op1 = Double.NaN;
+ public double d_cl_test3_op2 = Double.NaN;
+ }
+
+ struct VT
+ {
+ public double d_vt_test1_op1;
+ public double d_vt_test1_op2;
+ public double d_vt_test2_op1;
+ public double d_vt_test2_op2;
+ public double d_vt_test3_op1;
+ public double d_vt_test3_op2;
+ }
+ public static int Main()
+ {
+ bool passed = true;
+ //initialize class
+ CL cl1 = new CL();
+ //initialize struct
+ VT vt1;
+ vt1.d_vt_test1_op1 = Double.NegativeInfinity;
+ vt1.d_vt_test1_op2 = Double.PositiveInfinity;
+ vt1.d_vt_test2_op1 = Double.PositiveInfinity;
+ vt1.d_vt_test2_op2 = Double.NaN;
+ vt1.d_vt_test3_op1 = Double.NaN;
+ vt1.d_vt_test3_op2 = Double.NaN;
+
+ double[] d_arr1d_test1_op1 = { 0, Double.NegativeInfinity };
+ double[,] d_arr2d_test1_op1 = { { 0, Double.NegativeInfinity }, { 1, 1 } };
+ double[, ,] d_arr3d_test1_op1 = { { { 0, Double.NegativeInfinity }, { 1, 1 } } };
+
+ double[] d_arr1d_test1_op2 = { Double.PositiveInfinity, 0, 1 };
+ double[,] d_arr2d_test1_op2 = { { 0, Double.PositiveInfinity }, { 1, 1 } };
+ double[, ,] d_arr3d_test1_op2 = { { { 0, Double.PositiveInfinity }, { 1, 1 } } };
+
+ double[] d_arr1d_test2_op1 = { 0, Double.PositiveInfinity };
+ double[,] d_arr2d_test2_op1 = { { 0, Double.PositiveInfinity }, { 1, 1 } };
+ double[, ,] d_arr3d_test2_op1 = { { { 0, Double.PositiveInfinity }, { 1, 1 } } };
+
+ double[] d_arr1d_test2_op2 = { Double.NaN, 0, 1 };
+ double[,] d_arr2d_test2_op2 = { { 0, Double.NaN }, { 1, 1 } };
+ double[, ,] d_arr3d_test2_op2 = { { { 0, Double.NaN }, { 1, 1 } } };
+
+ double[] d_arr1d_test3_op1 = { 0, Double.NaN };
+ double[,] d_arr2d_test3_op1 = { { 0, Double.NaN }, { 1, 1 } };
+ double[, ,] d_arr3d_test3_op1 = { { { 0, Double.NaN }, { 1, 1 } } };
+
+ double[] d_arr1d_test3_op2 = { Double.NaN, 0, 1 };
+ double[,] d_arr2d_test3_op2 = { { 0, Double.NaN }, { 1, 1 } };
+ double[, ,] d_arr3d_test3_op2 = { { { 0, Double.NaN }, { 1, 1 } } };
+
+ int[,] index = { { 0, 0 }, { 1, 1 } };
+
+ {
+ double d_l_test1_op1 = Double.NegativeInfinity;
+ double d_l_test1_op2 = Double.PositiveInfinity;
+ if (!Double.IsNaN(d_l_test1_op1 + d_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 1 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test1_op1 + d_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 2 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test1_op1 + d_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 3 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test1_op1 + cl1.d_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 4 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test1_op1 + vt1.d_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 5 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test1_op1 + d_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 6 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test1_op1 + d_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 7 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test1_op1 + d_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 8 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test1_op1 + d_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 9 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test1_op1 + d_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 10 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test1_op1 + d_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 11 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test1_op1 + cl1.d_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 12 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test1_op1 + vt1.d_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 13 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test1_op1 + d_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 14 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test1_op1 + d_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 15 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test1_op1 + d_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 16 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test1_f("test1_op1") + d_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 17 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test1_f("test1_op1") + d_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 18 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test1_f("test1_op1") + d_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 19 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test1_f("test1_op1") + cl1.d_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 20 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test1_f("test1_op1") + vt1.d_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 21 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test1_f("test1_op1") + d_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 22 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test1_f("test1_op1") + d_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 23 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test1_f("test1_op1") + d_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 24 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test1_op1 + d_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 25 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test1_op1 + d_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 26 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test1_op1 + d_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 27 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test1_op1 + cl1.d_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 28 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test1_op1 + vt1.d_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 29 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test1_op1 + d_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 30 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test1_op1 + d_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 31 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test1_op1 + d_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 32 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test1_op1 + d_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 33 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test1_op1 + d_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 34 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test1_op1 + d_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 35 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test1_op1 + cl1.d_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 36 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test1_op1 + vt1.d_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 37 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test1_op1 + d_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 38 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test1_op1 + d_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 39 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test1_op1 + d_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 40 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test1_op1[1] + d_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 41 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test1_op1[1] + d_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 42 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test1_op1[1] + d_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 43 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test1_op1[1] + cl1.d_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 44 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test1_op1[1] + vt1.d_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 45 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test1_op1[1] + d_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 46 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test1_op1[1] + d_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 47 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test1_op1[1] + d_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 48 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test1_op1[index[0, 1], index[1, 0]] + d_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 49 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test1_op1[index[0, 1], index[1, 0]] + d_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 50 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test1_op1[index[0, 1], index[1, 0]] + d_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 51 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test1_op1[index[0, 1], index[1, 0]] + cl1.d_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 52 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test1_op1[index[0, 1], index[1, 0]] + vt1.d_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 53 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test1_op1[index[0, 1], index[1, 0]] + d_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 54 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test1_op1[index[0, 1], index[1, 0]] + d_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 55 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test1_op1[index[0, 1], index[1, 0]] + d_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 56 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] + d_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 57 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] + d_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 58 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] + d_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 59 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] + cl1.d_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 60 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] + vt1.d_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 61 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] + d_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 62 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] + d_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 63 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] + d_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 64 failed");
+ passed = false;
+ }
+ }
+
+ {
+ double d_l_test2_op1 = Double.PositiveInfinity;
+ double d_l_test2_op2 = Double.NaN;
+ if (!Double.IsNaN(d_l_test2_op1 + d_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 1 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test2_op1 + d_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 2 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test2_op1 + d_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 3 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test2_op1 + cl1.d_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 4 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test2_op1 + vt1.d_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 5 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test2_op1 + d_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 6 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test2_op1 + d_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 7 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test2_op1 + d_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 8 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test2_op1 + d_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 9 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test2_op1 + d_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 10 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test2_op1 + d_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 11 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test2_op1 + cl1.d_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 12 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test2_op1 + vt1.d_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 13 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test2_op1 + d_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 14 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test2_op1 + d_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 15 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test2_op1 + d_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 16 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test2_f("test2_op1") + d_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 17 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test2_f("test2_op1") + d_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 18 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test2_f("test2_op1") + d_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 19 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test2_f("test2_op1") + cl1.d_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 20 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test2_f("test2_op1") + vt1.d_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 21 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test2_f("test2_op1") + d_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 22 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test2_f("test2_op1") + d_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 23 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test2_f("test2_op1") + d_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 24 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test2_op1 + d_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 25 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test2_op1 + d_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 26 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test2_op1 + d_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 27 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test2_op1 + cl1.d_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 28 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test2_op1 + vt1.d_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 29 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test2_op1 + d_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 30 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test2_op1 + d_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 31 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test2_op1 + d_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 32 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test2_op1 + d_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 33 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test2_op1 + d_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 34 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test2_op1 + d_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 35 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test2_op1 + cl1.d_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 36 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test2_op1 + vt1.d_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 37 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test2_op1 + d_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 38 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test2_op1 + d_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 39 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test2_op1 + d_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 40 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test2_op1[1] + d_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 41 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test2_op1[1] + d_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 42 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test2_op1[1] + d_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 43 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test2_op1[1] + cl1.d_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 44 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test2_op1[1] + vt1.d_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 45 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test2_op1[1] + d_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 46 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test2_op1[1] + d_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 47 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test2_op1[1] + d_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 48 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test2_op1[index[0, 1], index[1, 0]] + d_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 49 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test2_op1[index[0, 1], index[1, 0]] + d_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 50 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test2_op1[index[0, 1], index[1, 0]] + d_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 51 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test2_op1[index[0, 1], index[1, 0]] + cl1.d_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 52 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test2_op1[index[0, 1], index[1, 0]] + vt1.d_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 53 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test2_op1[index[0, 1], index[1, 0]] + d_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 54 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test2_op1[index[0, 1], index[1, 0]] + d_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 55 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test2_op1[index[0, 1], index[1, 0]] + d_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 56 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] + d_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 57 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] + d_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 58 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] + d_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 59 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] + cl1.d_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 60 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] + vt1.d_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 61 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] + d_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 62 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] + d_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 63 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] + d_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 64 failed");
+ passed = false;
+ }
+ }
+
+ {
+ double d_l_test3_op1 = Double.NaN;
+ double d_l_test3_op2 = Double.NaN;
+ if (!Double.IsNaN(d_l_test3_op1 + d_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 1 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test3_op1 + d_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 2 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test3_op1 + d_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 3 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test3_op1 + cl1.d_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 4 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test3_op1 + vt1.d_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 5 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test3_op1 + d_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 6 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test3_op1 + d_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 7 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test3_op1 + d_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 8 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test3_op1 + d_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 9 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test3_op1 + d_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 10 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test3_op1 + d_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 11 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test3_op1 + cl1.d_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 12 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test3_op1 + vt1.d_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 13 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test3_op1 + d_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 14 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test3_op1 + d_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 15 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test3_op1 + d_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 16 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test3_f("test3_op1") + d_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 17 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test3_f("test3_op1") + d_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 18 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test3_f("test3_op1") + d_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 19 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test3_f("test3_op1") + cl1.d_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 20 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test3_f("test3_op1") + vt1.d_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 21 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test3_f("test3_op1") + d_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 22 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test3_f("test3_op1") + d_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 23 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test3_f("test3_op1") + d_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 24 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test3_op1 + d_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 25 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test3_op1 + d_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 26 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test3_op1 + d_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 27 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test3_op1 + cl1.d_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 28 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test3_op1 + vt1.d_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 29 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test3_op1 + d_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 30 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test3_op1 + d_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 31 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test3_op1 + d_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 32 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test3_op1 + d_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 33 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test3_op1 + d_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 34 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test3_op1 + d_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 35 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test3_op1 + cl1.d_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 36 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test3_op1 + vt1.d_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 37 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test3_op1 + d_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 38 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test3_op1 + d_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 39 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test3_op1 + d_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 40 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test3_op1[1] + d_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 41 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test3_op1[1] + d_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 42 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test3_op1[1] + d_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 43 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test3_op1[1] + cl1.d_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 44 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test3_op1[1] + vt1.d_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 45 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test3_op1[1] + d_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 46 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test3_op1[1] + d_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 47 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test3_op1[1] + d_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 48 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test3_op1[index[0, 1], index[1, 0]] + d_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 49 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test3_op1[index[0, 1], index[1, 0]] + d_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 50 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test3_op1[index[0, 1], index[1, 0]] + d_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 51 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test3_op1[index[0, 1], index[1, 0]] + cl1.d_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 52 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test3_op1[index[0, 1], index[1, 0]] + vt1.d_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 53 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test3_op1[index[0, 1], index[1, 0]] + d_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 54 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test3_op1[index[0, 1], index[1, 0]] + d_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 55 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test3_op1[index[0, 1], index[1, 0]] + d_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 56 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] + d_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 57 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] + d_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 58 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] + d_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 59 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] + cl1.d_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 60 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] + vt1.d_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 61 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] + d_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 62 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] + d_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 63 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] + d_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 64 failed");
+ passed = false;
+ }
+ }
+
+ if (!passed)
+ {
+ Console.WriteLine("FAILED");
+ return 1;
+ }
+ else
+ {
+ Console.WriteLine("PASSED");
+ return 100;
+ }
+ }
+}
--- /dev/null
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+class r8NaNdiv
+{
+
+ //user-defined class that overloads operator /
+ public class numHolder
+ {
+ double d_num;
+ public numHolder(double d_num)
+ {
+ this.d_num = Convert.ToDouble(d_num);
+ }
+
+ public static double operator /(numHolder a, double b)
+ {
+ return a.d_num / b;
+ }
+
+ public static double operator /(numHolder a, numHolder b)
+ {
+ return a.d_num / b.d_num;
+ }
+
+ }
+
+ static double d_s_test1_op1 = Double.NaN;
+ static double d_s_test1_op2 = Double.NaN;
+ static double d_s_test2_op1 = 5.12345678F;
+ static double d_s_test2_op2 = Double.NaN;
+ static double d_s_test3_op1 = Double.NaN;
+ static double d_s_test3_op2 = 0;
+
+ public static double d_test1_f(String s)
+ {
+ if (s == "test1_op1")
+ return Double.NaN;
+ else
+ return Double.NaN;
+ }
+
+ public static double d_test2_f(String s)
+ {
+ if (s == "test2_op1")
+ return 5.12345678F;
+ else
+ return Double.NaN;
+ }
+
+ public static double d_test3_f(String s)
+ {
+ if (s == "test3_op1")
+ return Double.NaN;
+ else
+ return 0;
+ }
+
+ class CL
+ {
+ public double d_cl_test1_op1 = Double.NaN;
+ public double d_cl_test1_op2 = Double.NaN;
+ public double d_cl_test2_op1 = 5.12345678F;
+ public double d_cl_test2_op2 = Double.NaN;
+ public double d_cl_test3_op1 = Double.NaN;
+ public double d_cl_test3_op2 = 0;
+ }
+
+ struct VT
+ {
+ public double d_vt_test1_op1;
+ public double d_vt_test1_op2;
+ public double d_vt_test2_op1;
+ public double d_vt_test2_op2;
+ public double d_vt_test3_op1;
+ public double d_vt_test3_op2;
+ }
+
+ public static int Main()
+ {
+ bool passed = true;
+ //initialize class
+ CL cl1 = new CL();
+ //initialize struct
+ VT vt1;
+ vt1.d_vt_test1_op1 = Double.NaN;
+ vt1.d_vt_test1_op2 = Double.NaN;
+ vt1.d_vt_test2_op1 = 5.12345678F;
+ vt1.d_vt_test2_op2 = Double.NaN;
+ vt1.d_vt_test3_op1 = Double.NaN;
+ vt1.d_vt_test3_op2 = 0;
+
+ double[] d_arr1d_test1_op1 = { 0, Double.NaN };
+ double[,] d_arr2d_test1_op1 = { { 0, Double.NaN }, { 1, 1 } };
+ double[, ,] d_arr3d_test1_op1 = { { { 0, Double.NaN }, { 1, 1 } } };
+
+ double[] d_arr1d_test1_op2 = { Double.NaN, 0, 1 };
+ double[,] d_arr2d_test1_op2 = { { 0, Double.NaN }, { 1, 1 } };
+ double[, ,] d_arr3d_test1_op2 = { { { 0, Double.NaN }, { 1, 1 } } };
+
+ double[] d_arr1d_test2_op1 = { 0, 5.12345678F };
+ double[,] d_arr2d_test2_op1 = { { 0, 5.12345678F }, { 1, 1 } };
+ double[, ,] d_arr3d_test2_op1 = { { { 0, 5.12345678F }, { 1, 1 } } };
+
+ double[] d_arr1d_test2_op2 = { Double.NaN, 0, 1 };
+ double[,] d_arr2d_test2_op2 = { { 0, Double.NaN }, { 1, 1 } };
+ double[, ,] d_arr3d_test2_op2 = { { { 0, Double.NaN }, { 1, 1 } } };
+
+ double[] d_arr1d_test3_op1 = { 0, Double.NaN };
+ double[,] d_arr2d_test3_op1 = { { 0, Double.NaN }, { 1, 1 } };
+ double[, ,] d_arr3d_test3_op1 = { { { 0, Double.NaN }, { 1, 1 } } };
+
+ double[] d_arr1d_test3_op2 = { 0, 0, 1 };
+ double[,] d_arr2d_test3_op2 = { { 0, 0 }, { 1, 1 } };
+ double[, ,] d_arr3d_test3_op2 = { { { 0, 0 }, { 1, 1 } } };
+
+ int[,] index = { { 0, 0 }, { 1, 1 } };
+
+ {
+ double d_l_test1_op1 = Double.NaN;
+ double d_l_test1_op2 = Double.NaN;
+ if (!Double.IsNaN(d_l_test1_op1 / d_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 1 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test1_op1 / d_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 2 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test1_op1 / d_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 3 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test1_op1 / cl1.d_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 4 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test1_op1 / vt1.d_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 5 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test1_op1 / d_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 6 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test1_op1 / d_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 7 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test1_op1 / d_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 8 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test1_op1 / d_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 9 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test1_op1 / d_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 10 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test1_op1 / d_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 11 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test1_op1 / cl1.d_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 12 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test1_op1 / vt1.d_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 13 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test1_op1 / d_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 14 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test1_op1 / d_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 15 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test1_op1 / d_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 16 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test1_f("test1_op1") / d_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 17 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test1_f("test1_op1") / d_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 18 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test1_f("test1_op1") / d_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 19 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test1_f("test1_op1") / cl1.d_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 20 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test1_f("test1_op1") / vt1.d_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 21 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test1_f("test1_op1") / d_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 22 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test1_f("test1_op1") / d_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 23 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test1_f("test1_op1") / d_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 24 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test1_op1 / d_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 25 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test1_op1 / d_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 26 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test1_op1 / d_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 27 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test1_op1 / cl1.d_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 28 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test1_op1 / vt1.d_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 29 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test1_op1 / d_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 30 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test1_op1 / d_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 31 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test1_op1 / d_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 32 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test1_op1 / d_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 33 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test1_op1 / d_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 34 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test1_op1 / d_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 35 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test1_op1 / cl1.d_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 36 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test1_op1 / vt1.d_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 37 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test1_op1 / d_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 38 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test1_op1 / d_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 39 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test1_op1 / d_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 40 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test1_op1[1] / d_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 41 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test1_op1[1] / d_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 42 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test1_op1[1] / d_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 43 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test1_op1[1] / cl1.d_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 44 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test1_op1[1] / vt1.d_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 45 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test1_op1[1] / d_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 46 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test1_op1[1] / d_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 47 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test1_op1[1] / d_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 48 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test1_op1[index[0, 1], index[1, 0]] / d_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 49 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test1_op1[index[0, 1], index[1, 0]] / d_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 50 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test1_op1[index[0, 1], index[1, 0]] / d_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 51 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test1_op1[index[0, 1], index[1, 0]] / cl1.d_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 52 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test1_op1[index[0, 1], index[1, 0]] / vt1.d_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 53 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test1_op1[index[0, 1], index[1, 0]] / d_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 54 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test1_op1[index[0, 1], index[1, 0]] / d_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 55 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test1_op1[index[0, 1], index[1, 0]] / d_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 56 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] / d_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 57 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] / d_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 58 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] / d_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 59 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] / cl1.d_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 60 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] / vt1.d_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 61 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] / d_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 62 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] / d_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 63 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] / d_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 64 failed");
+ passed = false;
+ }
+ }
+
+ {
+ double d_l_test2_op1 = 5.12345678F;
+ double d_l_test2_op2 = Double.NaN;
+ if (!Double.IsNaN(d_l_test2_op1 / d_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 1 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test2_op1 / d_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 2 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test2_op1 / d_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 3 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test2_op1 / cl1.d_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 4 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test2_op1 / vt1.d_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 5 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test2_op1 / d_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 6 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test2_op1 / d_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 7 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test2_op1 / d_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 8 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test2_op1 / d_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 9 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test2_op1 / d_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 10 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test2_op1 / d_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 11 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test2_op1 / cl1.d_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 12 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test2_op1 / vt1.d_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 13 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test2_op1 / d_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 14 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test2_op1 / d_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 15 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test2_op1 / d_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 16 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test2_f("test2_op1") / d_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 17 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test2_f("test2_op1") / d_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 18 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test2_f("test2_op1") / d_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 19 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test2_f("test2_op1") / cl1.d_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 20 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test2_f("test2_op1") / vt1.d_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 21 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test2_f("test2_op1") / d_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 22 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test2_f("test2_op1") / d_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 23 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test2_f("test2_op1") / d_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 24 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test2_op1 / d_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 25 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test2_op1 / d_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 26 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test2_op1 / d_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 27 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test2_op1 / cl1.d_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 28 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test2_op1 / vt1.d_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 29 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test2_op1 / d_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 30 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test2_op1 / d_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 31 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test2_op1 / d_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 32 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test2_op1 / d_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 33 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test2_op1 / d_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 34 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test2_op1 / d_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 35 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test2_op1 / cl1.d_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 36 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test2_op1 / vt1.d_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 37 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test2_op1 / d_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 38 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test2_op1 / d_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 39 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test2_op1 / d_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 40 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test2_op1[1] / d_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 41 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test2_op1[1] / d_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 42 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test2_op1[1] / d_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 43 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test2_op1[1] / cl1.d_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 44 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test2_op1[1] / vt1.d_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 45 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test2_op1[1] / d_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 46 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test2_op1[1] / d_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 47 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test2_op1[1] / d_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 48 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test2_op1[index[0, 1], index[1, 0]] / d_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 49 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test2_op1[index[0, 1], index[1, 0]] / d_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 50 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test2_op1[index[0, 1], index[1, 0]] / d_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 51 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test2_op1[index[0, 1], index[1, 0]] / cl1.d_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 52 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test2_op1[index[0, 1], index[1, 0]] / vt1.d_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 53 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test2_op1[index[0, 1], index[1, 0]] / d_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 54 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test2_op1[index[0, 1], index[1, 0]] / d_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 55 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test2_op1[index[0, 1], index[1, 0]] / d_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 56 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] / d_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 57 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] / d_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 58 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] / d_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 59 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] / cl1.d_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 60 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] / vt1.d_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 61 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] / d_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 62 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] / d_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 63 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] / d_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 64 failed");
+ passed = false;
+ }
+ }
+
+ {
+ double d_l_test3_op1 = Double.NaN;
+ double d_l_test3_op2 = 0;
+ if (!Double.IsNaN(d_l_test3_op1 / d_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 1 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test3_op1 / d_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 2 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test3_op1 / d_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 3 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test3_op1 / cl1.d_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 4 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test3_op1 / vt1.d_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 5 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test3_op1 / d_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 6 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test3_op1 / d_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 7 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test3_op1 / d_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 8 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test3_op1 / d_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 9 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test3_op1 / d_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 10 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test3_op1 / d_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 11 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test3_op1 / cl1.d_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 12 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test3_op1 / vt1.d_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 13 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test3_op1 / d_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 14 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test3_op1 / d_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 15 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test3_op1 / d_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 16 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test3_f("test3_op1") / d_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 17 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test3_f("test3_op1") / d_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 18 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test3_f("test3_op1") / d_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 19 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test3_f("test3_op1") / cl1.d_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 20 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test3_f("test3_op1") / vt1.d_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 21 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test3_f("test3_op1") / d_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 22 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test3_f("test3_op1") / d_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 23 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test3_f("test3_op1") / d_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 24 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test3_op1 / d_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 25 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test3_op1 / d_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 26 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test3_op1 / d_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 27 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test3_op1 / cl1.d_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 28 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test3_op1 / vt1.d_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 29 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test3_op1 / d_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 30 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test3_op1 / d_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 31 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test3_op1 / d_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 32 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test3_op1 / d_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 33 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test3_op1 / d_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 34 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test3_op1 / d_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 35 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test3_op1 / cl1.d_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 36 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test3_op1 / vt1.d_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 37 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test3_op1 / d_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 38 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test3_op1 / d_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 39 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test3_op1 / d_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 40 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test3_op1[1] / d_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 41 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test3_op1[1] / d_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 42 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test3_op1[1] / d_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 43 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test3_op1[1] / cl1.d_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 44 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test3_op1[1] / vt1.d_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 45 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test3_op1[1] / d_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 46 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test3_op1[1] / d_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 47 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test3_op1[1] / d_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 48 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test3_op1[index[0, 1], index[1, 0]] / d_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 49 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test3_op1[index[0, 1], index[1, 0]] / d_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 50 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test3_op1[index[0, 1], index[1, 0]] / d_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 51 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test3_op1[index[0, 1], index[1, 0]] / cl1.d_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 52 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test3_op1[index[0, 1], index[1, 0]] / vt1.d_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 53 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test3_op1[index[0, 1], index[1, 0]] / d_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 54 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test3_op1[index[0, 1], index[1, 0]] / d_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 55 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test3_op1[index[0, 1], index[1, 0]] / d_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 56 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] / d_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 57 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] / d_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 58 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] / d_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 59 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] / cl1.d_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 60 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] / vt1.d_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 61 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] / d_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 62 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] / d_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 63 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] / d_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 64 failed");
+ passed = false;
+ }
+ }
+
+
+ if (!passed)
+ {
+ Console.WriteLine("FAILED");
+ return 1;
+ }
+ else
+ {
+ Console.WriteLine("PASSED");
+ return 100;
+ }
+ }
+}
--- /dev/null
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+class r8NaNmul
+{
+
+ //user-defined class that overloads operator *
+ public class numHolder
+ {
+ double d_num;
+ public numHolder(double d_num)
+ {
+ this.d_num = Convert.ToDouble(d_num);
+ }
+
+ public static double operator *(numHolder a, double b)
+ {
+ return a.d_num * b;
+ }
+
+ public static double operator *(numHolder a, numHolder b)
+ {
+ return a.d_num * b.d_num;
+ }
+
+ }
+
+ static double d_s_test1_op1 = Double.NegativeInfinity;
+ static double d_s_test1_op2 = Double.NaN;
+ static double d_s_test2_op1 = Double.NaN;
+ static double d_s_test2_op2 = Double.PositiveInfinity;
+ static double d_s_test3_op1 = Double.NaN;
+ static double d_s_test3_op2 = 0;
+
+ public static double d_test1_f(String s)
+ {
+ if (s == "test1_op1")
+ return Double.NegativeInfinity;
+ else
+ return Double.NaN;
+ }
+
+ public static double d_test2_f(String s)
+ {
+ if (s == "test2_op1")
+ return Double.NaN;
+ else
+ return Double.PositiveInfinity;
+ }
+
+ public static double d_test3_f(String s)
+ {
+ if (s == "test3_op1")
+ return Double.NaN;
+ else
+ return 0;
+ }
+
+ class CL
+ {
+ public double d_cl_test1_op1 = Double.NegativeInfinity;
+ public double d_cl_test1_op2 = Double.NaN;
+ public double d_cl_test2_op1 = Double.NaN;
+ public double d_cl_test2_op2 = Double.PositiveInfinity;
+ public double d_cl_test3_op1 = Double.NaN;
+ public double d_cl_test3_op2 = 0;
+ }
+
+ struct VT
+ {
+ public double d_vt_test1_op1;
+ public double d_vt_test1_op2;
+ public double d_vt_test2_op1;
+ public double d_vt_test2_op2;
+ public double d_vt_test3_op1;
+ public double d_vt_test3_op2;
+ }
+
+ public static int Main()
+ {
+ bool passed = true;
+ //initialize class
+ CL cl1 = new CL();
+ //initialize struct
+ VT vt1;
+ vt1.d_vt_test1_op1 = Double.NegativeInfinity;
+ vt1.d_vt_test1_op2 = Double.NaN;
+ vt1.d_vt_test2_op1 = Double.NaN;
+ vt1.d_vt_test2_op2 = Double.PositiveInfinity;
+ vt1.d_vt_test3_op1 = Double.NaN;
+ vt1.d_vt_test3_op2 = 0;
+
+ double[] d_arr1d_test1_op1 = { 0, Double.NegativeInfinity };
+ double[,] d_arr2d_test1_op1 = { { 0, Double.NegativeInfinity }, { 1, 1 } };
+ double[, ,] d_arr3d_test1_op1 = { { { 0, Double.NegativeInfinity }, { 1, 1 } } };
+
+ double[] d_arr1d_test1_op2 = { Double.NaN, 0, 1 };
+ double[,] d_arr2d_test1_op2 = { { 0, Double.NaN }, { 1, 1 } };
+ double[, ,] d_arr3d_test1_op2 = { { { 0, Double.NaN }, { 1, 1 } } };
+
+ double[] d_arr1d_test2_op1 = { 0, Double.NaN };
+ double[,] d_arr2d_test2_op1 = { { 0, Double.NaN }, { 1, 1 } };
+ double[, ,] d_arr3d_test2_op1 = { { { 0, Double.NaN }, { 1, 1 } } };
+
+ double[] d_arr1d_test2_op2 = { Double.PositiveInfinity, 0, 1 };
+ double[,] d_arr2d_test2_op2 = { { 0, Double.PositiveInfinity }, { 1, 1 } };
+ double[, ,] d_arr3d_test2_op2 = { { { 0, Double.PositiveInfinity }, { 1, 1 } } };
+
+ double[] d_arr1d_test3_op1 = { 0, Double.NaN };
+ double[,] d_arr2d_test3_op1 = { { 0, Double.NaN }, { 1, 1 } };
+ double[, ,] d_arr3d_test3_op1 = { { { 0, Double.NaN }, { 1, 1 } } };
+
+ double[] d_arr1d_test3_op2 = { 0, 0, 1 };
+ double[,] d_arr2d_test3_op2 = { { 0, 0 }, { 1, 1 } };
+ double[, ,] d_arr3d_test3_op2 = { { { 0, 0 }, { 1, 1 } } };
+
+ int[,] index = { { 0, 0 }, { 1, 1 } };
+
+ {
+ double d_l_test1_op1 = Double.NegativeInfinity;
+ double d_l_test1_op2 = Double.NaN;
+ if (!Double.IsNaN(d_l_test1_op1 * d_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 1 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test1_op1 * d_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 2 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test1_op1 * d_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 3 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test1_op1 * cl1.d_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 4 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test1_op1 * vt1.d_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 5 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test1_op1 * d_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 6 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test1_op1 * d_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 7 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test1_op1 * d_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 8 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test1_op1 * d_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 9 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test1_op1 * d_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 10 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test1_op1 * d_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 11 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test1_op1 * cl1.d_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 12 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test1_op1 * vt1.d_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 13 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test1_op1 * d_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 14 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test1_op1 * d_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 15 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test1_op1 * d_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 16 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test1_f("test1_op1") * d_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 17 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test1_f("test1_op1") * d_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 18 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test1_f("test1_op1") * d_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 19 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test1_f("test1_op1") * cl1.d_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 20 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test1_f("test1_op1") * vt1.d_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 21 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test1_f("test1_op1") * d_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 22 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test1_f("test1_op1") * d_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 23 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test1_f("test1_op1") * d_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 24 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test1_op1 * d_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 25 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test1_op1 * d_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 26 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test1_op1 * d_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 27 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test1_op1 * cl1.d_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 28 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test1_op1 * vt1.d_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 29 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test1_op1 * d_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 30 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test1_op1 * d_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 31 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test1_op1 * d_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 32 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test1_op1 * d_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 33 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test1_op1 * d_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 34 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test1_op1 * d_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 35 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test1_op1 * cl1.d_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 36 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test1_op1 * vt1.d_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 37 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test1_op1 * d_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 38 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test1_op1 * d_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 39 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test1_op1 * d_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 40 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test1_op1[1] * d_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 41 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test1_op1[1] * d_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 42 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test1_op1[1] * d_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 43 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test1_op1[1] * cl1.d_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 44 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test1_op1[1] * vt1.d_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 45 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test1_op1[1] * d_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 46 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test1_op1[1] * d_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 47 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test1_op1[1] * d_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 48 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test1_op1[index[0, 1], index[1, 0]] * d_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 49 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test1_op1[index[0, 1], index[1, 0]] * d_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 50 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test1_op1[index[0, 1], index[1, 0]] * d_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 51 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test1_op1[index[0, 1], index[1, 0]] * cl1.d_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 52 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test1_op1[index[0, 1], index[1, 0]] * vt1.d_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 53 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test1_op1[index[0, 1], index[1, 0]] * d_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 54 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test1_op1[index[0, 1], index[1, 0]] * d_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 55 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test1_op1[index[0, 1], index[1, 0]] * d_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 56 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] * d_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 57 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] * d_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 58 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] * d_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 59 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] * cl1.d_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 60 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] * vt1.d_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 61 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] * d_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 62 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] * d_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 63 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] * d_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 64 failed");
+ passed = false;
+ }
+ }
+
+ {
+ double d_l_test2_op1 = Double.NaN;
+ double d_l_test2_op2 = Double.PositiveInfinity;
+ if (!Double.IsNaN(d_l_test2_op1 * d_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 1 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test2_op1 * d_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 2 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test2_op1 * d_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 3 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test2_op1 * cl1.d_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 4 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test2_op1 * vt1.d_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 5 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test2_op1 * d_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 6 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test2_op1 * d_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 7 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test2_op1 * d_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 8 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test2_op1 * d_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 9 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test2_op1 * d_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 10 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test2_op1 * d_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 11 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test2_op1 * cl1.d_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 12 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test2_op1 * vt1.d_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 13 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test2_op1 * d_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 14 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test2_op1 * d_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 15 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test2_op1 * d_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 16 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test2_f("test2_op1") * d_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 17 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test2_f("test2_op1") * d_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 18 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test2_f("test2_op1") * d_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 19 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test2_f("test2_op1") * cl1.d_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 20 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test2_f("test2_op1") * vt1.d_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 21 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test2_f("test2_op1") * d_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 22 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test2_f("test2_op1") * d_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 23 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test2_f("test2_op1") * d_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 24 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test2_op1 * d_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 25 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test2_op1 * d_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 26 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test2_op1 * d_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 27 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test2_op1 * cl1.d_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 28 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test2_op1 * vt1.d_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 29 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test2_op1 * d_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 30 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test2_op1 * d_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 31 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test2_op1 * d_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 32 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test2_op1 * d_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 33 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test2_op1 * d_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 34 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test2_op1 * d_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 35 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test2_op1 * cl1.d_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 36 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test2_op1 * vt1.d_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 37 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test2_op1 * d_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 38 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test2_op1 * d_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 39 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test2_op1 * d_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 40 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test2_op1[1] * d_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 41 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test2_op1[1] * d_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 42 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test2_op1[1] * d_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 43 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test2_op1[1] * cl1.d_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 44 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test2_op1[1] * vt1.d_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 45 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test2_op1[1] * d_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 46 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test2_op1[1] * d_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 47 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test2_op1[1] * d_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 48 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test2_op1[index[0, 1], index[1, 0]] * d_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 49 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test2_op1[index[0, 1], index[1, 0]] * d_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 50 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test2_op1[index[0, 1], index[1, 0]] * d_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 51 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test2_op1[index[0, 1], index[1, 0]] * cl1.d_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 52 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test2_op1[index[0, 1], index[1, 0]] * vt1.d_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 53 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test2_op1[index[0, 1], index[1, 0]] * d_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 54 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test2_op1[index[0, 1], index[1, 0]] * d_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 55 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test2_op1[index[0, 1], index[1, 0]] * d_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 56 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] * d_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 57 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] * d_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 58 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] * d_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 59 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] * cl1.d_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 60 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] * vt1.d_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 61 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] * d_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 62 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] * d_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 63 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] * d_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 64 failed");
+ passed = false;
+ }
+ }
+
+ {
+ double d_l_test3_op1 = Double.NaN;
+ double d_l_test3_op2 = 0;
+ if (!Double.IsNaN(d_l_test3_op1 * d_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 1 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test3_op1 * d_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 2 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test3_op1 * d_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 3 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test3_op1 * cl1.d_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 4 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test3_op1 * vt1.d_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 5 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test3_op1 * d_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 6 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test3_op1 * d_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 7 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test3_op1 * d_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 8 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test3_op1 * d_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 9 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test3_op1 * d_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 10 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test3_op1 * d_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 11 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test3_op1 * cl1.d_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 12 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test3_op1 * vt1.d_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 13 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test3_op1 * d_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 14 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test3_op1 * d_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 15 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test3_op1 * d_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 16 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test3_f("test3_op1") * d_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 17 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test3_f("test3_op1") * d_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 18 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test3_f("test3_op1") * d_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 19 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test3_f("test3_op1") * cl1.d_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 20 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test3_f("test3_op1") * vt1.d_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 21 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test3_f("test3_op1") * d_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 22 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test3_f("test3_op1") * d_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 23 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test3_f("test3_op1") * d_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 24 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test3_op1 * d_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 25 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test3_op1 * d_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 26 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test3_op1 * d_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 27 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test3_op1 * cl1.d_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 28 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test3_op1 * vt1.d_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 29 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test3_op1 * d_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 30 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test3_op1 * d_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 31 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test3_op1 * d_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 32 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test3_op1 * d_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 33 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test3_op1 * d_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 34 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test3_op1 * d_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 35 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test3_op1 * cl1.d_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 36 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test3_op1 * vt1.d_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 37 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test3_op1 * d_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 38 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test3_op1 * d_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 39 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test3_op1 * d_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 40 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test3_op1[1] * d_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 41 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test3_op1[1] * d_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 42 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test3_op1[1] * d_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 43 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test3_op1[1] * cl1.d_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 44 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test3_op1[1] * vt1.d_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 45 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test3_op1[1] * d_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 46 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test3_op1[1] * d_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 47 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test3_op1[1] * d_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 48 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test3_op1[index[0, 1], index[1, 0]] * d_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 49 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test3_op1[index[0, 1], index[1, 0]] * d_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 50 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test3_op1[index[0, 1], index[1, 0]] * d_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 51 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test3_op1[index[0, 1], index[1, 0]] * cl1.d_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 52 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test3_op1[index[0, 1], index[1, 0]] * vt1.d_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 53 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test3_op1[index[0, 1], index[1, 0]] * d_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 54 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test3_op1[index[0, 1], index[1, 0]] * d_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 55 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test3_op1[index[0, 1], index[1, 0]] * d_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 56 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] * d_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 57 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] * d_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 58 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] * d_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 59 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] * cl1.d_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 60 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] * vt1.d_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 61 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] * d_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 62 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] * d_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 63 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] * d_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 64 failed");
+ passed = false;
+ }
+ }
+
+ if (!passed)
+ {
+ Console.WriteLine("FAILED");
+ return 1;
+ }
+ else
+ {
+ Console.WriteLine("PASSED");
+ return 100;
+ }
+ }
+}
--- /dev/null
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+class r8NaNrem
+{
+
+ //user-defined class that overloads operator %
+ public class numHolder
+ {
+ double d_num;
+ public numHolder(double d_num)
+ {
+ this.d_num = Convert.ToDouble(d_num);
+ }
+
+ public static double operator %(numHolder a, double b)
+ {
+ return a.d_num % b;
+ }
+
+ public static double operator %(numHolder a, numHolder b)
+ {
+ return a.d_num % b.d_num;
+ }
+
+ }
+
+ static double d_s_test1_op1 = 0.0F;
+ static double d_s_test1_op2 = Double.NaN;
+ static float d_s_test2_op1 = 0.0F;
+ static float d_s_test2_op2 = 0.0F;
+ static double d_s_test3_op1 = Double.NegativeInfinity;
+ static double d_s_test3_op2 = 2.1234567890987654321;
+
+ public static double d_test1_f(String s)
+ {
+ if (s == "test1_op1")
+ return 0.0F;
+ else
+ return Double.NaN;
+ }
+
+ public static float d_test2_f(String s)
+ {
+ if (s == "test2_op1")
+ return 0.0F;
+ else
+ return 0.0F;
+ }
+
+ public static double d_test3_f(String s)
+ {
+ if (s == "test3_op1")
+ return Double.NegativeInfinity;
+ else
+ return 2.1234567890987654321;
+ }
+
+ class CL
+ {
+ public double d_cl_test1_op1 = 0.0F;
+ public double d_cl_test1_op2 = Double.NaN;
+ public float d_cl_test2_op1 = 0.0F;
+ public float d_cl_test2_op2 = 0.0F;
+ public double d_cl_test3_op1 = Double.NegativeInfinity;
+ public double d_cl_test3_op2 = 2.1234567890987654321;
+ }
+
+ struct VT
+ {
+ public double d_vt_test1_op1;
+ public double d_vt_test1_op2;
+ public float d_vt_test2_op1;
+ public float d_vt_test2_op2;
+ public double d_vt_test3_op1;
+ public double d_vt_test3_op2;
+ }
+
+ public static int Main()
+ {
+ bool passed = true;
+ //initialize class
+ CL cl1 = new CL();
+ //initialize struct
+ VT vt1;
+ vt1.d_vt_test1_op1 = 0.0F;
+ vt1.d_vt_test1_op2 = Double.NaN;
+ vt1.d_vt_test2_op1 = 0.0F;
+ vt1.d_vt_test2_op2 = 0.0F;
+ vt1.d_vt_test3_op1 = Double.NegativeInfinity;
+ vt1.d_vt_test3_op2 = 2.1234567890987654321;
+
+ double[] d_arr1d_test1_op1 = { 0, 0.0F };
+ double[,] d_arr2d_test1_op1 = { { 0, 0.0F }, { 1, 1 } };
+ double[, ,] d_arr3d_test1_op1 = { { { 0, 0.0F }, { 1, 1 } } };
+
+ double[] d_arr1d_test1_op2 = { Double.NaN, 0, 1 };
+ double[,] d_arr2d_test1_op2 = { { 0, Double.NaN }, { 1, 1 } };
+ double[, ,] d_arr3d_test1_op2 = { { { 0, Double.NaN }, { 1, 1 } } };
+
+ float[] d_arr1d_test2_op1 = { 0, 0.0F };
+ float[,] d_arr2d_test2_op1 = { { 0, 0.0F }, { 1, 1 } };
+ float[, ,] d_arr3d_test2_op1 = { { { 0, 0.0F }, { 1, 1 } } };
+
+ float[] d_arr1d_test2_op2 = { 0.0F, 0, 1 };
+ float[,] d_arr2d_test2_op2 = { { 0, 0.0F }, { 1, 1 } };
+ float[, ,] d_arr3d_test2_op2 = { { { 0, 0.0F }, { 1, 1 } } };
+
+ double[] d_arr1d_test3_op1 = { 0, Double.NegativeInfinity };
+ double[,] d_arr2d_test3_op1 = { { 0, Double.NegativeInfinity }, { 1, 1 } };
+ double[, ,] d_arr3d_test3_op1 = { { { 0, Double.NegativeInfinity }, { 1, 1 } } };
+
+ double[] d_arr1d_test3_op2 = { 2.1234567890987654321, 0, 1 };
+ double[,] d_arr2d_test3_op2 = { { 0, 2.1234567890987654321 }, { 1, 1 } };
+ double[, ,] d_arr3d_test3_op2 = { { { 0, 2.1234567890987654321 }, { 1, 1 } } };
+
+ int[,] index = { { 0, 0 }, { 1, 1 } };
+
+ {
+ double d_l_test1_op1 = 0.0F;
+ double d_l_test1_op2 = Double.NaN;
+ if (!Double.IsNaN(d_l_test1_op1 % d_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 1 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test1_op1 % d_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 2 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test1_op1 % d_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 3 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test1_op1 % cl1.d_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 4 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test1_op1 % vt1.d_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 5 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test1_op1 % d_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 6 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test1_op1 % d_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 7 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test1_op1 % d_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 8 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test1_op1 % d_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 9 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test1_op1 % d_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 10 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test1_op1 % d_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 11 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test1_op1 % cl1.d_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 12 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test1_op1 % vt1.d_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 13 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test1_op1 % d_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 14 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test1_op1 % d_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 15 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test1_op1 % d_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 16 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test1_f("test1_op1") % d_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 17 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test1_f("test1_op1") % d_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 18 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test1_f("test1_op1") % d_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 19 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test1_f("test1_op1") % cl1.d_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 20 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test1_f("test1_op1") % vt1.d_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 21 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test1_f("test1_op1") % d_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 22 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test1_f("test1_op1") % d_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 23 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test1_f("test1_op1") % d_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 24 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test1_op1 % d_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 25 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test1_op1 % d_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 26 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test1_op1 % d_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 27 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test1_op1 % cl1.d_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 28 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test1_op1 % vt1.d_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 29 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test1_op1 % d_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 30 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test1_op1 % d_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 31 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test1_op1 % d_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 32 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test1_op1 % d_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 33 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test1_op1 % d_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 34 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test1_op1 % d_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 35 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test1_op1 % cl1.d_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 36 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test1_op1 % vt1.d_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 37 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test1_op1 % d_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 38 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test1_op1 % d_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 39 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test1_op1 % d_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 40 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test1_op1[1] % d_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 41 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test1_op1[1] % d_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 42 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test1_op1[1] % d_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 43 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test1_op1[1] % cl1.d_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 44 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test1_op1[1] % vt1.d_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 45 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test1_op1[1] % d_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 46 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test1_op1[1] % d_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 47 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test1_op1[1] % d_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 48 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test1_op1[index[0, 1], index[1, 0]] % d_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 49 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test1_op1[index[0, 1], index[1, 0]] % d_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 50 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test1_op1[index[0, 1], index[1, 0]] % d_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 51 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test1_op1[index[0, 1], index[1, 0]] % cl1.d_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 52 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test1_op1[index[0, 1], index[1, 0]] % vt1.d_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 53 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test1_op1[index[0, 1], index[1, 0]] % d_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 54 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test1_op1[index[0, 1], index[1, 0]] % d_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 55 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test1_op1[index[0, 1], index[1, 0]] % d_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 56 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] % d_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 57 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] % d_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 58 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] % d_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 59 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] % cl1.d_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 60 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] % vt1.d_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 61 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] % d_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 62 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] % d_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 63 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] % d_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 64 failed");
+ passed = false;
+ }
+ }
+
+ {
+ float d_l_test2_op1 = 0.0F;
+ float d_l_test2_op2 = 0.0F;
+ if (!Double.IsNaN(d_l_test2_op1 % d_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 1 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test2_op1 % d_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 2 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test2_op1 % d_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 3 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test2_op1 % cl1.d_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 4 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test2_op1 % vt1.d_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 5 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test2_op1 % d_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 6 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test2_op1 % d_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 7 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test2_op1 % d_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 8 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test2_op1 % d_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 9 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test2_op1 % d_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 10 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test2_op1 % d_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 11 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test2_op1 % cl1.d_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 12 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test2_op1 % vt1.d_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 13 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test2_op1 % d_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 14 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test2_op1 % d_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 15 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test2_op1 % d_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 16 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test2_f("test2_op1") % d_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 17 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test2_f("test2_op1") % d_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 18 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test2_f("test2_op1") % d_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 19 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test2_f("test2_op1") % cl1.d_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 20 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test2_f("test2_op1") % vt1.d_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 21 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test2_f("test2_op1") % d_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 22 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test2_f("test2_op1") % d_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 23 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test2_f("test2_op1") % d_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 24 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test2_op1 % d_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 25 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test2_op1 % d_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 26 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test2_op1 % d_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 27 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test2_op1 % cl1.d_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 28 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test2_op1 % vt1.d_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 29 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test2_op1 % d_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 30 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test2_op1 % d_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 31 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test2_op1 % d_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 32 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test2_op1 % d_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 33 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test2_op1 % d_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 34 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test2_op1 % d_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 35 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test2_op1 % cl1.d_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 36 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test2_op1 % vt1.d_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 37 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test2_op1 % d_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 38 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test2_op1 % d_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 39 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test2_op1 % d_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 40 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test2_op1[1] % d_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 41 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test2_op1[1] % d_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 42 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test2_op1[1] % d_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 43 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test2_op1[1] % cl1.d_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 44 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test2_op1[1] % vt1.d_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 45 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test2_op1[1] % d_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 46 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test2_op1[1] % d_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 47 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test2_op1[1] % d_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 48 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test2_op1[index[0, 1], index[1, 0]] % d_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 49 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test2_op1[index[0, 1], index[1, 0]] % d_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 50 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test2_op1[index[0, 1], index[1, 0]] % d_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 51 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test2_op1[index[0, 1], index[1, 0]] % cl1.d_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 52 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test2_op1[index[0, 1], index[1, 0]] % vt1.d_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 53 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test2_op1[index[0, 1], index[1, 0]] % d_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 54 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test2_op1[index[0, 1], index[1, 0]] % d_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 55 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test2_op1[index[0, 1], index[1, 0]] % d_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 56 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] % d_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 57 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] % d_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 58 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] % d_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 59 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] % cl1.d_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 60 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] % vt1.d_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 61 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] % d_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 62 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] % d_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 63 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] % d_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 64 failed");
+ passed = false;
+ }
+ }
+
+ {
+ double d_l_test3_op1 = Double.NegativeInfinity;
+ double d_l_test3_op2 = 2.1234567890987654321;
+ if (!Double.IsNaN(d_l_test3_op1 % d_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 1 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test3_op1 % d_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 2 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test3_op1 % d_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 3 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test3_op1 % cl1.d_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 4 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test3_op1 % vt1.d_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 5 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test3_op1 % d_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 6 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test3_op1 % d_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 7 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test3_op1 % d_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 8 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test3_op1 % d_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 9 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test3_op1 % d_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 10 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test3_op1 % d_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 11 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test3_op1 % cl1.d_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 12 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test3_op1 % vt1.d_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 13 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test3_op1 % d_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 14 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test3_op1 % d_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 15 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test3_op1 % d_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 16 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test3_f("test3_op1") % d_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 17 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test3_f("test3_op1") % d_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 18 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test3_f("test3_op1") % d_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 19 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test3_f("test3_op1") % cl1.d_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 20 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test3_f("test3_op1") % vt1.d_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 21 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test3_f("test3_op1") % d_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 22 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test3_f("test3_op1") % d_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 23 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test3_f("test3_op1") % d_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 24 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test3_op1 % d_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 25 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test3_op1 % d_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 26 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test3_op1 % d_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 27 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test3_op1 % cl1.d_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 28 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test3_op1 % vt1.d_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 29 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test3_op1 % d_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 30 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test3_op1 % d_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 31 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test3_op1 % d_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 32 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test3_op1 % d_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 33 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test3_op1 % d_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 34 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test3_op1 % d_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 35 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test3_op1 % cl1.d_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 36 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test3_op1 % vt1.d_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 37 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test3_op1 % d_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 38 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test3_op1 % d_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 39 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test3_op1 % d_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 40 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test3_op1[1] % d_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 41 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test3_op1[1] % d_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 42 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test3_op1[1] % d_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 43 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test3_op1[1] % cl1.d_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 44 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test3_op1[1] % vt1.d_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 45 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test3_op1[1] % d_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 46 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test3_op1[1] % d_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 47 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test3_op1[1] % d_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 48 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test3_op1[index[0, 1], index[1, 0]] % d_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 49 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test3_op1[index[0, 1], index[1, 0]] % d_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 50 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test3_op1[index[0, 1], index[1, 0]] % d_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 51 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test3_op1[index[0, 1], index[1, 0]] % cl1.d_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 52 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test3_op1[index[0, 1], index[1, 0]] % vt1.d_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 53 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test3_op1[index[0, 1], index[1, 0]] % d_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 54 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test3_op1[index[0, 1], index[1, 0]] % d_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 55 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test3_op1[index[0, 1], index[1, 0]] % d_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 56 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] % d_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 57 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] % d_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 58 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] % d_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 59 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] % cl1.d_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 60 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] % vt1.d_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 61 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] % d_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 62 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] % d_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 63 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] % d_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 64 failed");
+ passed = false;
+ }
+ }
+
+ if (!passed)
+ {
+ Console.WriteLine("FAILED");
+ return 1;
+ }
+ else
+ {
+ Console.WriteLine("PASSED");
+ return 100;
+ }
+ }
+}
--- /dev/null
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+class r8NaNsub
+{
+
+ //user-defined class that overloads operator -
+ public class numHolder
+ {
+ double d_num;
+ public numHolder(double d_num)
+ {
+ this.d_num = Convert.ToSingle(d_num);
+ }
+
+ public static double operator -(numHolder a, double b)
+ {
+ return a.d_num - b;
+ }
+
+ public static double operator -(numHolder a, numHolder b)
+ {
+ return a.d_num - b.d_num;
+ }
+
+ }
+
+ static double d_s_test1_op1 = Double.NaN;
+ static double d_s_test1_op2 = 0;
+ static double d_s_test2_op1 = Double.NaN;
+ static double d_s_test2_op2 = Double.NegativeInfinity;
+ static double d_s_test3_op1 = Double.PositiveInfinity;
+ static double d_s_test3_op2 = Double.PositiveInfinity;
+
+ public static double d_test1_f(String s)
+ {
+ if (s == "test1_op1")
+ return Double.NaN;
+ else
+ return 0;
+ }
+
+ public static double d_test2_f(String s)
+ {
+ if (s == "test2_op1")
+ return Double.NaN;
+ else
+ return Double.NegativeInfinity;
+ }
+
+ public static double d_test3_f(String s)
+ {
+ if (s == "test3_op1")
+ return Double.PositiveInfinity;
+ else
+ return Double.PositiveInfinity;
+ }
+
+ class CL
+ {
+ public double d_cl_test1_op1 = Double.NaN;
+ public double d_cl_test1_op2 = 0;
+ public double d_cl_test2_op1 = Double.NaN;
+ public double d_cl_test2_op2 = Double.NegativeInfinity;
+ public double d_cl_test3_op1 = Double.PositiveInfinity;
+ public double d_cl_test3_op2 = Double.PositiveInfinity;
+ }
+
+ struct VT
+ {
+ public double d_vt_test1_op1;
+ public double d_vt_test1_op2;
+ public double d_vt_test2_op1;
+ public double d_vt_test2_op2;
+ public double d_vt_test3_op1;
+ public double d_vt_test3_op2;
+ }
+ public static int Main()
+ {
+ bool passed = true;
+ //initialize class
+ CL cl1 = new CL();
+ //initialize struct
+ VT vt1;
+ vt1.d_vt_test1_op1 = Double.NaN;
+ vt1.d_vt_test1_op2 = 0;
+ vt1.d_vt_test2_op1 = Double.NaN;
+ vt1.d_vt_test2_op2 = Double.NegativeInfinity;
+ vt1.d_vt_test3_op1 = Double.PositiveInfinity;
+ vt1.d_vt_test3_op2 = Double.PositiveInfinity;
+
+ double[] d_arr1d_test1_op1 = { 0, Double.NaN };
+ double[,] d_arr2d_test1_op1 = { { 0, Double.NaN }, { 1, 1 } };
+ double[, ,] d_arr3d_test1_op1 = { { { 0, Double.NaN }, { 1, 1 } } };
+
+ double[] d_arr1d_test1_op2 = { 0, 0, 1 };
+ double[,] d_arr2d_test1_op2 = { { 0, 0 }, { 1, 1 } };
+ double[, ,] d_arr3d_test1_op2 = { { { 0, 0 }, { 1, 1 } } };
+
+ double[] d_arr1d_test2_op1 = { 0, Double.NaN };
+ double[,] d_arr2d_test2_op1 = { { 0, Double.NaN }, { 1, 1 } };
+ double[, ,] d_arr3d_test2_op1 = { { { 0, Double.NaN }, { 1, 1 } } };
+
+ double[] d_arr1d_test2_op2 = { Double.NegativeInfinity, 0, 1 };
+ double[,] d_arr2d_test2_op2 = { { 0, Double.NegativeInfinity }, { 1, 1 } };
+ double[, ,] d_arr3d_test2_op2 = { { { 0, Double.NegativeInfinity }, { 1, 1 } } };
+
+ double[] d_arr1d_test3_op1 = { 0, Double.PositiveInfinity };
+ double[,] d_arr2d_test3_op1 = { { 0, Double.PositiveInfinity }, { 1, 1 } };
+ double[, ,] d_arr3d_test3_op1 = { { { 0, Double.PositiveInfinity }, { 1, 1 } } };
+
+ double[] d_arr1d_test3_op2 = { Double.PositiveInfinity, 0, 1 };
+ double[,] d_arr2d_test3_op2 = { { 0, Double.PositiveInfinity }, { 1, 1 } };
+ double[, ,] d_arr3d_test3_op2 = { { { 0, Double.PositiveInfinity }, { 1, 1 } } };
+
+ int[,] index = { { 0, 0 }, { 1, 1 } };
+
+ {
+ double d_l_test1_op1 = Double.NaN;
+ double d_l_test1_op2 = 0;
+ if (!Double.IsNaN(d_l_test1_op1 - d_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 1 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test1_op1 - d_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 2 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test1_op1 - d_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 3 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test1_op1 - cl1.d_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 4 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test1_op1 - vt1.d_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 5 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test1_op1 - d_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 6 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test1_op1 - d_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 7 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test1_op1 - d_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 8 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test1_op1 - d_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 9 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test1_op1 - d_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 10 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test1_op1 - d_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 11 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test1_op1 - cl1.d_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 12 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test1_op1 - vt1.d_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 13 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test1_op1 - d_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 14 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test1_op1 - d_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 15 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test1_op1 - d_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 16 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test1_f("test1_op1") - d_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 17 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test1_f("test1_op1") - d_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 18 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test1_f("test1_op1") - d_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 19 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test1_f("test1_op1") - cl1.d_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 20 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test1_f("test1_op1") - vt1.d_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 21 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test1_f("test1_op1") - d_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 22 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test1_f("test1_op1") - d_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 23 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test1_f("test1_op1") - d_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 24 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test1_op1 - d_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 25 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test1_op1 - d_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 26 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test1_op1 - d_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 27 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test1_op1 - cl1.d_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 28 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test1_op1 - vt1.d_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 29 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test1_op1 - d_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 30 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test1_op1 - d_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 31 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test1_op1 - d_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 32 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test1_op1 - d_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 33 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test1_op1 - d_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 34 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test1_op1 - d_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 35 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test1_op1 - cl1.d_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 36 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test1_op1 - vt1.d_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 37 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test1_op1 - d_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 38 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test1_op1 - d_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 39 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test1_op1 - d_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 40 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test1_op1[1] - d_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 41 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test1_op1[1] - d_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 42 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test1_op1[1] - d_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 43 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test1_op1[1] - cl1.d_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 44 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test1_op1[1] - vt1.d_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 45 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test1_op1[1] - d_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 46 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test1_op1[1] - d_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 47 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test1_op1[1] - d_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 48 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test1_op1[index[0, 1], index[1, 0]] - d_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 49 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test1_op1[index[0, 1], index[1, 0]] - d_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 50 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test1_op1[index[0, 1], index[1, 0]] - d_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 51 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test1_op1[index[0, 1], index[1, 0]] - cl1.d_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 52 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test1_op1[index[0, 1], index[1, 0]] - vt1.d_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 53 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test1_op1[index[0, 1], index[1, 0]] - d_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 54 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test1_op1[index[0, 1], index[1, 0]] - d_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 55 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test1_op1[index[0, 1], index[1, 0]] - d_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 56 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] - d_l_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 57 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] - d_s_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 58 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] - d_test1_f("test1_op2")))
+ {
+ Console.WriteLine("Test1_testcase 59 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] - cl1.d_cl_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 60 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] - vt1.d_vt_test1_op2))
+ {
+ Console.WriteLine("Test1_testcase 61 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] - d_arr1d_test1_op2[0]))
+ {
+ Console.WriteLine("Test1_testcase 62 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] - d_arr2d_test1_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test1_testcase 63 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test1_op1[index[0, 0], 0, index[1, 1]] - d_arr3d_test1_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test1_testcase 64 failed");
+ passed = false;
+ }
+ }
+
+ {
+ double d_l_test2_op1 = Double.NaN;
+ double d_l_test2_op2 = Double.NegativeInfinity;
+ if (!Double.IsNaN(d_l_test2_op1 - d_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 1 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test2_op1 - d_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 2 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test2_op1 - d_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 3 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test2_op1 - cl1.d_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 4 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test2_op1 - vt1.d_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 5 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test2_op1 - d_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 6 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test2_op1 - d_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 7 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test2_op1 - d_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 8 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test2_op1 - d_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 9 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test2_op1 - d_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 10 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test2_op1 - d_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 11 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test2_op1 - cl1.d_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 12 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test2_op1 - vt1.d_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 13 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test2_op1 - d_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 14 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test2_op1 - d_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 15 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test2_op1 - d_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 16 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test2_f("test2_op1") - d_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 17 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test2_f("test2_op1") - d_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 18 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test2_f("test2_op1") - d_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 19 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test2_f("test2_op1") - cl1.d_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 20 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test2_f("test2_op1") - vt1.d_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 21 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test2_f("test2_op1") - d_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 22 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test2_f("test2_op1") - d_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 23 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test2_f("test2_op1") - d_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 24 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test2_op1 - d_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 25 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test2_op1 - d_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 26 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test2_op1 - d_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 27 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test2_op1 - cl1.d_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 28 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test2_op1 - vt1.d_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 29 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test2_op1 - d_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 30 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test2_op1 - d_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 31 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test2_op1 - d_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 32 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test2_op1 - d_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 33 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test2_op1 - d_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 34 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test2_op1 - d_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 35 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test2_op1 - cl1.d_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 36 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test2_op1 - vt1.d_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 37 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test2_op1 - d_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 38 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test2_op1 - d_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 39 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test2_op1 - d_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 40 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test2_op1[1] - d_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 41 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test2_op1[1] - d_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 42 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test2_op1[1] - d_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 43 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test2_op1[1] - cl1.d_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 44 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test2_op1[1] - vt1.d_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 45 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test2_op1[1] - d_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 46 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test2_op1[1] - d_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 47 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test2_op1[1] - d_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 48 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test2_op1[index[0, 1], index[1, 0]] - d_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 49 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test2_op1[index[0, 1], index[1, 0]] - d_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 50 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test2_op1[index[0, 1], index[1, 0]] - d_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 51 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test2_op1[index[0, 1], index[1, 0]] - cl1.d_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 52 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test2_op1[index[0, 1], index[1, 0]] - vt1.d_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 53 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test2_op1[index[0, 1], index[1, 0]] - d_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 54 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test2_op1[index[0, 1], index[1, 0]] - d_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 55 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test2_op1[index[0, 1], index[1, 0]] - d_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 56 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] - d_l_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 57 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] - d_s_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 58 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] - d_test2_f("test2_op2")))
+ {
+ Console.WriteLine("Test2_testcase 59 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] - cl1.d_cl_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 60 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] - vt1.d_vt_test2_op2))
+ {
+ Console.WriteLine("Test2_testcase 61 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] - d_arr1d_test2_op2[0]))
+ {
+ Console.WriteLine("Test2_testcase 62 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] - d_arr2d_test2_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test2_testcase 63 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test2_op1[index[0, 0], 0, index[1, 1]] - d_arr3d_test2_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test2_testcase 64 failed");
+ passed = false;
+ }
+ }
+
+ {
+ double d_l_test3_op1 = Double.PositiveInfinity;
+ double d_l_test3_op2 = Double.PositiveInfinity;
+ if (!Double.IsNaN(d_l_test3_op1 - d_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 1 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test3_op1 - d_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 2 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test3_op1 - d_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 3 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test3_op1 - cl1.d_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 4 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test3_op1 - vt1.d_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 5 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test3_op1 - d_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 6 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test3_op1 - d_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 7 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_l_test3_op1 - d_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 8 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test3_op1 - d_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 9 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test3_op1 - d_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 10 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test3_op1 - d_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 11 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test3_op1 - cl1.d_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 12 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test3_op1 - vt1.d_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 13 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test3_op1 - d_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 14 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test3_op1 - d_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 15 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_s_test3_op1 - d_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 16 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test3_f("test3_op1") - d_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 17 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test3_f("test3_op1") - d_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 18 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test3_f("test3_op1") - d_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 19 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test3_f("test3_op1") - cl1.d_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 20 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test3_f("test3_op1") - vt1.d_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 21 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test3_f("test3_op1") - d_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 22 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test3_f("test3_op1") - d_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 23 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_test3_f("test3_op1") - d_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 24 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test3_op1 - d_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 25 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test3_op1 - d_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 26 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test3_op1 - d_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 27 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test3_op1 - cl1.d_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 28 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test3_op1 - vt1.d_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 29 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test3_op1 - d_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 30 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test3_op1 - d_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 31 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(cl1.d_cl_test3_op1 - d_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 32 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test3_op1 - d_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 33 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test3_op1 - d_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 34 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test3_op1 - d_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 35 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test3_op1 - cl1.d_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 36 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test3_op1 - vt1.d_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 37 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test3_op1 - d_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 38 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test3_op1 - d_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 39 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(vt1.d_vt_test3_op1 - d_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 40 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test3_op1[1] - d_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 41 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test3_op1[1] - d_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 42 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test3_op1[1] - d_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 43 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test3_op1[1] - cl1.d_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 44 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test3_op1[1] - vt1.d_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 45 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test3_op1[1] - d_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 46 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test3_op1[1] - d_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 47 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr1d_test3_op1[1] - d_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 48 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test3_op1[index[0, 1], index[1, 0]] - d_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 49 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test3_op1[index[0, 1], index[1, 0]] - d_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 50 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test3_op1[index[0, 1], index[1, 0]] - d_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 51 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test3_op1[index[0, 1], index[1, 0]] - cl1.d_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 52 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test3_op1[index[0, 1], index[1, 0]] - vt1.d_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 53 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test3_op1[index[0, 1], index[1, 0]] - d_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 54 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test3_op1[index[0, 1], index[1, 0]] - d_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 55 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr2d_test3_op1[index[0, 1], index[1, 0]] - d_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 56 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] - d_l_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 57 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] - d_s_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 58 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] - d_test3_f("test3_op2")))
+ {
+ Console.WriteLine("Test3_testcase 59 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] - cl1.d_cl_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 60 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] - vt1.d_vt_test3_op2))
+ {
+ Console.WriteLine("Test3_testcase 61 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] - d_arr1d_test3_op2[0]))
+ {
+ Console.WriteLine("Test3_testcase 62 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] - d_arr2d_test3_op2[index[0, 1], index[1, 0]]))
+ {
+ Console.WriteLine("Test3_testcase 63 failed");
+ passed = false;
+ }
+ if (!Double.IsNaN(d_arr3d_test3_op1[index[0, 0], 0, index[1, 1]] - d_arr3d_test3_op2[index[0, 0], 0, index[1, 1]]))
+ {
+ Console.WriteLine("Test3_testcase 64 failed");
+ passed = false;
+ }
+ }
+
+
+ if (!passed)
+ {
+ Console.WriteLine("FAILED");
+ return 1;
+ }
+ else
+ {
+ Console.WriteLine("PASSED");
+ return 100;
+ }
+ }
+}