Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4)

Side by Side Diff: third_party/yasm/patched-yasm/tools/python-yasm/floatnum.pxi

Issue 6170009: Update our yasm copy to yasm 1.1.0 (Part 1: yasm side)... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/
Patch Set: Created 9 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 # Python bindings for Yasm: Pyrex input file for floatnum.h 1 # Python bindings for Yasm: Pyrex input file for floatnum.h
2 # 2 #
3 # Copyright (C) 2006 Michael Urman, Peter Johnson 3 # Copyright (C) 2006 Michael Urman, Peter Johnson
4 # 4 #
5 # Redistribution and use in source and binary forms, with or without 5 # Redistribution and use in source and binary forms, with or without
6 # modification, are permitted provided that the following conditions 6 # modification, are permitted provided that the following conditions
7 # are met: 7 # are met:
8 # 1. Redistributions of source code must retain the above copyright 8 # 1. Redistributions of source code must retain the above copyright
9 # notice, this list of conditions and the following disclaimer. 9 # notice, this list of conditions and the following disclaimer.
10 # 2. Redistributions in binary form must reproduce the above copyright 10 # 2. Redistributions in binary form must reproduce the above copyright
11 # notice, this list of conditions and the following disclaimer in the 11 # notice, this list of conditions and the following disclaimer in the
12 # documentation and/or other materials provided with the distribution. 12 # documentation and/or other materials provided with the distribution.
13 # 13 #
14 # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND OTHER CONTRIBUTORS ``AS IS'' 14 # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND OTHER CONTRIBUTORS ``AS IS''
15 # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15 # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 16 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17 # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR OTHER CONTRIBUTORS BE 17 # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR OTHER CONTRIBUTORS BE
18 # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 18 # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
19 # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 19 # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
20 # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 20 # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
21 # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 21 # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
22 # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 22 # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
23 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 23 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
24 # POSSIBILITY OF SUCH DAMAGE. 24 # POSSIBILITY OF SUCH DAMAGE.
25 25
26 cdef class FloatNum: 26 cdef class FloatNum:
27 cdef yasm_floatnum *flt 27 cdef yasm_floatnum *flt
28 def __new__(self, value): 28 def __cinit__(self, value):
29 self.flt = NULL 29 self.flt = NULL
30 if isinstance(value, FloatNum): 30 if isinstance(value, FloatNum):
31 self.flt = yasm_floatnum_copy((<FloatNum>value).flt) 31 self.flt = yasm_floatnum_copy((<FloatNum>value).flt)
32 return 32 return
33 if PyCObject_Check(value): # should check Desc 33 if PyCObject_Check(value): # should check Desc
34 self.flt = <yasm_floatnum *>PyCObject_AsVoidPtr(value) 34 self.flt = <yasm_floatnum *>PyCObject_AsVoidPtr(value)
35 return 35 return
36 36
37 if isinstance(value, float): string = str(float) 37 if isinstance(value, float): string = str(float)
38 else: string = value 38 else: string = value
39 self.flt = yasm_floatnum_create(string) 39 self.flt = yasm_floatnum_create(string)
40 40
41 def __dealloc__(self): 41 def __dealloc__(self):
42 if self.flt != NULL: yasm_floatnum_destroy(self.flt) 42 if self.flt != NULL: yasm_floatnum_destroy(self.flt)
43 43
44 def __neg__(self): 44 def __neg__(self):
45 result = FloatNum(self) 45 result = FloatNum(self)
46 yasm_floatnum_calc((<FloatNum>result).flt, YASM_EXPR_NEG, NULL) 46 yasm_floatnum_calc((<FloatNum>result).flt, YASM_EXPR_NEG, NULL)
47 return result 47 return result
48 def __pos__(self): return self 48 def __pos__(self): return self
49 49
OLDNEW
« no previous file with comments | « third_party/yasm/patched-yasm/tools/python-yasm/expr.pxi ('k') | third_party/yasm/patched-yasm/tools/python-yasm/intnum.pxi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698