1cdef public enum Truth: 2 FALSE=0 3 TRUE=1 4 5def enum_boolctx(Truth arg): 6 """ 7 >>> enum_boolctx(FALSE) 8 False 9 >>> enum_boolctx(TRUE) 10 True 11 """ 12 if arg: 13 return True 14 else: 15 return False 16 17cdef extern from *: 18 enum: FALSE_VALUE "(0)" 19 enum: TRUE_VALUE "(1)" 20 21def extern_enum_false(): 22 """ 23 >>> extern_enum_false() 24 """ 25 if FALSE_VALUE: 26 raise ValueError 27 28def extern_enum_true(): 29 """ 30 >>> extern_enum_true() 31 """ 32 if not TRUE_VALUE: 33 raise ValueError 34 35def extern_enum_false_true(): 36 """ 37 >>> extern_enum_false_true() 38 """ 39 if not TRUE_VALUE or FALSE_VALUE: 40 raise ValueError 41