 
 
 
 
 
 
Different Methods inside one package. More details
- To: mathgroup at smc.vnet.net
- Subject: [mg33707] Different Methods inside one package. More details
- From: "J. Guillermo Sanchez" <guillerm at usal.es>
- Date: Tue, 9 Apr 2002 01:02:43 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
(* Dear friends,
I find that this pattern is mush better that the message that I post a 
few hours ago.
I wish build a package where the user, as one option,  can be choose one 
of three methods of evaluation, i.e: Automatic, LT or EV. Some thing 
like the silly example that follow. It works, I will appreciate any idea 
to enhanced it , i.e.: I need write EV and LT before Begin["`Private`"], 
how can avoid write its? .*)
BeginPackage["test`test1`"]
methodTest1::usage="SystemDSolve1. This is an example"
EV;LT; (*How can avoid write its?*)
Options[methodTest1]={Method\[Rule]Automatic};
Begin["`Private`"]
methodTest1[matrixA_, incond_, opts___]:=
  Module[{a, b, r, Opts},Opts= Method/.{opts}/.Options[methodTest1];
    Which[Opts=== Automatic,(a = matrixA; b = incond; r = a 
/ b),
      Opts=== LT,(a = matrixA; b = incond; r = a + b),
      Opts=== EV,(a = matrixA; b = incond; r = a - b)]]
End[]
Protect[methodTest1];
EndPackage[]
list1 ={{a11, a12 },{a21,a22}}
list2 = {b1, b2}
methodTest1[list1,list2]
methodTest1[list1,list2, Method\[Rule]LT]
methodTest1[list1,list2, Method\[Rule]EV]

