• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ RBOOL函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中RBOOL函数的典型用法代码示例。如果您正苦于以下问题:C++ RBOOL函数的具体用法?C++ RBOOL怎么用?C++ RBOOL使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了RBOOL函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: NDIV

  Time* Time::specific(STATE, Object* self, Integer* sec, Integer* nsec,
                       Object* gmt, Object* offset)
  {
    Time* tm = state->new_object_dirty<Time>(as<Class>(self));

    tm->seconds_ = sec->to_long_long();
    tm->nanoseconds_ = nsec->to_native();

    // Do a little overflow cleanup.
    if(tm->nanoseconds_ >= 1000000000) {
      tm->seconds_ += tm->nanoseconds_ / 1000000000;
      tm->nanoseconds_ %= 1000000000;
    }

    if(tm->nanoseconds_ < 0) {
      tm->seconds_ += NDIV(tm->nanoseconds_, 1000000000);
      tm->nanoseconds_ = NMOD(tm->nanoseconds_, 1000000000);
    }

    tm->decomposed(state, nil<Array>());
    tm->is_gmt(state, RBOOL(CBOOL(gmt)));
    tm->offset(state, offset);
    tm->zone(state, nil<String>());

    return tm;
  }
开发者ID:Locke23rus,项目名称:rubinius,代码行数:26,代码来源:time.cpp


示例2: get_tm

  Array* Time::calculate_decompose(STATE) {
    if(!decomposed_->nil_p()) return decomposed_;

    struct tm64 tm = get_tm();

    /* update Time::TM_FIELDS when changing order of fields */
    Array* ary = Array::create(state, 11);
    ary->set(state, 0, Integer::from(state, tm.tm_sec));
    ary->set(state, 1, Integer::from(state, tm.tm_min));
    ary->set(state, 2, Integer::from(state, tm.tm_hour));
    ary->set(state, 3, Integer::from(state, tm.tm_mday));
    ary->set(state, 4, Integer::from(state, tm.tm_mon + 1));
    ary->set(state, 5, Integer::from(state, tm.tm_year));
    ary->set(state, 6, Integer::from(state, tm.tm_wday));
    ary->set(state, 7, Integer::from(state, tm.tm_yday + 1));
    ary->set(state, 8, RBOOL(tm.tm_isdst));

    if (zone_->nil_p()) {
      if(offset_->nil_p() && tm.tm_zone) {
        zone(state, locale_string(state, tm.tm_zone));
      } else {
        zone(state, nil<String>());
      }
    }
    ary->set(state, 9, zone());

    // Cache it.
    decomposed(state, ary);
    return ary;
  }
开发者ID:Locke23rus,项目名称:rubinius,代码行数:30,代码来源:time.cpp


示例3: rb_range_new

VALUE
rb_range_new(VALUE beg, VALUE end, int exclude_end)
{
    VALUE range = rb_obj_alloc(rb_cRange);

    range_init(range, beg, end, RBOOL(exclude_end));
    return range;
}
开发者ID:DashYang,项目名称:sim,代码行数:8,代码来源:range.c


示例4: passed_blockarg

    inline bool passed_blockarg(STATE, CallFrame* call_frame, intptr_t count) {
      if(!call_frame->arguments) {
        Exception::internal_error(state, "no arguments object");
        return false;
      }

      stack_push(RBOOL(count == (int)call_frame->arguments->total()));
      return true;
    }
开发者ID:chuckremes,项目名称:rubinius,代码行数:9,代码来源:passed_blockarg.hpp


示例5: range_initialize

static VALUE
range_initialize(int argc, VALUE *argv, VALUE range)
{
    VALUE beg, end, flags;

    rb_scan_args(argc, argv, "21", &beg, &end, &flags);
    range_modify(range);
    range_init(range, beg, end, RBOOL(RTEST(flags)));
    return Qnil;
}
开发者ID:DashYang,项目名称:sim,代码行数:10,代码来源:range.c


示例6: equal

    // Rubinius.primitive+ :string_equal
    Object* equal(STATE, String* other) {
      if(encoding() != other->encoding() &&
         Encoding::compatible_p(state, this, other)->nil_p()) return cFalse;
      if(this->num_bytes() != other->num_bytes()) return cFalse;
      int comp = memcmp(
          this->byte_address(),
          other->byte_address(),
          this->num_bytes()->to_native());

      return RBOOL(comp == 0);
    }
开发者ID:JesseChavez,项目名称:rubinius,代码行数:12,代码来源:string.hpp


示例7: breakpoints

  Object* CompiledCode::is_breakpoint(STATE, Fixnum* ip) {
    int i = ip->to_native();
    if(machine_code() == NULL) return cFalse;
    if(!machine_code()->validate_ip(state, i)) return Primitives::failure();
    if(breakpoints()->nil_p()) return cFalse;

    bool found = false;
    breakpoints()->fetch(state, ip, &found);

    return RBOOL(found);
  }
开发者ID:clockmaker002,项目名称:rubinius,代码行数:11,代码来源:compiled_code.cpp


示例8: bool_test

static void bool_test(LTRandomGenerator *r) {
    int bcounts[2];
    bcounts[0] = 0;
    bcounts[1] = 0;
    for (int i = 0; i < SAMPLE_SIZE; i++) {
        bcounts[RBOOL(r) ? 1 : 0]++;
    }
    printf("Bool:\n");
    printf("  false: %d\n", bcounts[0]);
    printf("  true : %d\n", bcounts[1]);
}
开发者ID:JakobssonAndre,项目名称:lotech,代码行数:11,代码来源:randtest.cpp


示例9: switch

// RenderTexture#active=(flag)
// RenderTexture#set_active(flag)
// RenderTexture#setActive(flag)
VALUE rbRenderTexture::SetActive( int argc, VALUE* args, VALUE aSelf )
{
    bool flag = false;
    switch( argc )
    {
    case 1:
        flag = RTEST( args[ 0 ] );
    case 0:
        break;
    default:
        INVALID_ARGUMENT_LIST( argc, "0 or 1" );
    }

    bool result = rbMacros::ToSFML< sf::RenderTexture >( aSelf, rbRenderTexture::Class )->setActive( flag );
    return RBOOL( result );
}
开发者ID:paulas,项目名称:rbSFML,代码行数:19,代码来源:RenderTexture.cpp


示例10: if

Object* CallUnit::kind_of_executor(STATE, CallFrame* call_frame,
                                   CallUnit* unit,
                                   Executable* exec, Module* mod,
                                   Arguments& args)
{
    Object* obj;
    if(unit->which_ == -1) {
        obj = args.recv();
    } else if(unit->which_ < (int)args.total()) {
        obj = args.get_argument(unit->which_);
    } else {
        return cFalse;
    }

    if(Module* mod = try_as<Module>(unit->value())) {
        return RBOOL(obj->kind_of_p(state, mod));
    } else {
        return cFalse;
    }
}
开发者ID:andre-richter,项目名称:rubinius,代码行数:20,代码来源:call_unit.cpp


示例11: rand_bw_image

static void rand_bw_image(LTRandomGenerator *r, int w, int h, const char *name) {
    LTImageBuffer buf(name);
    buf.width = w;
    buf.height = h;
    buf.bb_left = 0;
    buf.bb_top = h - 1;
    buf.bb_right = w - 1;
    buf.bb_bottom = 0;
    buf.bb_pixels = new LTpixel[w * h];
    for (int i = 0; i < w; i++) {
        for (int j = 0; j < h; j++) {
            if (RBOOL(r)) {
                buf.bb_pixels[j * w + i] = 0xFFFFFFFF;
            } else {
                buf.bb_pixels[j * w + i] = 0x000000FF;
            }
        }
    }
    ltWriteImage(name, &buf);
    printf("Generated %s\n", name);
}
开发者ID:JakobssonAndre,项目名称:lotech,代码行数:21,代码来源:randtest.cpp


示例12: RBOOL

 Object* VariableScope::script(STATE) {
   return RBOOL(script_p());
 }
开发者ID:JesseChavez,项目名称:rubinius,代码行数:3,代码来源:variable_scope.cpp


示例13: push_has_block

 inline void push_has_block(CallFrame* call_frame) {
   stack_push(RBOOL(CBOOL(call_frame->scope->block())));
 }
开发者ID:JesseChavez,项目名称:rubinius,代码行数:3,代码来源:push_has_block.hpp


示例14: RBOOL

 Object* IO::fnmatch(STATE, String* pattern, String* path, Fixnum* flags) {
   return RBOOL(mri_fnmatch(pattern->c_str(state), path->c_str(state), flags->to_native()));
 }
开发者ID:JesseChavez,项目名称:rubinius,代码行数:3,代码来源:io.cpp


示例15: call


//.........这里部分代码省略.........
              args.use_array(ary);
            }

            N = args.total();
          }
        }
      }

      const native_int P = mcode->post_args;
      const native_int H = M - P;

      // Too many args (no rest argument!)
      if(!RP && N > T) {
        if(lambda) return false;

        N = T;
      }

      // Too few args!
      if(lambda && N < M) return false;

      Object* kw = 0;
      Object* kw_remainder = 0;
      bool KP = false;
      bool KA = false;

      if(mcode->keywords && N > M) {
        Object* obj = args.get_argument(args.total() - 1);

        OnStack<1> os(state, obj);
        Object* arguments[2];

        arguments[0] = obj;
        arguments[1] = RBOOL(O > 0 || RP);
        Arguments args(G(sym_keyword_object), G(runtime), 2, arguments);
        Dispatch dis(G(sym_keyword_object));

        Object* kw_result = dis.send(state, call_frame, args);

        if(kw_result) {
          if(Array* ary = try_as<Array>(kw_result)) {
            Object* o = 0;

            if(!(o = ary->get(state, 0))->nil_p()) {
              kw_remainder = o;
              KA = true;
            }

            kw = ary->get(state, 1);
            KP = true;
          }
        } else {
          return false;
        }
      }

      // A single kwrest argument
      if(mcode->keywords && !RP && !KP && N >= T) {
        if(lambda) return false;

        N = T - 1;
      }

      const native_int K = (KP && !KA && N > M) ? 1 : 0;
      const native_int N_M_K = N - M - K;
      const native_int E = N_M_K > 0 ? N_M_K : 0;
开发者ID:Locke23rus,项目名称:rubinius,代码行数:67,代码来源:block_environment.cpp


示例16: RBOOL

 Object* Encoding::ascii_compatible_p(STATE) {
   return RBOOL(ascii_compatible());
 }
开发者ID:Azzurrio,项目名称:rubinius,代码行数:3,代码来源:encoding.cpp


示例17: is_symbol

 // Rubinius.primitive+ :symbol_s_eqq
 static Object* is_symbol(STATE, Object* obj) {
   return RBOOL(obj->symbol_p());
 }
开发者ID:JesseChavez,项目名称:rubinius,代码行数:4,代码来源:symbol.hpp


示例18: RBOOL

// RenderTexture#smooth?
// RenderTexture#is_smooth?
// RenderTexture#is_smooth
// RenderTexture#isSmooth
VALUE rbRenderTexture::IsSmooth( VALUE aSelf )
{
    return RBOOL( rbMacros::ToSFML< sf::RenderTexture >( aSelf, rbRenderTexture::Class )->isSmooth() );
}
开发者ID:paulas,项目名称:rbSFML,代码行数:8,代码来源:RenderTexture.cpp


示例19: tzset

  Time* Time::from_array(STATE, Object* self,
                         Fixnum* sec, Fixnum* min, Fixnum* hour,
                         Fixnum* mday, Fixnum* mon, Fixnum* year, Fixnum* nsec,
                         Fixnum* isdst, Object* from_gmt, Object* offset,
                         Fixnum* offset_sec, Fixnum* offset_nsec) {
    struct tm64 tm;

    tm.tm_sec = sec->to_native();
    if(tm.tm_sec < 0 || tm.tm_sec > 60) {
      Exception::argument_error(state, "sec must be in 0..60");
    }

    tm.tm_min = min->to_native();
    if(tm.tm_min < 0 || tm.tm_min > 60) {
      Exception::argument_error(state, "min must be in 0..60");
    }

    tm.tm_hour = hour->to_native();
    if(tm.tm_hour < 0 || tm.tm_hour > 24) {
      Exception::argument_error(state, "hour must be in 0..24");
    }

    tm.tm_mday = mday->to_native();
    if(tm.tm_mday < 1 || tm.tm_mday > 31) {
      Exception::argument_error(state, "mday must be in 1..31");
    }

    tm.tm_mon = mon->to_native() - 1;
    if(tm.tm_mon < 0 || tm.tm_mon > 11) {
      Exception::argument_error(state, "mon must be in 0..11");
    }

    tm.tm_wday = -1;
    tm.tm_gmtoff = 0;
    tm.tm_zone = 0;
    tm.tm_year = year->to_long_long();

    tm.tm_isdst = isdst->to_native();

    time64_t seconds = -1;

    if(CBOOL(from_gmt) || !offset->nil_p()) {
      seconds = ::timegm64(&tm);
    } else {
      tzset();
      seconds = ::timelocal64(&tm);
    }

    Time* obj = state->new_object_dirty<Time>(as<Class>(self));
    obj->seconds_ = seconds;
    obj->nanoseconds_ = nsec->to_native();
    obj->is_gmt(state, RBOOL(CBOOL(from_gmt)));

    if(!offset->nil_p()) {
      obj->seconds_ -= offset_sec->to_long_long();
      obj->nanoseconds_ -= offset_nsec->to_native();

      // Deal with underflow wrapping
      if(obj->nanoseconds_ < 0) {
        obj->seconds_ += NDIV(obj->nanoseconds_, 1000000000);
        obj->nanoseconds_ = NMOD(obj->nanoseconds_, 1000000000);
      }

      obj->offset(state, offset);
    } else {
      obj->offset(state, nil<Fixnum>());
    }

    obj->decomposed(state, nil<Array>());
    obj->zone(state, nil<String>());

    return obj;
  }
开发者ID:Locke23rus,项目名称:rubinius,代码行数:73,代码来源:time.cpp


示例20: RBOOL

 Object* Regexp::fixed_encoding_p(STATE) {
   return RBOOL(fixed_encoding_);
 }
开发者ID:DanielVartanov,项目名称:rubinius,代码行数:3,代码来源:regexp.cpp



注:本文中的RBOOL函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ RB_BeginSurface函数代码示例发布时间:2022-05-30
下一篇:
C++ RBGTK_INITIALIZE函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap