# January 2011 Entries

Overview · a curve is a functional map relationship between two factors (i.e. a function - However, the word function is a reserved word). · You can use the EO API to create common types of functions, find zeroes and calculate derivatives - currently supports constants, lines, quadratic curves, polynomials and Chebyshev approximations. · A function basis is a set of functions that can be combined to form a particular class of functions. The Curve class · the abstract base class from which all other ......

Most COM components are STA 2 ways to change the apartment threading model – must be prior to 1st COM object instantiation: · Declaratively: STAThreadAttribute / MTAThreadAttribute – e.g. on Main method · Programmatically: Thread.CurrentThread.TrySet... (ApartmentState) (Try..) avoids InvalidOperationException CLR creates a COM apartment the 1st time any COM component is used by a managed thread. Once the apartment is initialized, the threading model cannot be changed ......

Func<bool> a = ()=>true; Func<string> b = () => string.Empty; Func<string[], string> c = (words) => words.Aggregate((current, next) => current + " " + next); var dels = new Delegate[] {a,b,c}; var x = dels[0].DynamicInvoke(); var y = dels[1].DynamicInvoke(); var z = dels[2].DynamicInvoke(new[] {new[] { "The", "Cat", "in", "the", "Hat" }}); ......

The EONumLib provides a set of types to represent numbers with arbitrary precision. There are three extended numeric types, to represent signed and unsigned integers, rational numbers, and real numbers: BigInteger, BigRational and BigFloat As you are aware: BigInteger (http://msdn.microsoft.com/... ) and Complex (http://msdn.microsoft.com/... ) structs are included with .NET 4.0 System.Numerics namespace and the BigRational ......

Function Delegates Many calculations involve the repeated evaluation of one or more user-supplied functions eg Numerical integration. The EO MathLib provides delegate types for common function signatures and the FunctionFactory class can generate new delegates from existing ones. RealFunction delegate - takes one Double parameter – can encapsulate most of the static methods of the System.Math class, as well as the classes in the Extreme.Mathematics.Special... namespace: var sin = new RealFunction(Math.Sin); ......

Machine constants The MachineConstants class - contains constants for floating-point arithmetic because the CLS System.Single and Double floating-point types do not follow the standard conventions and are useless. machine constants for the Double type: machine precision: Epsilon , SqrtEpsilon CubeRootEpsilon largest possible value: MaxDouble , SqrtMaxDouble, LogMaxDouble smallest Double-precision floating point number that is greater than zero: MinDouble , SqrtMinDouble , LogMinDouble A similar set ......

While many of my colleagues are fascinated in constructing the ultimate ViewModel or ServiceBus, I feel that this kind of plumbing code is re-invented far too many times – at some point in the near future, it will be out of the box standard infra. How many times have you been to a customer site and built a different variation of the same kind of code frameworks? How many times can you abstract Prism or reliable and discoverable WCF communication? As the bar is raised for whats bundled with the framework ......

NET Mathematical Libraries .NET Builder for Matlab The MathWorks Inc. - http://www.mathworks.com/pr... MATLAB Builder NE generates MATLAB based .NET and COM components royalty-free deployment creates the components by encrypting MATLAB functions and generating either a .NET or COM wrapper around them. .NET/Link for Mathematica www.wolfram.com a product that 2-way integrates Mathematica and Microsoft's .NET platform call .NET from Mathematica - use arbitrary .NET types directly from ......