Commit bfb563e120fa743dfaf31a6d476c2795a620d78e
0 parents
Exists in
master
first commit
Showing
8 changed files
with
129 additions
and
0 deletions
Show diff stats
1 | +++ a/.idea/Numerical.iml | ||
@@ -0,0 +1,8 @@ | @@ -0,0 +1,8 @@ | ||
1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
2 | +<module type="PYTHON_MODULE" version="4"> | ||
3 | + <component name="NewModuleRootManager"> | ||
4 | + <content url="file://$MODULE_DIR$" /> | ||
5 | + <orderEntry type="jdk" jdkName="Python 2.7.6 virtualenv at ~/.virtualenvs/env0" jdkType="Python SDK" /> | ||
6 | + <orderEntry type="sourceFolder" forTests="false" /> | ||
7 | + </component> | ||
8 | +</module> | ||
0 | \ No newline at end of file | 9 | \ No newline at end of file |
1 | +++ a/.idea/misc.xml | ||
@@ -0,0 +1,14 @@ | @@ -0,0 +1,14 @@ | ||
1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
2 | +<project version="4"> | ||
3 | + <component name="ProjectLevelVcsManager" settingsEditedManually="false"> | ||
4 | + <OptionsSetting value="true" id="Add" /> | ||
5 | + <OptionsSetting value="true" id="Remove" /> | ||
6 | + <OptionsSetting value="true" id="Checkout" /> | ||
7 | + <OptionsSetting value="true" id="Update" /> | ||
8 | + <OptionsSetting value="true" id="Status" /> | ||
9 | + <OptionsSetting value="true" id="Edit" /> | ||
10 | + <ConfirmationsSetting value="0" id="Add" /> | ||
11 | + <ConfirmationsSetting value="0" id="Remove" /> | ||
12 | + </component> | ||
13 | + <component name="ProjectRootManager" version="2" project-jdk-name="Python 2.7.6 (/usr/bin/python2.7)" project-jdk-type="Python SDK" /> | ||
14 | +</project> | ||
0 | \ No newline at end of file | 15 | \ No newline at end of file |
1 | +++ a/.idea/modules.xml | ||
@@ -0,0 +1,8 @@ | @@ -0,0 +1,8 @@ | ||
1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
2 | +<project version="4"> | ||
3 | + <component name="ProjectModuleManager"> | ||
4 | + <modules> | ||
5 | + <module fileurl="file://$PROJECT_DIR$/.idea/Numerical.iml" filepath="$PROJECT_DIR$/.idea/Numerical.iml" /> | ||
6 | + </modules> | ||
7 | + </component> | ||
8 | +</project> | ||
0 | \ No newline at end of file | 9 | \ No newline at end of file |
1 | +++ a/.idea/workspace.xml | ||
@@ -0,0 +1,43 @@ | @@ -0,0 +1,43 @@ | ||
1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
2 | +<project version="4"> | ||
3 | + <component name="ChangeListManager"> | ||
4 | + <option name="TRACKING_ENABLED" value="true" /> | ||
5 | + <option name="SHOW_DIALOG" value="false" /> | ||
6 | + <option name="HIGHLIGHT_CONFLICTS" value="true" /> | ||
7 | + <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" /> | ||
8 | + <option name="LAST_RESOLUTION" value="IGNORE" /> | ||
9 | + </component> | ||
10 | + <component name="ChangesViewManager" flattened_view="true" show_ignored="false" /> | ||
11 | + <component name="CreatePatchCommitExecutor"> | ||
12 | + <option name="PATCH_PATH" value="" /> | ||
13 | + </component> | ||
14 | + <component name="NamedScopeManager"> | ||
15 | + <order /> | ||
16 | + </component> | ||
17 | + <component name="ProjectLevelVcsManager" settingsEditedManually="false"> | ||
18 | + <OptionsSetting value="true" id="Add" /> | ||
19 | + <OptionsSetting value="true" id="Remove" /> | ||
20 | + <OptionsSetting value="true" id="Checkout" /> | ||
21 | + <OptionsSetting value="true" id="Update" /> | ||
22 | + <OptionsSetting value="true" id="Status" /> | ||
23 | + <OptionsSetting value="true" id="Edit" /> | ||
24 | + <ConfirmationsSetting value="0" id="Add" /> | ||
25 | + <ConfirmationsSetting value="0" id="Remove" /> | ||
26 | + </component> | ||
27 | + <component name="ShelveChangesManager" show_recycled="false" /> | ||
28 | + <component name="TaskManager"> | ||
29 | + <task active="true" id="Default" summary="Default task"> | ||
30 | + <created>1434792298659</created> | ||
31 | + <option name="number" value="Default" /> | ||
32 | + <updated>1434792298659</updated> | ||
33 | + </task> | ||
34 | + <servers /> | ||
35 | + </component> | ||
36 | + <component name="VcsContentAnnotationSettings"> | ||
37 | + <option name="myLimit" value="2678400000" /> | ||
38 | + </component> | ||
39 | + <component name="XDebuggerManager"> | ||
40 | + <breakpoint-manager /> | ||
41 | + <watches-manager /> | ||
42 | + </component> | ||
43 | +</project> | ||
0 | \ No newline at end of file | 44 | \ No newline at end of file |
1 | +++ a/chap1/1_3_infiniteseries.py | ||
@@ -0,0 +1,48 @@ | @@ -0,0 +1,48 @@ | ||
1 | +__author__ = 'chunk' | ||
2 | + | ||
3 | +import struct | ||
4 | + | ||
5 | + | ||
6 | +def float2bits(f, fmt='bin'): | ||
7 | + if fmt == 'hex': | ||
8 | + return hex(struct.unpack('!l', struct.pack('!f', f))[0]) | ||
9 | + return bin(struct.unpack('!l', struct.pack('!f', f))[0]) | ||
10 | + | ||
11 | + | ||
12 | +def double2bits(d, fmt='bin'): | ||
13 | + if fmt == 'hex': | ||
14 | + return hex(struct.unpack('!q', struct.pack('!d', d))[0]) | ||
15 | + return bin(struct.unpack('!q', struct.pack('!d', d))[0]) | ||
16 | + | ||
17 | + | ||
18 | +def float2bin(num): | ||
19 | + # http://stackoverflow.com/questions/16444726/binary-representation-of-float-in-python-bits-not-hex | ||
20 | + bits = [bin(ord(c)).replace('0b', '').rjust(8, '0') for c in struct.pack('!f', num)] | ||
21 | + print bits | ||
22 | + return ''.join(bits) | ||
23 | + | ||
24 | + | ||
25 | +def double2bin(num): | ||
26 | + # http://stackoverflow.com/questions/16444726/binary-representation-of-float-in-python-bits-not-hex | ||
27 | + bits = [bin(ord(c)).replace('0b', '').rjust(8, '0') for c in struct.pack('!d', num)] | ||
28 | + print bits | ||
29 | + return ''.join(bits) | ||
30 | + | ||
31 | + | ||
32 | +def infiniteseries(): | ||
33 | + s = 0 | ||
34 | + tmp = -1 | ||
35 | + i = 0 | ||
36 | + while float(s) != float(tmp): | ||
37 | + i += 1 | ||
38 | + tmp = s | ||
39 | + s += float(1.0 / i) | ||
40 | + print tmp,s | ||
41 | + | ||
42 | + print i, s, tmp | ||
43 | + | ||
44 | + | ||
45 | +if __name__ == '__main__': | ||
46 | + print float2bin(1.0) | ||
47 | + infiniteseries() | ||
48 | + pass |