1 ! Copyright (C) 2009 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: alien.c-types alien.data alien.syntax kernel math
6 IN: core-foundation.numbers
8 TYPEDEF: void* CFNumberRef
10 TYPEDEF: int CFNumberType
11 CONSTANT: kCFNumberSInt8Type 1
12 CONSTANT: kCFNumberSInt16Type 2
13 CONSTANT: kCFNumberSInt32Type 3
14 CONSTANT: kCFNumberSInt64Type 4
15 CONSTANT: kCFNumberFloat32Type 5
16 CONSTANT: kCFNumberFloat64Type 6
17 CONSTANT: kCFNumberCharType 7
18 CONSTANT: kCFNumberShortType 8
19 CONSTANT: kCFNumberIntType 9
20 CONSTANT: kCFNumberLongType 10
21 CONSTANT: kCFNumberLongLongType 11
22 CONSTANT: kCFNumberFloatType 12
23 CONSTANT: kCFNumberDoubleType 13
24 CONSTANT: kCFNumberCFIndexType 14
25 CONSTANT: kCFNumberNSIntegerType 15
26 CONSTANT: kCFNumberCGFloatType 16
27 CONSTANT: kCFNumberMaxType 16
29 FUNCTION: CFNumberRef CFNumberCreate ( CFAllocatorRef allocator, CFNumberType theType, void* valuePtr ) ;
31 GENERIC: <CFNumber> ( number -- alien )
34 [ f kCFNumberLongLongType ] dip longlong <ref> CFNumberCreate ;
37 [ f kCFNumberDoubleType ] dip double <ref> CFNumberCreate ;
40 drop f kCFNumberIntType 1 int <ref> CFNumberCreate ;
43 drop f kCFNumberIntType 0 int <ref> CFNumberCreate ;