Module: FigurateNumbers::PlaneFigurateNumbers
- Extended by:
- PlaneFigurateNumbers
- Included in:
- FigurateNumbers, PlaneFigurateNumbers
- Defined in:
- lib/figurate_numbers/plane_figurate_numbers.rb
Overview
Module containing methods for generating 2D figurate number sequences.
Instance Method Summary collapse
- #aztec_diamond ⇒ Object
- #centered_decagonal ⇒ Object
- #centered_dodecagonal ⇒ Object (also: #star)
- #centered_hendecagonal ⇒ Object
- #centered_heptadecagonal ⇒ Object
- #centered_heptagonal ⇒ Object
- #centered_hexadecagonal ⇒ Object
- #centered_hexagonal ⇒ Object
- #centered_icosagonal ⇒ Object
- #centered_icosidigonal ⇒ Object
- #centered_icosihenagonal ⇒ Object
- #centered_icosiheptagonal ⇒ Object
- #centered_icosihexagonal ⇒ Object
- #centered_icosinonagonal ⇒ Object
- #centered_icosioctagonal ⇒ Object
- #centered_icosipentagonal ⇒ Object
- #centered_icositetragonal ⇒ Object
- #centered_icositrigonal ⇒ Object
- #centered_mgonal(m) ⇒ Object
- #centered_nonadecagonal ⇒ Object
- #centered_nonagonal ⇒ Object
- #centered_octadecagonal ⇒ Object
- #centered_octagonal ⇒ Object
- #centered_pentadecagonal ⇒ Object
- #centered_pentagonal ⇒ Object
- #centered_square ⇒ Object (also: #diamond)
- #centered_tetradecagonal ⇒ Object
- #centered_triacontagonal ⇒ Object
- #centered_triangular ⇒ Object
- #centered_tridecagonal ⇒ Object
- #cross ⇒ Object
- #decagonal ⇒ Object
- #dodecagonal ⇒ Object
- #generalized_centered_pol(m, left_index = 0) ⇒ Object
- #generalized_hexagonal(left_index = 0) ⇒ Object
- #generalized_mgonal(m, left_index = 0) ⇒ Object
- #generalized_pentagonal(left_index = 0) ⇒ Object
- #generalized_pronic(left_index = 0) ⇒ Object
- #gnomic ⇒ Object
- #hendecagonal ⇒ Object
- #heptadecagonal ⇒ Object
- #heptagonal ⇒ Object
- #hexadecagonal ⇒ Object
- #hexagonal ⇒ Object
- #icosagonal ⇒ Object
- #icosidigonal ⇒ Object
- #icosihenagonal ⇒ Object
- #icosiheptagonal ⇒ Object
- #icosihexagonal ⇒ Object
- #icosinonagonal ⇒ Object
- #icosioctagonal ⇒ Object
- #icosipentagonal ⇒ Object
- #icositetragonal ⇒ Object
- #icositrigonal ⇒ Object
- #impolite ⇒ Object
- #nonadecagonal ⇒ Object
- #nonagonal ⇒ Object
- #octadecagonal ⇒ Object
- #octagonal ⇒ Object
- #pentadecagonal ⇒ Object
- #pentagonal ⇒ Object
- #pentagram ⇒ Object
- #polite ⇒ Object
- #polygonal(m) ⇒ Object
- #polygram(m) ⇒ Object (also: #centered_star_polygonal)
- #pronic ⇒ Object (also: #heteromecic, #oblong)
- #square ⇒ Object
- #tetradecagonal ⇒ Object
- #triacontagonal ⇒ Object
- #triangular ⇒ Object
- #tridecagonal ⇒ Object
- #truncated_centered_hexagonal ⇒ Object (also: #truncated_hex)
- #truncated_centered_pentagonal ⇒ Object
- #truncated_centered_pol(m) ⇒ Object (also: #truncated_centered_mgonal)
- #truncated_centered_square ⇒ Object
- #truncated_centered_triangular ⇒ Object
- #truncated_pronic ⇒ Object
- #truncated_square ⇒ Object
- #truncated_triangular ⇒ Object
Instance Method Details
#aztec_diamond ⇒ Object
509 510 511 512 513 514 515 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 509 def aztec_diamond Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (2 * delta) * (delta + 1) end end end |
#centered_decagonal ⇒ Object
296 297 298 299 300 301 302 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 296 def centered_decagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << 5 * delta**2 - 5 * delta + 1 end end end |
#centered_dodecagonal ⇒ Object Also known as: star
312 313 314 315 316 317 318 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 312 def centered_dodecagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << 6 * delta**2 - 6 * delta + 1 end end end |
#centered_hendecagonal ⇒ Object
304 305 306 307 308 309 310 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 304 def centered_hendecagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (11 * delta**2 - 11 * delta + 2) / 2 end end end |
#centered_heptadecagonal ⇒ Object
354 355 356 357 358 359 360 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 354 def centered_heptadecagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (17 * delta**2 - 17 * delta + 2) / 2 end end end |
#centered_heptagonal ⇒ Object
272 273 274 275 276 277 278 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 272 def centered_heptagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (7 * delta**2 - 7 * delta + 2) / 2 end end end |
#centered_hexadecagonal ⇒ Object
346 347 348 349 350 351 352 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 346 def centered_hexadecagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << 8 * delta**2 - 8 * delta + 1 end end end |
#centered_hexagonal ⇒ Object
264 265 266 267 268 269 270 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 264 def centered_hexagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << 3 * delta**2 - 3 * delta + 1 end end end |
#centered_icosagonal ⇒ Object
378 379 380 381 382 383 384 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 378 def centered_icosagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << 10 * delta**2 - 10 * delta + 1 end end end |
#centered_icosidigonal ⇒ Object
394 395 396 397 398 399 400 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 394 def centered_icosidigonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << 11 * delta**2 - 11 * delta + 1 end end end |
#centered_icosihenagonal ⇒ Object
386 387 388 389 390 391 392 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 386 def centered_icosihenagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (21 * delta**2 - 21 * delta + 2) / 2 end end end |
#centered_icosiheptagonal ⇒ Object
434 435 436 437 438 439 440 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 434 def centered_icosiheptagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (27 * delta**2 - 27 * delta + 2) / 2 end end end |
#centered_icosihexagonal ⇒ Object
426 427 428 429 430 431 432 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 426 def centered_icosihexagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (13 * delta**2 - 13 * delta + 1) end end end |
#centered_icosinonagonal ⇒ Object
450 451 452 453 454 455 456 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 450 def centered_icosinonagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (29 * delta**2 - 29 * delta + 2) / 2 end end end |
#centered_icosioctagonal ⇒ Object
442 443 444 445 446 447 448 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 442 def centered_icosioctagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (14 * delta**2 - 14 * delta + 1) end end end |
#centered_icosipentagonal ⇒ Object
418 419 420 421 422 423 424 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 418 def centered_icosipentagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (25 * delta**2 - 25 * delta + 2) / 2 end end end |
#centered_icositetragonal ⇒ Object
410 411 412 413 414 415 416 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 410 def centered_icositetragonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << 12 * delta**2 - 12 * delta + 1 end end end |
#centered_icositrigonal ⇒ Object
402 403 404 405 406 407 408 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 402 def centered_icositrigonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (23 * delta**2 - 23 * delta + 2) / 2 end end end |
#centered_mgonal(m) ⇒ Object
466 467 468 469 470 471 472 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 466 def centered_mgonal(m) Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (m * delta**2 - m * delta + 2) / 2 end end end |
#centered_nonadecagonal ⇒ Object
370 371 372 373 374 375 376 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 370 def centered_nonadecagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (19 * delta**2 - 19 * delta + 2) / 2 end end end |
#centered_nonagonal ⇒ Object
288 289 290 291 292 293 294 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 288 def centered_nonagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (9 * delta**2 - 9 * delta + 2) / 2 end end end |
#centered_octadecagonal ⇒ Object
362 363 364 365 366 367 368 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 362 def centered_octadecagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << 9 * delta**2 - 9 * delta + 1 end end end |
#centered_octagonal ⇒ Object
280 281 282 283 284 285 286 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 280 def centered_octagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << 4 * delta**2 - 4 * delta + 1 end end end |
#centered_pentadecagonal ⇒ Object
338 339 340 341 342 343 344 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 338 def centered_pentadecagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (15 * delta**2 - 15 * delta + 2) / 2 end end end |
#centered_pentagonal ⇒ Object
256 257 258 259 260 261 262 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 256 def centered_pentagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (5 * delta**2 - 5 * delta + 2) / 2 end end end |
#centered_square ⇒ Object Also known as: diamond
246 247 248 249 250 251 252 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 246 def centered_square Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << 2 * delta**2 - 2 * delta + 1 end end end |
#centered_tetradecagonal ⇒ Object
330 331 332 333 334 335 336 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 330 def centered_tetradecagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << 7 * delta**2 - 7 * delta + 1 end end end |
#centered_triacontagonal ⇒ Object
458 459 460 461 462 463 464 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 458 def centered_triacontagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (15 * delta**2 - 15 * delta + 1) end end end |
#centered_triangular ⇒ Object
238 239 240 241 242 243 244 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 238 def centered_triangular Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (3 * delta**2 - 3 * delta + 2) / 2 end end end |
#centered_tridecagonal ⇒ Object
322 323 324 325 326 327 328 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 322 def centered_tridecagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (13 * delta**2 - 13 * delta + 2) / 2 end end end |
#cross ⇒ Object
501 502 503 504 505 506 507 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 501 def cross Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << 4 * delta - 3 end end end |
#decagonal ⇒ Object
70 71 72 73 74 75 76 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 70 def decagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (8 * delta**2 - 6 * delta) / 2 end end end |
#dodecagonal ⇒ Object
86 87 88 89 90 91 92 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 86 def dodecagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (10 * delta**2 - 8 * delta) / 2 end end end |
#generalized_centered_pol(m, left_index = 0) ⇒ Object
637 638 639 640 641 642 643 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 637 def generalized_centered_pol(m, left_index = 0) Enumerator.new do |y| ((-1 * left_index)..Float::INFINITY).each do |delta| y << (m * delta**2 - m * delta + 2) / 2 end end end |
#generalized_hexagonal(left_index = 0) ⇒ Object
628 629 630 631 632 633 634 635 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 628 def generalized_hexagonal(left_index = 0) m = 6 Enumerator.new do |y| ((-1 * left_index.abs)..Float::INFINITY).each do |delta| y << (delta * ((m - 2) * delta - m + 4)) / 2 end end end |
#generalized_mgonal(m, left_index = 0) ⇒ Object
611 612 613 614 615 616 617 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 611 def generalized_mgonal(m, left_index = 0) Enumerator.new do |y| ((-1 * left_index.abs)..Float::INFINITY).each do |delta| y << (delta * ((m - 2) * delta - m + 4)) / 2 end end end |
#generalized_pentagonal(left_index = 0) ⇒ Object
619 620 621 622 623 624 625 626 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 619 def generalized_pentagonal(left_index = 0) m = 5 Enumerator.new do |y| ((-1 * left_index.abs)..Float::INFINITY).each do |delta| y << (delta * ((m - 2) * delta - m + 4)) / 2 end end end |
#generalized_pronic(left_index = 0) ⇒ Object
645 646 647 648 649 650 651 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 645 def generalized_pronic(left_index = 0) Enumerator.new do |y| ((-1 * left_index.abs)..Float::INFINITY).each do |delta| y << delta * (delta + 1) end end end |
#gnomic ⇒ Object
535 536 537 538 539 540 541 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 535 def gnomic Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << 2 * delta - 1 end end end |
#hendecagonal ⇒ Object
78 79 80 81 82 83 84 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 78 def hendecagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (9 * delta**2 - 7 * delta) / 2 end end end |
#heptadecagonal ⇒ Object
126 127 128 129 130 131 132 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 126 def heptadecagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (15 * delta**2 - 13 * delta) / 2 end end end |
#heptagonal ⇒ Object
46 47 48 49 50 51 52 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 46 def heptagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (5 * delta**2 - 3 * delta) / 2 end end end |
#hexadecagonal ⇒ Object
118 119 120 121 122 123 124 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 118 def hexadecagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (14 * delta**2 - 12 * delta) / 2 end end end |
#hexagonal ⇒ Object
38 39 40 41 42 43 44 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 38 def hexagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (4 * delta**2 - 2 * delta) / 2 end end end |
#icosagonal ⇒ Object
150 151 152 153 154 155 156 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 150 def icosagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (18 * delta**2 - 16 * delta) / 2 end end end |
#icosidigonal ⇒ Object
166 167 168 169 170 171 172 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 166 def icosidigonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (20 * delta**2 - 18 * delta) / 2 end end end |
#icosihenagonal ⇒ Object
158 159 160 161 162 163 164 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 158 def icosihenagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (19 * delta**2 - 17 * delta) / 2 end end end |
#icosiheptagonal ⇒ Object
206 207 208 209 210 211 212 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 206 def icosiheptagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (25 * delta**2 - 23 * delta) / 2 end end end |
#icosihexagonal ⇒ Object
198 199 200 201 202 203 204 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 198 def icosihexagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (24 * delta**2 - 22 * delta) / 2 end end end |
#icosinonagonal ⇒ Object
222 223 224 225 226 227 228 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 222 def icosinonagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (27 * delta**2 - 25 * delta) / 2 end end end |
#icosioctagonal ⇒ Object
214 215 216 217 218 219 220 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 214 def icosioctagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (26 * delta**2 - 24 * delta) / 2 end end end |
#icosipentagonal ⇒ Object
190 191 192 193 194 195 196 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 190 def icosipentagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (23 * delta**2 - 21 * delta) / 2 end end end |
#icositetragonal ⇒ Object
182 183 184 185 186 187 188 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 182 def icositetragonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (22 * delta**2 - 20 * delta) / 2 end end end |
#icositrigonal ⇒ Object
174 175 176 177 178 179 180 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 174 def icositrigonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (21 * delta**2 - 19 * delta) / 2 end end end |
#impolite ⇒ Object
493 494 495 496 497 498 499 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 493 def impolite Enumerator.new do |y| (0..Float::INFINITY).each do |delta| y << 2**delta end end end |
#nonadecagonal ⇒ Object
142 143 144 145 146 147 148 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 142 def nonadecagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (17 * delta**2 - 15 * delta) / 2 end end end |
#nonagonal ⇒ Object
62 63 64 65 66 67 68 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 62 def nonagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (7 * delta**2 - 5 * delta) / 2 end end end |
#octadecagonal ⇒ Object
134 135 136 137 138 139 140 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 134 def octadecagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (16 * delta**2 - 14 * delta) / 2 end end end |
#octagonal ⇒ Object
54 55 56 57 58 59 60 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 54 def octagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (6 * delta**2 - 4 * delta) / 2 end end end |
#pentadecagonal ⇒ Object
110 111 112 113 114 115 116 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 110 def pentadecagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (13 * delta**2 - 11 * delta) / 2 end end end |
#pentagonal ⇒ Object
30 31 32 33 34 35 36 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 30 def pentagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (3 * delta**2 - delta) / 2 end end end |
#pentagram ⇒ Object
527 528 529 530 531 532 533 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 527 def pentagram Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << 5 * delta**2 - 5 * delta + 1 end end end |
#polite ⇒ Object
485 486 487 488 489 490 491 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 485 def polite Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << delta + Math.log(delta + Math.log(delta, 2), 2).floor end end end |
#polygonal(m) ⇒ Object
6 7 8 9 10 11 12 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 6 def polygonal(m) Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << ((m - 2) * delta**2 - (m - 4) * delta) / 2 end end end |
#polygram(m) ⇒ Object Also known as: centered_star_polygonal
517 518 519 520 521 522 523 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 517 def polygram(m) Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << m * delta**2 - m * delta + 1 end end end |
#pronic ⇒ Object Also known as: heteromecic, oblong
474 475 476 477 478 479 480 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 474 def pronic Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << delta * (delta + 1) end end end |
#square ⇒ Object
22 23 24 25 26 27 28 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 22 def square Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (2 * delta**2) / 2 end end end |
#tetradecagonal ⇒ Object
102 103 104 105 106 107 108 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 102 def tetradecagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (12 * delta**2 - 10 * delta) / 2 end end end |
#triacontagonal ⇒ Object
230 231 232 233 234 235 236 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 230 def triacontagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (28 * delta**2 - 26 * delta) / 2 end end end |
#triangular ⇒ Object
14 15 16 17 18 19 20 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 14 def triangular Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (delta**2 + delta) / 2 end end end |
#tridecagonal ⇒ Object
94 95 96 97 98 99 100 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 94 def tridecagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (11 * delta**2 - 9 * delta) / 2 end end end |
#truncated_centered_hexagonal ⇒ Object Also known as: truncated_hex
601 602 603 604 605 606 607 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 601 def truncated_centered_hexagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << 21 * delta**2 - 33 * delta + 13 end end end |
#truncated_centered_pentagonal ⇒ Object
593 594 595 596 597 598 599 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 593 def truncated_centered_pentagonal Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (35 * delta**2 - 55 * delta) / 2 + 11 end end end |
#truncated_centered_pol(m) ⇒ Object Also known as: truncated_centered_mgonal
567 568 569 570 571 572 573 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 567 def truncated_centered_pol(m) Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << 1 + (m * (7 * delta**2 - 11 * delta + 4)) / 2 end end end |
#truncated_centered_square ⇒ Object
585 586 587 588 589 590 591 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 585 def truncated_centered_square Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << 14 * delta**2 - 22 * delta + 9 end end end |
#truncated_centered_triangular ⇒ Object
577 578 579 580 581 582 583 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 577 def truncated_centered_triangular Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (21 * delta**2 - 33 * delta) / 2 + 7 end end end |
#truncated_pronic ⇒ Object
559 560 561 562 563 564 565 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 559 def truncated_pronic Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (7 * delta**2) - (7 * delta) + 2 end end end |
#truncated_square ⇒ Object
551 552 553 554 555 556 557 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 551 def truncated_square Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (7 * delta**2) - (10 * delta) + 4 end end end |
#truncated_triangular ⇒ Object
543 544 545 546 547 548 549 |
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 543 def truncated_triangular Enumerator.new do |y| (1..Float::INFINITY).each do |delta| y << (3 * delta**2) - (3 * delta) + 1 end end end |