PoshCode Archive  Hex Artifact Content

Artifact 58666b7b50183afce9cfc4a830251b8a165969e7bbe8fb1f0a40f79c5dfc3785:

  • File TheMathFunction.ps1 — part of check-in [ebf442b08f] at 2018-06-10 13:04:55 on branch trunk — You need to download and unpack LoreSoft.MathExpressions.dll into your Documents\WindowsPowerShell\Libraries or tweak this module. (user: Joel Bennett size: 1167)

0000: 23 20 65 6e 63 6f 64 69 6e 67 3a 20 61 73 63 69  # encoding: asci
0010: 69 0d 0a 23 20 61 70 69 3a 20 70 6f 77 65 72 73  i..# api: powers
0020: 68 65 6c 6c 0d 0a 23 20 74 69 74 6c 65 3a 20 54  hell..# title: T
0030: 68 65 4d 61 74 68 46 75 6e 63 74 69 6f 6e 0d 0a  heMathFunction..
0040: 23 20 64 65 73 63 72 69 70 74 69 6f 6e 3a 20 59  # description: Y
0050: 6f 75 20 6e 65 65 64 20 74 6f 20 64 6f 77 6e 6c  ou need to downl
0060: 6f 61 64 20 61 6e 64 20 75 6e 70 61 63 6b 20 4c  oad and unpack L
0070: 6f 72 65 53 6f 66 74 2e 4d 61 74 68 45 78 70 72  oreSoft.MathExpr
0080: 65 73 73 69 6f 6e 73 2e 64 6c 6c 20 69 6e 74 6f  essions.dll into
0090: 20 79 6f 75 72 20 44 6f 63 75 6d 65 6e 74 73 5c   your Documents\
00a0: 57 69 6e 64 6f 77 73 50 6f 77 65 72 53 68 65 6c  WindowsPowerShel
00b0: 6c 5c 4c 69 62 72 61 72 69 65 73 20 6f 72 20 74  l\Libraries or t
00c0: 77 65 61 6b 20 74 68 69 73 20 6d 6f 64 75 6c 65  weak this module
00d0: 2e 0d 0a 23 20 76 65 72 73 69 6f 6e 3a 20 31 2e  ...# version: 1.
00e0: 30 0d 0a 23 20 74 79 70 65 3a 20 66 75 6e 63 74  0..# type: funct
00f0: 69 6f 6e 0d 0a 23 20 61 75 74 68 6f 72 3a 20 4a  ion..# author: J
0100: 6f 65 6c 20 42 65 6e 6e 65 74 74 0d 0a 23 20 6c  oel Bennett..# l
0110: 69 63 65 6e 73 65 3a 20 43 43 30 0d 0a 23 20 66  icense: CC0..# f
0120: 75 6e 63 74 69 6f 6e 3a 20 55 73 65 2d 4d 61 74  unction: Use-Mat
0130: 68 0d 0a 23 20 78 2d 70 6f 73 68 63 6f 64 65 2d  h..# x-poshcode-
0140: 69 64 3a 20 32 30 39 34 0d 0a 23 20 78 2d 61 72  id: 2094..# x-ar
0150: 63 68 69 76 65 64 3a 20 32 30 31 32 2d 30 31 2d  chived: 2012-01-
0160: 30 38 54 32 31 3a 30 32 3a 32 34 0d 0a 23 20 78  08T21:02:24..# x
0170: 2d 70 75 62 6c 69 73 68 65 64 3a 20 32 30 31 32  -published: 2012
0180: 2d 30 38 2d 31 39 54 31 31 3a 30 31 3a 30 30 0d  -08-19T11:01:00.
0190: 0a 23 0d 0a 23 20 45 78 61 6d 70 6c 65 73 3a 0d  .#..# Examples:.
01a0: 0a 23 20 43 3a 5c 50 53 3e 20 6d 61 74 68 20 33  .# C:\PS> math 3
01b0: 20 5e 20 73 71 72 74 20 70 69 0d 0a 23 20 37 2e   ^ sqrt pi..# 7.
01c0: 30 30 39 33 31 32 32 31 37 31 33 37 34 31 0d 0a  00931221713741..
01d0: 23 20 43 3a 5c 50 53 3e 20 6d 61 74 68 20 73 69  # C:\PS> math si
01e0: 6e 20 73 71 72 74 20 33 0d 0a 23 20 30 2e 39 38  n sqrt 3..# 0.98
01f0: 37 30 32 36 36 34 34 39 39 30 33 35 34 0d 0a 23  7026644990354..#
0200: 20 43 3a 5c 50 53 3e 20 6d 61 74 68 20 e2 80 98   C:\PS> math ...
0210: 28 34 32 20 2f 20 39 29 20 2a 20 28 20 63 6f 73  (42 / 9) * ( cos
0220: 28 2e 35 36 29 20 5e 20 33 20 29 20 2b 20 54 61  (.56) ^ 3 ) + Ta
0230: 6e 20 36 30 e2 80 99 0d 0a 23 20 33 2e 31 35 38  n 60.....# 3.158
0240: 32 38 32 30 36 36 39 38 0d 0a 23 20 43 3a 5c 50  28206698..# C:\P
0250: 53 3e 20 20 28 6d 61 74 68 20 28 32 6d 62 29 20  S>  (math (2mb) 
0260: 5e 20 32 29 2f 31 67 62 0d 0a 23 20 34 30 39 36  ^ 2)/1gb..# 4096
0270: 0d 0a 23 0d 0a 41 64 64 2d 54 79 70 65 20 2d 50  ..#..Add-Type -P
0280: 61 74 68 20 28 4a 6f 69 6e 2d 50 61 74 68 20 28  ath (Join-Path (
0290: 53 70 6c 69 74 2d 50 61 74 68 20 24 50 72 6f 66  Split-Path $Prof
02a0: 69 6c 65 29 20 4c 69 62 72 61 72 69 65 73 5c 4c  ile) Libraries\L
02b0: 6f 72 65 53 6f 66 74 2e 4d 61 74 68 45 78 70 72  oreSoft.MathExpr
02c0: 65 73 73 69 6f 6e 73 2e 64 6c 6c 29 0d 0a 23 23  essions.dll)..##
02d0: 20 59 6f 75 20 63 61 6e 20 64 6f 74 2d 73 6f 75   You can dot-sou
02e0: 72 63 65 20 74 68 69 73 20 69 6e 20 31 2e 30 20  rce this in 1.0 
02f0: 61 66 74 65 72 20 75 6e 63 6f 6d 6d 65 6e 74 69  after uncommenti
0300: 6e 67 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67  ng the following
0310: 20 6c 69 6e 65 2c 20 61 6e 64 20 64 65 6c 65 74   line, and delet
0320: 69 6e 67 20 74 68 65 20 66 69 72 73 74 20 61 6e  ing the first an
0330: 64 20 6c 61 73 74 20 6c 69 6e 65 73 2e 0d 0a 23  d last lines...#
0340: 20 5b 52 65 66 6c 65 63 74 69 6f 6e 2e 41 73 73   [Reflection.Ass
0350: 65 6d 62 6c 79 5d 3a 3a 4c 6f 61 64 46 72 6f 6d  embly]::LoadFrom
0360: 28 28 4a 6f 69 6e 2d 50 61 74 68 20 28 53 70 6c  ((Join-Path (Spl
0370: 69 74 2d 50 61 74 68 20 24 50 72 6f 66 69 6c 65  it-Path $Profile
0380: 29 20 4c 69 62 72 61 72 69 65 73 5c 4c 6f 72 65  ) Libraries\Lore
0390: 53 6f 66 74 2e 4d 61 74 68 45 78 70 72 65 73 73  Soft.MathExpress
03a0: 69 6f 6e 73 2e 64 6c 6c 29 29 20 7c 20 4f 75 74  ions.dll)) | Out
03b0: 2d 4e 75 6c 6c 0d 0a 0d 0a 24 4d 61 74 68 45 76  -Null....$MathEv
03c0: 61 6c 75 61 74 6f 72 20 3d 20 4e 65 77 2d 4f 62  aluator = New-Ob
03d0: 6a 65 63 74 20 4c 6f 72 65 53 6f 66 74 2e 4d 61  ject LoreSoft.Ma
03e0: 74 68 45 78 70 72 65 73 73 69 6f 6e 73 2e 4d 61  thExpressions.Ma
03f0: 74 68 45 76 61 6c 75 61 74 6f 72 0d 0a 0d 0a 46  thEvaluator....F
0400: 75 6e 63 74 69 6f 6e 20 55 73 65 2d 4d 61 74 68  unction Use-Math
0410: 20 7b 0d 0a 20 20 20 24 4d 61 74 68 45 76 61 6c   {..   $MathEval
0420: 75 61 74 6f 72 2e 45 76 61 6c 75 61 74 65 28 20  uator.Evaluate( 
0430: 28 24 61 72 67 73 20 2d 6a 6f 69 6e 20 22 20 22  ($args -join " "
0440: 29 20 29 0d 0a 7d 0d 0a 0d 0a 53 65 74 2d 41 6c  ) )..}....Set-Al
0450: 69 61 73 20 4d 61 74 68 20 55 73 65 2d 4d 61 74  ias Math Use-Mat
0460: 68 0d 0a 0d 0a 45 78 70 6f 72 74 2d 4d 6f 64 75  h....Export-Modu
0470: 6c 65 4d 65 6d 62 65 72 20 2d 46 75 6e 63 74 69  leMember -Functi
0480: 6f 6e 20 2a 20 2d 41 6c 69 61 73 20 2a 0d 0a     on * -Alias *..