bool Feather::isInteger(Type* type) { if ( !type || type->typeId() != Type::typeData ) return false; DataType* dataType = static_cast<DataType*>(type); const string* nativeName = dataType->nativeName(); return nativeName && (*nativeName == "i32" || *nativeName == "u32"); }
bool Feather::isBasicNumericType(Type* type) { if ( !type || !type->hasStorage() ) return false; DataType* dataType = static_cast<DataType*>(type); const string* nativeName = dataType->nativeName(); return nativeName && ( *nativeName == "i1" || *nativeName == "u1" || *nativeName == "i8" || *nativeName == "u8" || *nativeName == "i16" || *nativeName == "u16" || *nativeName == "i32" || *nativeName == "u32" || *nativeName == "i64" || *nativeName == "u64" || *nativeName == "float" || *nativeName == "double" ); }