sciform 0.1.0__py3-none-any.whl → 0.2.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
sciform/__init__.py CHANGED
@@ -1,4 +1,4 @@
1
- __version__ = "0.1.0"
1
+ __version__ = "0.2.0"
2
2
 
3
3
  from sciform.sfloat import sfloat
4
4
 
sciform/sfloat.py CHANGED
@@ -6,15 +6,68 @@ class sfloat(float):
6
6
  format_spec_data = parse_format_spec(format_spec)
7
7
  return format_float(self, format_spec_data)
8
8
 
9
+ @classmethod
10
+ def to_sfloat(cls, num: float) -> 'sfloat':
11
+ return cls(num)
9
12
 
10
- def main():
11
- num = sfloat(20750042)
12
- fmt = '__r'
13
- print(f'{num=}')
14
- print(f'{fmt=}')
15
- num_fmted = f'{num:{fmt}}'
16
- print(num_fmted)
13
+ def __abs__(self) -> 'sfloat':
14
+ return self.to_sfloat(super().__abs__())
17
15
 
16
+ def __add__(self, x: float) -> 'sfloat':
17
+ return self.to_sfloat(super().__add__(x))
18
18
 
19
- if __name__ == "__main__":
20
- main()
19
+ def __divmod__(self, x: float) -> tuple['sfloat', 'sfloat']:
20
+ div, mod = super().__divmod__(x)
21
+ return self.to_sfloat(div), self.to_sfloat(mod)
22
+
23
+ def __float__(self) -> 'sfloat':
24
+ return self.to_sfloat(super().__float__())
25
+
26
+ def __floordiv__(self, x: float) -> 'sfloat':
27
+ return self.to_sfloat(super().__floordiv__(x))
28
+
29
+ def __mod__(self, x: float) -> 'sfloat':
30
+ return self.to_sfloat(super().__mod__(x))
31
+
32
+ def __mul__(self, x: float) -> 'sfloat':
33
+ return self.to_sfloat(super().__mul__(x))
34
+
35
+ def __neg__(self) -> 'sfloat':
36
+ return self.to_sfloat(super().__neg__())
37
+
38
+ def __pos__(self) -> 'sfloat':
39
+ return self.to_sfloat(super().__pos__())
40
+
41
+ def __pow__(self, x: float, mod: None = ...) -> 'sfloat':
42
+ return self.to_sfloat(super().__pow__(x, mod))
43
+
44
+ def __radd__(self, x: float) -> 'sfloat':
45
+ return self.to_sfloat(super().__radd__(x))
46
+
47
+ def __rdivmod__(self, x: float) -> tuple['sfloat', 'sfloat']:
48
+ div, mod = super().__rdivmod__(x)
49
+ return self.to_sfloat(div), self.to_sfloat(mod)
50
+
51
+ def __rfloordiv__(self, x: float) -> 'sfloat':
52
+ return self.to_sfloat(super().__rfloordiv__(x))
53
+
54
+ def __rmod__(self, x: float) -> 'sfloat':
55
+ return self.to_sfloat(super().__rmod__(x))
56
+
57
+ def __rmul__(self, x: float) -> 'sfloat':
58
+ return self.to_sfloat(super().__rmul__(x))
59
+
60
+ def __rpow__(self, x: float, mod: None = ...) -> 'sfloat':
61
+ return self.to_sfloat(super().__rpow__(x, mod))
62
+
63
+ def __rsub__(self, x: float) -> 'sfloat':
64
+ return self.to_sfloat(super().__rsub__(x))
65
+
66
+ def __rtruediv__(self, x: float) -> 'sfloat':
67
+ return self.to_sfloat(super().__rtruediv__(x))
68
+
69
+ def __sub__(self, x: float) -> 'sfloat':
70
+ return self.to_sfloat(super().__sub__(x))
71
+
72
+ def __truediv__(self, x: float) -> 'sfloat':
73
+ return self.to_sfloat(super().__truediv__(x))
sciform/unc_format.py CHANGED
@@ -99,6 +99,3 @@ def format_val_unc(val: float, unc: float, fmt: str):
99
99
  result_str = val_unc_exp_str
100
100
 
101
101
  return result_str
102
-
103
-
104
- print(format_val_unc(100, 0.002, '#!3r'))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sciform
3
- Version: 0.1.0
3
+ Version: 0.2.0
4
4
  Summary: A package for formatting floats into scientific formatted strings.
5
5
  Author-email: Justin Gerber <justin.gerber48@gmail.com>
6
6
  Classifier: License :: OSI Approved :: MIT License
@@ -0,0 +1,13 @@
1
+ sciform/__init__.py,sha256=nmku3OkybhPH9E9p_YHjpCAU7y2lEoWqVanZd3zrF5o,84
2
+ sciform/format.py,sha256=5Pi7I3plUgT1OJ9Tgp86y9NAQ-9MpTyBeGsceMCxgXg,6268
3
+ sciform/format_utils.py,sha256=U8OAuMAydvB_rZKExlxZL7h5Vf-vTEgfFU29soWBgZk,6178
4
+ sciform/grouping.py,sha256=Uii77F7oX8A-0_6ZUKHebut--ZdMTYANOaCmNbKmbiI,2185
5
+ sciform/modes.py,sha256=gbEJwIPLG4BPYpoBHPxQQkVJW2Sr16e_jwy1d0F3FSM,2388
6
+ sciform/prefix.py,sha256=WNRJZYv1-5jgaXQy6lN3hTwzJAZ0sILr8o7kWsddy5s,1772
7
+ sciform/sfloat.py,sha256=iJe9OdWPS5GeANrAnzPIaQ1b-Vj-aZtw_FjnadXEqVo,2509
8
+ sciform/unc_format.py,sha256=ardCGfHIEKAGlV8VWUvrPe0FgOCWAwlRX0gXhAgmBq8,3535
9
+ sciform-0.2.0.dist-info/LICENSE,sha256=nqFBB26VXKwQkYLD66PhhxDA-rBvh3eoBBv2pVSG-o8,1074
10
+ sciform-0.2.0.dist-info/METADATA,sha256=nzOnZzXpTjulcOhmIalSl1-v7CiEdHzJQtEILNwkmyI,314
11
+ sciform-0.2.0.dist-info/WHEEL,sha256=pkctZYzUS4AYVn6dJ-7367OJZivF2e8RA9b_ZBjif18,92
12
+ sciform-0.2.0.dist-info/top_level.txt,sha256=mC01YOQ-1u5pDk9BJia-pQKLUMvkreMsldDpFcp7NV8,8
13
+ sciform-0.2.0.dist-info/RECORD,,
@@ -1,13 +0,0 @@
1
- sciform/__init__.py,sha256=BrzPv1rLL1WADHnB-iIpewQ-gz1fFDjm8-7lqWxP-c0,84
2
- sciform/format.py,sha256=5Pi7I3plUgT1OJ9Tgp86y9NAQ-9MpTyBeGsceMCxgXg,6268
3
- sciform/format_utils.py,sha256=U8OAuMAydvB_rZKExlxZL7h5Vf-vTEgfFU29soWBgZk,6178
4
- sciform/grouping.py,sha256=Uii77F7oX8A-0_6ZUKHebut--ZdMTYANOaCmNbKmbiI,2185
5
- sciform/modes.py,sha256=gbEJwIPLG4BPYpoBHPxQQkVJW2Sr16e_jwy1d0F3FSM,2388
6
- sciform/prefix.py,sha256=WNRJZYv1-5jgaXQy6lN3hTwzJAZ0sILr8o7kWsddy5s,1772
7
- sciform/sfloat.py,sha256=ySxJaj_ozmBOWqoAR39rzu0AMe6F0yJyviXIGOYjcV8,447
8
- sciform/unc_format.py,sha256=hMy4w2KFss_Ia5nTCG8IGveKM26oaUQTIII0Bt4bixk,3582
9
- sciform-0.1.0.dist-info/LICENSE,sha256=nqFBB26VXKwQkYLD66PhhxDA-rBvh3eoBBv2pVSG-o8,1074
10
- sciform-0.1.0.dist-info/METADATA,sha256=uguNT9SYH1kvtg1byG-ZkgJlrRfqgi0q4bG9wS26b4o,314
11
- sciform-0.1.0.dist-info/WHEEL,sha256=pkctZYzUS4AYVn6dJ-7367OJZivF2e8RA9b_ZBjif18,92
12
- sciform-0.1.0.dist-info/top_level.txt,sha256=mC01YOQ-1u5pDk9BJia-pQKLUMvkreMsldDpFcp7NV8,8
13
- sciform-0.1.0.dist-info/RECORD,,