• R/O
  • SSH
  • HTTPS

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

πの計算を行う。


Commit MetaInfo

Revision7 (tree)
Time2014-09-15 15:59:41
Authorbellyoshi

Log Message

Change Summary

Incremental Difference

--- CALCPI/CalcPI.Test/PiTest.vb (nonexistent)
+++ CALCPI/CalcPI.Test/PiTest.vb (revision 7)
@@ -0,0 +1,88 @@
1+Imports Microsoft.VisualStudio.TestTools.UnitTesting
2+
3+Imports CalcPI
4+
5+
6+
7+'''<summary>
8+'''PiTest のテスト クラスです。すべての
9+'''PiTest 単体テストをここに含めます
10+'''</summary>
11+<TestClass()> _
12+Public Class PiTest
13+
14+
15+ Private testContextInstance As TestContext
16+
17+ '''<summary>
18+ '''現在のテストの実行についての情報および機能を
19+ '''提供するテスト コンテキストを取得または設定します。
20+ '''</summary>
21+ Public Property TestContext() As TestContext
22+ Get
23+ Return testContextInstance
24+ End Get
25+ Set(value As TestContext)
26+ testContextInstance = Value
27+ End Set
28+ End Property
29+
30+#Region "追加のテスト属性"
31+ '
32+ 'テストを作成するときに、次の追加属性を使用することができます:
33+ '
34+ 'クラスの最初のテストを実行する前にコードを実行するには、ClassInitialize を使用
35+ '<ClassInitialize()> _
36+ 'Public Shared Sub MyClassInitialize(ByVal testContext As TestContext)
37+ 'End Sub
38+ '
39+ 'クラスのすべてのテストを実行した後にコードを実行するには、ClassCleanup を使用
40+ '<ClassCleanup()> _
41+ 'Public Shared Sub MyClassCleanup()
42+ 'End Sub
43+ '
44+ '各テストを実行する前にコードを実行するには、TestInitialize を使用
45+ '<TestInitialize()> _
46+ 'Public Sub MyTestInitialize()
47+ 'End Sub
48+ '
49+ '各テストを実行した後にコードを実行するには、TestCleanup を使用
50+ '<TestCleanup()> _
51+ 'Public Sub MyTestCleanup()
52+ 'End Sub
53+ '
54+#End Region
55+
56+
57+ '''<summary>
58+ '''Calc のテスト
59+ '''</summary>
60+ <TestMethod()> _
61+ Public Sub CalcTest()
62+ Dim target As Pi = New Pi()
63+ target.Calc()
64+ Dim pistring As String = target.s.CompString
65+ Assert.IsTrue(pistring.StartsWith("3." +
66+"14159265358979323846264338327950288419716939937510" +
67+"58209749445923078164062862089986280348253421170679" +
68+"82148086513282306647093844609550582231725359408128" +
69+"48111745028410270193852110555964462294895493038196" +
70+"44288109756659334461284756482337867831652712019091" +
71+"45648566923460348610454326648213393607260249141273" +
72+"72458700660631558817488152092096282925409171536436" +
73+"78925903600113305305488204665213841469519415116094" +
74+"33057270365759591953092186117381932611793105118548" +
75+"07446237996274956735188575272489122793818301194912" +
76+"98336733624406566430860213949463952247371907021798" +
77+"60943702770539217176293176752384674818467669405132" +
78+"00056812714526356082778577134275778960917363717872" +
79+"14684409012249534301465495853710507922796892589235" +
80+"42019956112129021960864034418159813629774771309960" +
81+"51870721134999999837297804995105973173281609631859" +
82+"50244594553469083026425223082533446850352619311881" +
83+"71010003137838752886587533208381420617177669147303" +
84+"59825349042875546873115956286388235378759375195778" +
85+"18577805321712268066130019278766111959092164201989"))
86+
87+ End Sub
88+End Class
--- CALCPI/CALCPI/Module1.vb (revision 6)
+++ CALCPI/CALCPI/Module1.vb (revision 7)
@@ -1,16 +1,13 @@
11 Module Module1
22
3- Private a As LongNum
4- Private b As LongNum
5- Private s As LongNum
6- Private q As LongNum
73
4+
85 Sub Main()
6+ Dim pi As New Pi
97
108 Try
11-
12- Calc()
13- Console.WriteLine(s.displayString)
9+ pi.Calc()
10+ Console.WriteLine(pi.s.displayString)
1411 Catch ex As Exception
1512 Console.WriteLine("例外発生")
1613 Console.Write(ex.ToString)
@@ -18,28 +15,8 @@
1815 Console.ReadKey()
1916 End Sub
2017
21- Private Sub Calc()
2218
2319
24- a = New LongNum(16 * 5)
25- b = New LongNum(4 * 239)
26- s = New LongNum(0)
27- q = New LongNum(0)
2820
29- For k As Integer = 1 To LongNum.N
30- a.ldiv(5 * 5)
31- b.ldiv(239 * 239)
32- a.lsub(b, q)
33- q.ldiv(2 * k - 1, q)
34- If k Mod 2 = 0 Then
35- s.lsub(q)
36- Else
37- s.ladd(q)
38- End If
39- Next
40-
41- End Sub
42-
43-
4421
4522 End Module
--- CALCPI/CALCPI/Pi.vb (nonexistent)
+++ CALCPI/CALCPI/Pi.vb (revision 7)
@@ -0,0 +1,30 @@
1+Public Class Pi
2+
3+ Private a As LongNum
4+ Private b As LongNum
5+ Public s As LongNum
6+ Private q As LongNum
7+
8+ Public Sub Calc()
9+
10+
11+ a = New LongNum(16 * 5)
12+ b = New LongNum(4 * 239)
13+ s = New LongNum(0)
14+ q = New LongNum(0)
15+
16+ For k As Integer = 1 To LongNum.N
17+ a.ldiv(5 * 5)
18+ b.ldiv(239 * 239)
19+ a.lsub(b, q)
20+ q.ldiv(2 * k - 1)
21+ If k Mod 2 = 0 Then
22+ s.lsub(q)
23+ Else
24+ s.ladd(q)
25+ End If
26+ Next
27+
28+ End Sub
29+
30+End Class
--- CALCPI/CALCPI/LongNum.vb (revision 6)
+++ CALCPI/CALCPI/LongNum.vb (revision 7)
@@ -41,8 +41,7 @@
4141
4242 Public Function displayString() As String
4343 Dim sb As New System.Text.StringBuilder
44- sb.AppendFormat(" {0}", array(0))
45- sb.Append(".")
44+ sb.AppendFormat(" {0}.", array(0))
4645 For i As Integer = 1 To array.Length - 1
4746 sb.AppendFormat("{0:00000000}", array(i))
4847 sb.Append(" ")
@@ -53,6 +52,15 @@
5352 Return sb.ToString
5453 End Function
5554
55+ Public Function CompString() As String
56+ Dim sb As New System.Text.StringBuilder
57+ sb.AppendFormat("{0}.", array(0))
58+ For i As Integer = 1 To array.Length - 1
59+ sb.AppendFormat("{0:00000000}", array(i))
60+ Next
61+ Return sb.ToString
62+ End Function
63+
5664 Public Sub ladd(opeLongNum As LongNum)
5765 ladd(opeLongNum, Me)
5866 End Sub