Class: Float32

Inherits:
JAVA::Value show all
Defined in:
ext/primitive/primitive.c

Constant Summary collapse

NEGATIVE_INFINITY =
__allocate_Float32(-INFINITY)
POSITIVE_INFINITY =
__allocate_Float32(INFINITY)

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from JAVA::Value

const_missing

Class Method Details

.[](o) ⇒ Object



2170
2171
2172
2173
2174
2175
# File 'ext/primitive/primitive.c', line 2170

static VALUE
r_Float32_new(VALUE self, VALUE o)
{
	float value = __accept_float32(o);
	return __allocate_Float32(value);
}

Instance Method Details

#!=(o) ⇒ Object



2288
2289
2290
2291
2292
2293
2294
2295
# File 'ext/primitive/primitive.c', line 2288

static VALUE
r_Float32_ne(VALUE self, VALUE o)
{
	Float32 *p;
	Data_Get_Struct(self, Float32, p);
	float v = __accept_float32(o);
	return p->value != v ? Qtrue : Qfalse;
}

#%(o) ⇒ Object



2324
2325
2326
2327
2328
2329
2330
2331
# File 'ext/primitive/primitive.c', line 2324

static VALUE
r_Float32_mod(VALUE self, VALUE o)
{
	Float32 *p;
	Data_Get_Struct(self, Float32, p);
	float v = __accept_float32(o);
	return __allocate_Float32(__mod_float32(p->value, v));
}

#*(o) ⇒ Object



2308
2309
2310
2311
2312
2313
2314
2315
# File 'ext/primitive/primitive.c', line 2308

static VALUE
r_Float32_mul(VALUE self, VALUE o)
{
	Float32 *p;
	Data_Get_Struct(self, Float32, p);
	float v = __accept_float32(o);
	return __allocate_Float32(p->value * v);
}

#+(o) ⇒ Object



2332
2333
2334
2335
2336
2337
2338
2339
# File 'ext/primitive/primitive.c', line 2332

static VALUE
r_Float32_add(VALUE self, VALUE o)
{
	Float32 *p;
	Data_Get_Struct(self, Float32, p);
	float v = __accept_float32(o);
	return __allocate_Float32(p->value + v);
}

#+@Object



2296
2297
2298
2299
2300
# File 'ext/primitive/primitive.c', line 2296

static VALUE
r_Float32_pos(VALUE self)
{
	return self;
}

#-(o) ⇒ Object



2340
2341
2342
2343
2344
2345
2346
2347
# File 'ext/primitive/primitive.c', line 2340

static VALUE
r_Float32_sub(VALUE self, VALUE o)
{
	Float32 *p;
	Data_Get_Struct(self, Float32, p);
	float v = __accept_float32(o);
	return __allocate_Float32(p->value - v);
}

#-@Object



2301
2302
2303
2304
2305
2306
2307
# File 'ext/primitive/primitive.c', line 2301

static VALUE
r_Float32_neg(VALUE self)
{
	Float32 *p;
	Data_Get_Struct(self, Float32, p);
	return __allocate_Float32(-p->value);
}

#/(o) ⇒ Object



2316
2317
2318
2319
2320
2321
2322
2323
# File 'ext/primitive/primitive.c', line 2316

static VALUE
r_Float32_div(VALUE self, VALUE o)
{
	Float32 *p;
	Data_Get_Struct(self, Float32, p);
	float v = __accept_float32(o);
	return __allocate_Float32(__div_float32(p->value, v));
}

#<(o) ⇒ Object



2360
2361
2362
2363
2364
2365
2366
2367
# File 'ext/primitive/primitive.c', line 2360

static VALUE
r_Float32_lt(VALUE self, VALUE o)
{
	Float32 *p;
	Data_Get_Struct(self, Float32, p);
	float v = __accept_float32(o);
	return p->value < v ? Qtrue : Qfalse;
}

#<=(o) ⇒ Object



2368
2369
2370
2371
2372
2373
2374
2375
# File 'ext/primitive/primitive.c', line 2368

static VALUE
r_Float32_le(VALUE self, VALUE o)
{
	Float32 *p;
	Data_Get_Struct(self, Float32, p);
	float v = __accept_float32(o);
	return p->value <= v ? Qtrue : Qfalse;
}

#<=>(o) ⇒ Object



2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
# File 'ext/primitive/primitive.c', line 2348

static VALUE
r_Float32_cmp(VALUE self, VALUE o)
{
	Float32 *p;
	Data_Get_Struct(self, Float32, p);
	float v = __accept_float32(o);
	if (p->value < v)
		return r_INT32_M1;
	if (p->value > v)
		return r_INT32_1;
	return r_INT32_0;
}

#==(o) ⇒ Object



2280
2281
2282
2283
2284
2285
2286
2287
# File 'ext/primitive/primitive.c', line 2280

static VALUE
r_Float32_eq(VALUE self, VALUE o)
{
	Float32 *p;
	Data_Get_Struct(self, Float32, p);
	float v = __accept_float32(o);
	return p->value == v ? Qtrue : Qfalse;
}

#===(o) ⇒ Object



2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
# File 'ext/primitive/primitive.c', line 2176

static VALUE
r_Float32_equals(VALUE self, VALUE o)
{
	Float32 *p;
	Data_Get_Struct(self, Float32, p);
	if (TYPE(o) == T_DATA) {
		if (RBASIC(o)->klass == r_Float32) {
			Float32 *op;
			Data_Get_Struct(o, Float32, op);
			if (p->value == op->value)
				return Qtrue;
		}
	}
	return Qfalse;
}

#>(o) ⇒ Object



2384
2385
2386
2387
2388
2389
2390
2391
# File 'ext/primitive/primitive.c', line 2384

static VALUE
r_Float32_gt(VALUE self, VALUE o)
{
	Float32 *p;
	Data_Get_Struct(self, Float32, p);
	float v = __accept_float32(o);
	return p->value > v ? Qtrue : Qfalse;
}

#>=(o) ⇒ Object



2376
2377
2378
2379
2380
2381
2382
2383
# File 'ext/primitive/primitive.c', line 2376

static VALUE
r_Float32_ge(VALUE self, VALUE o)
{
	Float32 *p;
	Data_Get_Struct(self, Float32, p);
	float v = __accept_float32(o);
	return p->value >= v ? Qtrue : Qfalse;
}

#as_fObject



2273
2274
2275
2276
2277
2278
2279
# File 'ext/primitive/primitive.c', line 2273

static VALUE
r_Float32_to_f(VALUE self)
{
	Float32 *p;
	Data_Get_Struct(self, Float32, p);
	return __float32_to_f(p->value);
}

#as_rubyObject



2273
2274
2275
2276
2277
2278
2279
# File 'ext/primitive/primitive.c', line 2273

static VALUE
r_Float32_to_f(VALUE self)
{
	Float32 *p;
	Data_Get_Struct(self, Float32, p);
	return __float32_to_f(p->value);
}

#eql?(o) ⇒ Boolean

Returns:

  • (Boolean)


2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
# File 'ext/primitive/primitive.c', line 2176

static VALUE
r_Float32_equals(VALUE self, VALUE o)
{
	Float32 *p;
	Data_Get_Struct(self, Float32, p);
	if (TYPE(o) == T_DATA) {
		if (RBASIC(o)->klass == r_Float32) {
			Float32 *op;
			Data_Get_Struct(o, Float32, op);
			if (p->value == op->value)
				return Qtrue;
		}
	}
	return Qfalse;
}

#equals(o) ⇒ Object



2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
# File 'ext/primitive/primitive.c', line 2176

static VALUE
r_Float32_equals(VALUE self, VALUE o)
{
	Float32 *p;
	Data_Get_Struct(self, Float32, p);
	if (TYPE(o) == T_DATA) {
		if (RBASIC(o)->klass == r_Float32) {
			Float32 *op;
			Data_Get_Struct(o, Float32, op);
			if (p->value == op->value)
				return Qtrue;
		}
	}
	return Qfalse;
}

#hashObject



2205
2206
2207
2208
2209
2210
2211
# File 'ext/primitive/primitive.c', line 2205

static VALUE
r_Float32_hash(VALUE self)
{
	Float32 *p;
	Data_Get_Struct(self, Float32, p);
	return LONG2NUM((long) __hash_float32(p->value));
}

#hashCodeObject



2191
2192
2193
2194
2195
2196
2197
# File 'ext/primitive/primitive.c', line 2191

static VALUE
r_Float32_hashCode(VALUE self)
{
	Float32 *p;
	Data_Get_Struct(self, Float32, p);
	return __allocate_Int32(__hash_float32(p->value));
}

#inspectObject



2212
2213
2214
2215
2216
2217
2218
# File 'ext/primitive/primitive.c', line 2212

static VALUE
r_Float32_to_s(VALUE self)
{
	Float32 *p;
	Data_Get_Struct(self, Float32, p);
	return __float32_to_s(p->value);
}

#to_byteObject



2219
2220
2221
2222
2223
2224
2225
# File 'ext/primitive/primitive.c', line 2219

static VALUE
r_Float32_to_byte(VALUE self)
{
	Float32 *p;
	Data_Get_Struct(self, Float32, p);
	return __allocate_Byte((int8_t) p->value);
}

#to_charObject



2226
2227
2228
2229
2230
2231
2232
# File 'ext/primitive/primitive.c', line 2226

static VALUE
r_Float32_to_char(VALUE self)
{
	Float32 *p;
	Data_Get_Struct(self, Float32, p);
	return __allocate_Char((uint16_t) p->value);
}

#to_fObject



2273
2274
2275
2276
2277
2278
2279
# File 'ext/primitive/primitive.c', line 2273

static VALUE
r_Float32_to_f(VALUE self)
{
	Float32 *p;
	Data_Get_Struct(self, Float32, p);
	return __float32_to_f(p->value);
}

#to_float32Object



2254
2255
2256
2257
2258
# File 'ext/primitive/primitive.c', line 2254

static VALUE
r_Float32_to_float32(VALUE self)
{
	return self;
}

#to_float64Object



2259
2260
2261
2262
2263
2264
2265
# File 'ext/primitive/primitive.c', line 2259

static VALUE
r_Float32_to_float64(VALUE self)
{
	Float32 *p;
	Data_Get_Struct(self, Float32, p);
	return __allocate_Float64((double) p->value);
}

#to_iObject



2266
2267
2268
2269
2270
2271
2272
# File 'ext/primitive/primitive.c', line 2266

static VALUE
r_Float32_to_i(VALUE self)
{
	Float32 *p;
	Data_Get_Struct(self, Float32, p);
	return __float32_to_i(p->value);
}

#to_intObject



2266
2267
2268
2269
2270
2271
2272
# File 'ext/primitive/primitive.c', line 2266

static VALUE
r_Float32_to_i(VALUE self)
{
	Float32 *p;
	Data_Get_Struct(self, Float32, p);
	return __float32_to_i(p->value);
}

#to_int16Object



2233
2234
2235
2236
2237
2238
2239
# File 'ext/primitive/primitive.c', line 2233

static VALUE
r_Float32_to_int16(VALUE self)
{
	Float32 *p;
	Data_Get_Struct(self, Float32, p);
	return __allocate_Int16((int16_t) p->value);
}

#to_int32Object



2240
2241
2242
2243
2244
2245
2246
# File 'ext/primitive/primitive.c', line 2240

static VALUE
r_Float32_to_int32(VALUE self)
{
	Float32 *p;
	Data_Get_Struct(self, Float32, p);
	return __allocate_Int32((int32_t) p->value);
}

#to_int64Object



2247
2248
2249
2250
2251
2252
2253
# File 'ext/primitive/primitive.c', line 2247

static VALUE
r_Float32_to_int64(VALUE self)
{
	Float32 *p;
	Data_Get_Struct(self, Float32, p);
	return __allocate_Int64((int64_t) p->value);
}

#to_sObject



2212
2213
2214
2215
2216
2217
2218
# File 'ext/primitive/primitive.c', line 2212

static VALUE
r_Float32_to_s(VALUE self)
{
	Float32 *p;
	Data_Get_Struct(self, Float32, p);
	return __float32_to_s(p->value);
}

#toStringObject



2198
2199
2200
2201
2202
2203
2204
# File 'ext/primitive/primitive.c', line 2198

static VALUE
r_Float32_toString(VALUE self)
{
	Float32 *p;
	Data_Get_Struct(self, Float32, p);
	return rb_funcall(__float32_to_s(p->value), TO_J_ID, 0);
}